/* ==========================================================================
   RÓTULOSUR — TEMA FONDO BLANCO
   Override de styles.css para versión light con fondo blanco y texto gris.
   Cargar DESPUÉS de styles.css.
   ========================================================================== */

/* ------------------------------------------------------------------
   1. VARIABLES DE COLOR — TEMA CLARO
   ------------------------------------------------------------------ */
:root {
    /* Verde corporativo para acentos, hovers y badges */
    --rs-primary: #ADFF2F;
    --rs-primary-soft: rgba(173, 255, 47, 0.15);
    --rs-primary-hover: #96e020;

    /* Verde oscuro optimizado para alta legibilidad sobre blanco */
    --rs-primary-text: #5f9e00;

    /* Fondos gris claro */
    --rs-bg-dark: #bbbbbb;
    --rs-bg-darker: #b0b0b0;
    --rs-bg-card: #ffffff;

    /* Texto sobre fondo gris */
    --rs-text-light: #ffffff;
    --rs-text-muted: #444444;

    /* Bordes sutiles para tarjetas */
    --rs-border: rgba(255,255,255,0.1);

    /* Glow refinado */
    --rs-glow: 0 0 10px rgba(173, 255, 47, 0.15), 0 0 25px rgba(173, 255, 47, 0.05);
    --rs-glow-hover: 0 0 20px rgba(173, 255, 47, 0.4), 0 0 40px rgba(173, 255, 47, 0.15);
}

/* ------------------------------------------------------------------
   2. BODY
   ------------------------------------------------------------------ */
body {
    background-color: #bbbbbb;
    color: #ffffff;
}

/* ------------------------------------------------------------------
   3. TOPBAR — Franja superior fondo claro
   ------------------------------------------------------------------ */
.rs-topbar {
    background-color: #111111 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

.rs-topbar a {
    color: var(--rs-primary) !important;
    font-weight: 700;
}

.rs-topbar a:hover {
    color: #ffffff !important;
    text-shadow: none;
}

.rs-topbar strong {
    color: var(--rs-primary) !important;
}

/* ------------------------------------------------------------------
   4. NAVBAR — fondo antracita para destacar el logo
   ------------------------------------------------------------------ */

/* Navbar siempre negro */
.rs-navbar {
    background-color: #080808 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5) !important;
}

/* Links del menú: blancos sobre antracita */
.rs-menu a {
    color: rgba(255, 255, 255, 0.85) !important;
}

.rs-menu a:hover {
    color: var(--rs-primary) !important;
}

/* Botones pastilla en navbar: texto negro sobre fondo verde */
.rs-menu .rs-btn-hover-fx {
    color: #000000 !important;
}
.rs-menu .rs-btn-hover-fx:hover {
    color: #000000 !important;
}
.rs-menu .rs-btn-hover-fx .fa-whatsapp {
    color: #000000 !important;
}

/* Botón hamburguesa móvil — blanco */
.rs-mobile-toggle {
    color: #ffffff !important;
}

/* Scrolled — mismo negro */
.rs-navbar.scrolled {
    background-color: rgba(8, 8, 8, 0.8) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
}

.rs-navbar.scrolled .rs-menu a {
    color: rgba(255, 255, 255, 0.85) !important;
}

.rs-navbar.scrolled .rs-menu a:hover {
    color: var(--rs-primary) !important;
}

/* Menú desplegable móvil */
@media (max-width: 768px) {
    .rs-menu.is-open {
        background: rgba(15, 15, 15, 0.97) !important;
        border-bottom: 2px solid rgba(173, 255, 47, 0.3) !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5) !important;
    }
    .rs-menu.is-open a {
        color: rgba(255,255,255,0.9) !important;
        border-bottom: none !important;
    }
    .rs-menu.is-open a:hover,
    .rs-menu.is-open a:active {
        background: rgba(173, 255, 47, 0.1) !important;
        color: var(--rs-primary) !important;
    }
}

/* ------------------------------------------------------------------
   5. HERO — Texto siempre blanco (fondo foto oscuro)
   ------------------------------------------------------------------ */
.rs-hero h1,
.rs-hero h1 span {
    color: #ffffff;
}

.rs-hero h1 .highlight {
    color: #ADFF2F !important;
}

.rs-hero p {
    color: rgba(255, 255, 255, 0.82);
}

/* ------------------------------------------------------------------
   6. MARQUEE — Franja oscura de separación entre hero y contenido
   ------------------------------------------------------------------ */
.rs-marquee-container {
    background: #1a2035;
    border-top: none;
    border-bottom: none;
}

.rs-marquee-content {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    letter-spacing: 1.5px;
}

.rs-marquee-icon {
    color: #ADFF2F;
}

/* ------------------------------------------------------------------
   7. SECCIONES
   ------------------------------------------------------------------ */
.rs-section {
    background-color: var(--rs-bg-dark);
}

.rs-darker-bg {
    background-color: var(--rs-bg-darker);
}

/* ------------------------------------------------------------------
   8. TARJETAS DE SERVICIO
   ------------------------------------------------------------------ */
.rs-service-card {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rs-service-card:hover {
    border-color: rgba(173, 255, 47, 0.6) !important;
    box-shadow: 0 10px 35px rgba(173, 255, 47, 0.18) !important;
    transform: translateY(-6px) !important;
}

.rs-service-card::before {
    background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
        rgba(173, 255, 47, 0.07), transparent 40%) !important;
}

.rs-service-card h3,
.rs-service-card h2,
.rs-service-card h4 {
    color: #2a2a2a !important;
    font-weight: 700;
}

.rs-service-card p,
.rs-service-card span {
    color: #555555 !important;
}

/* Icono de servicio — verde vivo del logo */
.rs-service-card i {
    color: #ADFF2F;
    filter: drop-shadow(0 0 6px rgba(173, 255, 47, 0.6));
}

/* Imágenes de servicio — color natural */
.rs-service-card img {
    filter: none !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.rs-service-card:hover img {
    filter: brightness(1.03) !important;
    border-color: rgba(173, 255, 47, 0.45) !important;
    box-shadow: 0 4px 20px rgba(173, 255, 47, 0.18) !important;
    transform: scale(1.02) !important;
}

/* ------------------------------------------------------------------
   9. CABECERAS DE SECCIÓN
   ------------------------------------------------------------------ */
.rs-section-header h2 {
    color: #222222;
}

.rs-section-header p {
    color: #555555;
}

/* ------------------------------------------------------------------
   10. GALERÍA DE PROYECTOS
   ------------------------------------------------------------------ */
#galeria-dinamica {
    scrollbar-color: #ADFF2F #e0e8f0;
}

#galeria-dinamica::-webkit-scrollbar-track {
    background: #e0e8f0;
}

#galeria-dinamica::-webkit-scrollbar-thumb {
    background: #ADFF2F;
    border: 2px solid #e0e8f0;
}

.rs-gallery-item {
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.rs-gallery-item:hover {
    border-color: rgba(173, 255, 47, 0.7);
    box-shadow: 0 8px 30px rgba(173, 255, 47, 0.2);
}

.rs-gallery-overlay {
    background: linear-gradient(to top, rgba(30, 30, 30, 0.92), transparent);
}

.rs-gallery-overlay span {
    color: #ffffff;
}

/* ------------------------------------------------------------------
   11. RESEÑAS
   ------------------------------------------------------------------ */
.rs-review-card {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.rs-review-card:hover {
    border-color: rgba(173, 255, 47, 0.5);
    box-shadow: 0 8px 25px rgba(173, 255, 47, 0.14);
}

/* ------------------------------------------------------------------
   12. CONTADORES — números grandes en verde vivo
   ------------------------------------------------------------------ */
.rs-counters .rs-price,
.rs-price {
    color: var(--rs-primary-text);
}

/* ------------------------------------------------------------------
   13. LOGOS DE PROVEEDORES
   ------------------------------------------------------------------ */
.rs-client-logo {
    background: rgba(255,255,255,0.55);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 8px;
}

.rs-client-logo img {
    filter: grayscale(100%) brightness(0.6) contrast(1.2);
    opacity: 0.85;
}

.rs-client-logo img:hover {
    filter: grayscale(80%) brightness(0.5) contrast(1.3);
    opacity: 1;
}

/* ------------------------------------------------------------------
   14. CALCULADORA / FORMULARIO
   ------------------------------------------------------------------ */
.rotulosur-quote-widget {
    background-color: #ffffff;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.rs-input,
.rs-select {
    background-color: #ffffff;
    border: 1px solid rgba(0,0,0,0.18);
    color: #222222;
}

.rs-input:focus,
.rs-select:focus {
    border-color: var(--rs-primary);
    box-shadow: 0 0 0 3px rgba(173, 255, 47, 0.2);
}

.rs-label {
    color: #333333 !important;
}

.rs-extras-container {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
}

.rs-result-card {
    background: linear-gradient(135deg, #6a6a6a, #5d5d5d);
    border: 1px solid rgba(255,255,255,0.1);
}

.rs-result-card::before {
    background-color: #ADFF2F;
}

/* ------------------------------------------------------------------
   15. FAQ
   ------------------------------------------------------------------ */
.rs-faq-item {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

.rs-faq-question,
.rs-faq-question h2,
.rs-faq-question h3,
.rs-faq-question h4 {
    color: #2a2a2a !important;
}

.rs-faq-question i {
    color: var(--rs-primary-text) !important;
}

.rs-faq-answer,
.rs-faq-answer p,
.rs-faq-answer span {
    color: #555555 !important;
}

.rs-faq-item.active {
    border-color: rgba(173, 255, 47, 0.4);
    box-shadow: 0 4px 18px rgba(173, 255, 47, 0.1);
}

/* ------------------------------------------------------------------
   16. FOOTER — Oscuro para anclaje visual (patrón estético estándar)
   ------------------------------------------------------------------ */
.rs-footer {
    background-color: #111827 !important;
    border-top: none !important;
}

.rs-footer-brand p {
    color: rgba(255, 255, 255, 0.55);
}

.rs-footer-links h3,
.rs-footer-social h3 {
    color: #ffffff;
}

.rs-footer-links ul li {
    color: rgba(255, 255, 255, 0.55);
}

.rs-footer-links ul li i {
    color: #ADFF2F;
}

.rs-footer-links ul li a {
    color: rgba(255, 255, 255, 0.65);
    transition: all 0.3s;
}

.rs-footer-links ul li a:hover {
    color: #ADFF2F;
}

.rs-footer-links.contact-highlight {
    background: rgba(173, 255, 47, 0.06);
    border: 1px solid rgba(173, 255, 47, 0.2);
}

.rs-footer-links.contact-highlight h3 {
    color: #ADFF2F;
    text-shadow: 0 0 12px rgba(173, 255, 47, 0.4);
}

.rs-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.rs-footer-bottom p {
    color: rgba(255, 255, 255, 0.35);
}

.social-icons a {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(173, 255, 47, 0.35);
    color: #ADFF2F;
}

.social-icons a:hover {
    background-color: #ADFF2F;
    color: #111827;
    box-shadow: 0 0 15px rgba(173, 255, 47, 0.4);
}

/* ------------------------------------------------------------------
   17. MODALES LEGALES
   ------------------------------------------------------------------ */
.modal-content {
    background-color: #5a5a5a;
    border: 1px solid rgba(173, 255, 47, 0.3);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

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

.legal-scroll-content {
    color: rgba(255,255,255,0.8) !important;
}

.legal-scroll-content h3 {
    color: #ffffff !important;
    margin-top: 20px;
}

.legal-scroll-content::-webkit-scrollbar-track {
    background: #6a6a6a;
}

.legal-scroll-content::-webkit-scrollbar-thumb {
    background: rgba(173, 255, 47, 0.35);
}

.legal-scroll-content::-webkit-scrollbar-thumb:hover {
    background: var(--rs-primary-text);
}

.close-modal {
    color: #94a3b8;
}

.close-modal:hover {
    color: var(--rs-primary-text);
}

/* ------------------------------------------------------------------
   18. BANNER DE COOKIES
   ------------------------------------------------------------------ */
.cookie-banner {
    background: rgba(80, 80, 80, 0.97) !important;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4) !important;
}

.cookie-content h4 {
    color: var(--rs-primary);
}

.cookie-content p {
    color: rgba(255,255,255,0.8);
}

.cookie-content p a {
    color: var(--rs-primary);
}

.cookie-cat-info h5 {
    color: #ffffff;
}

.cookie-cat-info p {
    color: rgba(255,255,255,0.7);
}

.cookie-categories {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.cookie-slider {
    background-color: rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.cookie-slider:before {
    background-color: #94a3b8;
}

.cookie-switch input:checked + .cookie-slider {
    background-color: rgba(173, 255, 47, 0.15);
    border-color: var(--rs-primary-text);
}

.cookie-switch input:checked + .cookie-slider:before {
    background-color: var(--rs-primary-text);
    box-shadow: 0 0 6px rgba(92, 136, 0, 0.5);
}

.cookie-btn-reject {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: rgba(255,255,255,0.8);
}

.cookie-btn-reject:hover {
    background: rgba(255, 255, 255, 0.12);
}

.cookie-btn-save {
    border-color: var(--rs-primary);
    color: var(--rs-primary);
}

.cookie-btn-save:hover {
    background: rgba(173, 255, 47, 0.1);
}

/* ------------------------------------------------------------------
   19. BARRA DE NAVEGACIÓN RÁPIDA MÓVIL
   ------------------------------------------------------------------ */
@media (max-width: 480px) {
    .rs-mobile-quick-nav {
        background: rgba(80, 80, 80, 0.98) !important;
        backdrop-filter: blur(15px) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 -3px 15px rgba(0, 0, 0, 0.3) !important;
    }
    .rs-mobile-quick-nav .nav-item {
        color: rgba(255,255,255,0.8) !important;
    }
    .rs-mobile-quick-nav .nav-item:hover,
    .rs-mobile-quick-nav .nav-item:focus {
        color: var(--rs-primary) !important;
    }
    .rs-mobile-quick-nav .nav-item i {
        color: var(--rs-primary);
    }
}

/* ------------------------------------------------------------------
   20. BOTONES
   ------------------------------------------------------------------ */
.btn-primary {
    background-color: #ADFF2F !important;
    color: #475569 !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 15px rgba(173, 255, 47, 0.3) !important;
}

.btn-primary:hover {
    background-color: #96e020 !important;
    color: #0f172a !important;
    box-shadow: 0 8px 25px rgba(173, 255, 47, 0.5) !important;
}

.btn-primary-sm {
    background-color: #ADFF2F !important;
    color: #475569 !important;
    font-weight: 800 !important;
    box-shadow: 0 0 12px rgba(173, 255, 47, 0.35) !important;
}

.btn-primary-sm:hover {
    background-color: #96e020 !important;
    color: #0f172a !important;
    box-shadow: 0 0 20px rgba(173, 255, 47, 0.55) !important;
}

.btn-secondary {
    color: #1e293b;
    border: 2px solid #1e293b;
}

.btn-secondary:hover {
    background-color: #1e293b;
    color: #ffffff;
}

.rs-btn-submit {
    background-color: #ADFF2F;
    color: #111827 !important;
}

.rs-btn-submit:hover {
    background-color: #96e020;
    box-shadow: 0 10px 25px rgba(173, 255, 47, 0.4);
}

.rs-btn-back {
    color: var(--rs-primary-text) !important;
    border: 2px solid rgba(173, 255, 47, 0.6) !important;
    background: rgba(173, 255, 47, 0.05) !important;
    box-shadow: none !important;
}

.rs-btn-back:hover {
    background: #ADFF2F !important;
    color: #111827 !important;
    border-color: #ADFF2F !important;
    box-shadow: 0 0 20px rgba(173, 255, 47, 0.4) !important;
}

/* ------------------------------------------------------------------
   21. LINKS DESTACADOS (EMAIL, REDES)
   ------------------------------------------------------------------ */
.rs-email-highlight {
    border-color: rgba(92, 136, 0, 0.5);
    color: var(--rs-primary-text);
}

.rs-email-highlight:hover {
    background: #ADFF2F;
    color: #111827;
    border-color: #ADFF2F;
    box-shadow: 0 0 12px rgba(173, 255, 47, 0.4);
}

/* ------------------------------------------------------------------
   22. BOTÓN FLOTANTE WHATSAPP — usa el verde del sitio
   ------------------------------------------------------------------ */
/* Wrapper del botón flotante WhatsApp */
.floating-whatsapp-wrapper {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

/* Burbuja de "respuesta automática" */
.wa-chat-bubble {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    border-radius: 14px 14px 0 14px;
    padding: 10px 14px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    animation: wa-bubble-in 0.4s ease 1.5s both;
    max-width: 210px;
}

@keyframes wa-bubble-in {
    from { opacity: 0; transform: translateY(10px) scale(0.95); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.wa-online-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #25d366;
    flex-shrink: 0;
    box-shadow: 0 0 6px rgba(37,211,102,0.7);
    animation: blink-dot 2s infinite;
}

@keyframes blink-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.wa-bubble-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.wa-bubble-text strong {
    color: #111111;
    font-size: 0.82rem;
    font-weight: 700;
}

.wa-bubble-text span {
    color: #555555;
    font-size: 0.75rem;
}

.floating-whatsapp,
.rs-whatsapp-float {
    background-color: var(--rs-primary) !important;
    box-shadow: 0 8px 20px rgba(173, 255, 47, 0.4) !important;
    color: #000000 !important;
}

.floating-whatsapp:hover,
.rs-btn-hover-fx:hover {
    background-color: var(--rs-primary-hover) !important;
    box-shadow: 0 12px 30px rgba(173, 255, 47, 0.6) !important;
    color: #000000 !important;
}

/* ------------------------------------------------------------------
   23. FOTO UNIFICADA — sin filtros oscuros
   ------------------------------------------------------------------ */
.rs-service-detail img,
.rs-grid img,
.rs-services-grid img,
.rs-gallery-item img,
.rs-feature-image img,
.rs-schema-container img,
.rs-service-card img {
    filter: brightness(1) contrast(1) saturate(1) sepia(0%) !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
}

.rs-service-card:hover img,
.rs-gallery-item:hover img,
.rs-feature-image:hover img,
.rs-grid div:hover > img,
.rs-service-detail div:hover > img,
.rs-schema-container:hover img {
    filter: brightness(1.02) contrast(1.01) !important;
    border-color: rgba(173, 255, 47, 0.6) !important;
    box-shadow: 0 8px 25px rgba(173, 255, 47, 0.25) !important;
    transform: scale(1.03) !important;
}

/* ------------------------------------------------------------------
   32. ANIMACIÓN METODOLOGÍA (ESCALA DE GRISES)
   ------------------------------------------------------------------ */
.rs-step-card .step-image img {
    filter: grayscale(100%) brightness(1) contrast(1) !important;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.rs-step-card:hover .step-image img {
    filter: grayscale(0%) brightness(1) contrast(1) !important;
    transform: scale(1.08) !important;
    border-color: var(--rs-primary) !important;
    box-shadow: 0 10px 30px rgba(173, 255, 47, 0.3) !important;
}

/* ------------------------------------------------------------------
   33. CARRUSEL TRADICIONAL CON FLECHAS (GALERÍA)
   ------------------------------------------------------------------ */
.rs-carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

#galeria-dinamica {
    width: 100%;
    scroll-behavior: smooth;
}

.rs-carousel-prev,
.rs-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    color: #ffffff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.rs-carousel-prev {
    left: -25px;
}

.rs-carousel-next {
    right: -25px;
}

.rs-carousel-prev:hover,
.rs-carousel-next:hover {
    background: var(--rs-primary);
    color: #111827;
    border-color: var(--rs-primary);
    box-shadow: 0 8px 25px rgba(173, 255, 47, 0.4);
}

@media (max-width: 768px) {
    .rs-carousel-prev { left: 5px; }
    .rs-carousel-next { right: 5px; }
}

/* ------------------------------------------------------------------
   34. HERO SLIDER GRIS (FONDO PRINCIPAL)
   ------------------------------------------------------------------ */


/* Override filtros corporativos */
.gallery-item img, .rs-zigzag-img img, .rs-service-detail img {
    filter: none !important;
}

/* ------------------------------------------------------------------
   24. SELECCIÓN DE TEXTO
   ------------------------------------------------------------------ */
::selection {
    background-color: #ADFF2F;
    color: #111827;
}

/* ------------------------------------------------------------------
   25. DESLIZAR INDICADOR
   ------------------------------------------------------------------ */
.rs-swipe-indicator {
    color: var(--rs-primary-text);
}

/* ------------------------------------------------------------------
   26. PULSE BUTTON
   ------------------------------------------------------------------ */
.rs-pulse-btn {
    background-color: rgba(173, 255, 47, 0.1);
    border-color: #ADFF2F;
    color: var(--rs-primary-text);
}

/* ------------------------------------------------------------------
   27. TARJETAS DE RESEÑA — nombre y rating
   ------------------------------------------------------------------ */
.rs-review-card h4,
.rs-review-card strong {
    color: #2a2a2a !important;
}

.rs-review-card p {
    color: #555555 !important;
}

/* ------------------------------------------------------------------
   28. SUBPÁGINAS DE SERVICIO — hero interior
   ------------------------------------------------------------------ */
.rs-service-hero,
.rs-page-hero {
    color: #ffffff;
}

/* Breadcrumb en subpáginas */
.rs-breadcrumb,
.rs-breadcrumb a {
    color: rgba(255,255,255,0.65);
}

.rs-breadcrumb a:hover {
    color: var(--rs-primary);
}

.rs-breadcrumb .current {
    color: var(--rs-primary);
}

/* ------------------------------------------------------------------
   29. INPUTS DENTRO DE SUBPÁGINAS
   ------------------------------------------------------------------ */
.rs-contact-form input,
.rs-contact-form textarea,
.rs-contact-form select {
    background-color: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    color: #ffffff;
}

/* ------------------------------------------------------------------
   30. ENCABEZADOS EN SUBPÁGINAS
   ------------------------------------------------------------------ */
/* Headings gris oscuro sobre fondo gris */
h1, h2, h3, h4 {
    color: #222222 !important;
}

/* Headings oscuros dentro de tarjetas blancas (ya heredan de h1-h4 #222) */

/* Excepto dentro del hero (siempre blanco) */
.rs-hero h1,
.rs-hero h2,
.rs-service-hero h1,
.rs-page-hero h1 {
    color: #ffffff !important;
}

/* Footer y marquee: encabezados siempre blancos */
.rs-footer h2,
.rs-footer h3,
.rs-footer h4 {
    color: #e2e8f0 !important;
}

/* ------------------------------------------------------------------
   31. HOVER TEXT GLOW — letras iluminadías en verde al paso del ratón
   ------------------------------------------------------------------ */

/* Nav links — todos los estados (top + scrolled + móvil) */
.rs-menu a:not(.btn-primary):not(.btn-primary-sm) {
    transition: color 0.2s ease, text-shadow 0.2s ease !important;
}

.rs-menu a:not(.btn-primary):not(.btn-primary-sm):hover {
    color: var(--rs-primary-text) !important;
    text-shadow:
        0 0 6px rgba(120, 200, 0, 0.9),
        0 0 18px rgba(173, 255, 47, 0.55),
        0 0 35px rgba(173, 255, 47, 0.25) !important;
}

/* Menú móvil abierto */
@media (max-width: 768px) {
    .rs-menu.is-open a:not(.btn-primary):not(.btn-primary-sm):hover {
        color: var(--rs-primary-text) !important;
        text-shadow: 0 0 10px rgba(120, 200, 0, 0.7) !important;
    }
}

/* Título de tarjeta de servicio en hover */
.rs-service-card:hover h3 {
    color: var(--rs-primary-text);
    text-shadow: 0 0 10px rgba(120, 200, 0, 0.4);
    transition: color 0.25s, text-shadow 0.25s;
}

/* Links de navegación en footer */
.rs-footer-links ul li a:hover {
    color: #ADFF2F !important;
    text-shadow: 0 0 10px rgba(173, 255, 47, 0.55);
}

/* Títulos de secciones interactivos (blog, servicios) */
.rs-service-detail h3:hover,
h3.rs-hover-glow:hover {
    color: var(--rs-primary-text);
    text-shadow: 0 0 12px rgba(120, 200, 0, 0.4);
    cursor: default;
}

/* Menú breadcrumb */
.rs-breadcrumb a:hover {
    color: var(--rs-primary-text) !important;
    text-shadow: 0 0 8px rgba(120, 200, 0, 0.45);
}

/* ==========================================================================
   ACENTOS VERDES — Tipografía corporativa
   ========================================================================== */

/* Línea verde decorativa bajo títulos de sección */
.rs-section-header h2::after {
    content: '';
    display: block;
    width: 52px;
    height: 3px;
    background: var(--rs-primary);
    border-radius: 2px;
    margin: 14px auto 0;
    box-shadow: 0 0 8px rgba(173, 255, 47, 0.5);
}

/* strong en textos sobre fondo gris → verde brillante */
.rs-section p strong,
.rs-section-header p strong,
.rs-section li strong,
.rs-darker-bg p strong {
    color: var(--rs-primary) !important;
    font-weight: 700;
}

/* strong en tarjetas blancas → verde oscuro legible */
.rs-service-card p strong,
.rs-review-card p strong,
.rs-faq-answer strong,
.rs-faq-question strong {
    color: #3d7a00 !important;
    font-weight: 700;
}

/* Textos en tarjetas blancas — gris oscuro */
.rs-service-card p,
.rs-service-card span,
.rs-review-card p,
.rs-faq-answer,
.rs-faq-answer p {
    color: #444444 !important;
}


/* Contadores numéricos — verde */
.rs-counter-number,
.rs-stat-number,
[class*="counter"] .rs-price,
.rs-counters .rs-price {
    color: var(--rs-primary) !important;
    text-shadow: 0 0 20px rgba(173, 255, 47, 0.4);
}

/* Subheadings h3/h4 sobre fondo gris (fuera de tarjetas) → verde claro */
.rs-section > .rs-container > h3,
.rs-section > .rs-container > h4,
.rs-darker-bg h3,
.rs-darker-bg h4 {
    color: var(--rs-primary) !important;
}

/* Breadcrumb separador y current → verde */
.rs-breadcrumb .current {
    color: var(--rs-primary) !important;
    font-weight: 700;
}

/* Tags / etiquetas de categoría → verde */
.rs-tag,
.rs-badge,
.rs-category-tag {
    background: rgba(173, 255, 47, 0.15);
    color: var(--rs-primary) !important;
    border: 1px solid rgba(173, 255, 47, 0.3);
    border-radius: 20px;
    padding: 3px 12px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

/* Links de texto en secciones de contenido */
.rs-section a:not([class]),
.rs-section-content a {
    color: var(--rs-primary) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Icono en service card — brillo verde más intenso */
.rs-service-card i {
    color: var(--rs-primary) !important;
    filter: drop-shadow(0 0 8px rgba(173, 255, 47, 0.7));
}

/* Paso numerado / metodología — números gris sobre círculo verde */
.rs-step-number,
.step-number,
.rs-step-card .step-num {
    color: #333333 !important;
}

.hint-text { color: var(--rs-text-muted) !important; }

.check-item {
    border-color: var(--rs-border) !important;
    background: #f9fafb !important;
}
.check-item span { color: var(--rs-text-light) !important; }
.check-item .price-tag { color: var(--rs-text-muted) !important; }

.price-display {
    background: linear-gradient(135deg, #f0fce4, #e8f7d0) !important;
    border-color: rgba(120,200,0,0.3) !important;
    box-shadow: 0 0 20px rgba(173,255,47,0.1) !important;
}
.price-label { color: var(--rs-text-muted) !important; }
.price-note   { color: var(--rs-text-muted) !important; }

#desglose-container {
    background: #f9fafb !important;
    border-color: var(--rs-border) !important;
}
#desglose-container p { color: var(--rs-text-muted) !important; }
#desglose-items div {
    color: var(--rs-text-light) !important;
    border-bottom-color: rgba(0,0,0,0.07) !important;
}



.btn-back-dark {
    color: var(--rs-text-light) !important;
    border-color: var(--rs-border) !important;
    background: #f4f6f9 !important;
}
/* Hero Slider Animado */
.rs-hero-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    overflow: hidden;
    background-color: var(--rs-bg-dark);
}

/* ==============================================================
   MEJORAS MOBILE — Responsive optimizado para teléfonos
   ============================================================== */

/* ── 480px: teléfonos ──────────────────────────────────────── */
@media (max-width: 480px) {

  /* Hero — tamaño de texto ajustado */
  .rs-hero h1 {
    font-size: 2.1rem !important;
    line-height: 1.2 !important;
    margin-bottom: 14px !important;
  }
  .rs-hero p {
    font-size: 0.97rem !important;
    margin-bottom: 24px !important;
    line-height: 1.55 !important;
  }
  .rs-hero-content {
    padding: 0 16px !important;
  }

  /* Botones hero — ancho completo y texto más compacto */
  .rs-hero-buttons a {
    font-size: 0.88rem !important;
    padding: 0.8rem 1.2rem !important;
    justify-content: center !important;
  }

  /* Cabeceras de sección */
  .rs-section-header h2 {
    font-size: 1.55rem !important;
    line-height: 1.25 !important;
  }
  .rs-section-header p {
    font-size: 0.93rem !important;
  }

  /* Tarjetas de servicio */
  .rs-service-card h3 {
    font-size: 1.05rem !important;
  }
  .rs-service-card p {
    font-size: 0.86rem !important;
  }

  /* Counters más compactos */
  .rs-price,
  .rs-counter-number,
  .rs-stat-number {
    font-size: 2.4rem !important;
  }

  /* FAB del widget WhatsApp — por encima del bottom nav */
  #rs-wa-fab {
    bottom: 80px !important;
  }
  #rs-wa-panel {
    bottom: 148px !important;
  }

  /* Mejora touch targets generales */
  .rs-service-card {
    min-height: auto !important;
  }

  /* Grids de 2 columnas → 1 columna */
  .rs-services-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── 380px: teléfonos muy pequeños (Galaxy S, iPhone SE) ───── */
@media (max-width: 380px) {
  .rs-hero h1 {
    font-size: 1.85rem !important;
  }
  .rs-section-header h2 {
    font-size: 1.4rem !important;
  }
  .rs-hero p {
    font-size: 0.9rem !important;
  }
  .rs-container {
    padding: 0 12px !important;
  }
}

/* ── 768px: tablets en portrait ────────────────────────────── */
@media (max-width: 768px) {
  /* Hero ligeramente más compacto en tablet */
  .rs-hero p {
    font-size: 1.05rem;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Reducir padding de secciones */
  .rs-section {
    padding: 50px 0;
  }

  /* Encabezados */
  .rs-section-header h2 {
    font-size: 1.7rem;
  }

  /* Botón calculadora en navbar tablet → visible */
  .rs-navbar .rs-menu a[href*="calculadora"] {
    display: flex !important;
  }
}


.rs-hero-slide.active {
    opacity: 1;
    transform: scale(1);
}

/* Ocultar el fondo est�tico original si el slider est� activo */
.rs-hero::before {
    display: none !important;
}

/* Ajustes a petici�n: Cabecera clara y diapositivas en escala de grises */
.rs-hero h1, .rs-hero h1 span { color: #475569 !important; }
.rs-hero h1 .highlight { color: var(--rs-primary-text) !important; text-shadow: 0 0 10px rgba(120, 200, 0, 0.2); }
.rs-hero p { color: #64748b !important; font-weight: 500; }
.rs-hero::after { background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.95) 100%) !important; }


/* Ajustes a petici�n: Destacar los iconos */
.rs-service-card i {
    color: #ffffff !important;
    background: linear-gradient(135deg, #78C800, #5a9600) !important;
    padding: 18px;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(120, 200, 0, 0.4) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    filter: none !important;
    margin-bottom: 25px;
    transform: translateY(-5px);
}
.rs-service-card:hover i {
    transform: translateY(-10px) scale(1.1);
    box-shadow: 0 12px 25px rgba(120, 200, 0, 0.6) !important;
}

/* ==========================================================================
   PULIDO FINAL: SINCRONIZACIN VERDE CORPORATIVO Y FOTOGRAFA
   ========================================================================== */
/* 1. Forzar verde corporativo exacto (#ADFF2F) */
:root {
    --rs-primary-text: #ADFF2F !important;
}

/* 2. Iconos impactantes: Fondo verde corporativo puro, icono oscuro */
.rs-service-card i {
    color: #111111 !important; 
    background: linear-gradient(135deg, #ADFF2F, #96e625) !important;
    box-shadow: 0 8px 20px rgba(173, 255, 47, 0.4) !important;
}
.rs-service-card:hover i {
    box-shadow: 0 12px 25px rgba(173, 255, 47, 0.7) !important;
}

/* 3. Animacin fotogrfica: Escala de grises teida en verde con alto contraste */


/* 4. Texto destacado Estetico */
.rs-hero h1 {
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    font-weight: 300 !important;
    letter-spacing: -0.5px;
    line-height: 1.2 !important;
}
.rs-hero h1 .highlight { 
    color: var(--rs-primary) !important;
    background-color: transparent !important;
    padding: 0;
    box-shadow: none !important;
    font-weight: 700 !important;
    text-shadow: 0 0 20px rgba(173, 255, 47, 0.3) !important;
    display: inline;
}

/* 5. Tarjetas y bordes: Glow en verde corporativo exacto */
.rs-service-card:hover {
    border-color: #ADFF2F !important;
    box-shadow: 0 10px 30px rgba(173, 255, 47, 0.15) !important;
}

/* ==========================================================================
   NUEVAS SECCIONES: TECNOLOGIA Y METODOLOGIA
   ========================================================================== */

/* Feature Split (Tecnologia) */
.rs-feature-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
.rs-feature-split.reverse {
    direction: rtl;
}
.rs-feature-split.reverse > * {
    direction: ltr;
}
.rs-feature-text h2 {
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 20px;
}
.rs-feature-text p {
    font-size: 1.1rem;
    color: var(--rs-text-muted);
    margin-bottom: 15px;
    line-height: 1.6;
}
.rs-feature-image img {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border: 2px solid var(--rs-primary);
}

@media(max-width: 768px) {
    .rs-feature-split {
        grid-template-columns: 1fr;
    }
}

/* Steps Grid (Metodologia) */
.rs-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.rs-step-card {
    background: var(--rs-bg-card);
    border-radius: 16px;
    border: 1px solid var(--rs-border);
    padding: 25px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    transition: transform 0.3s;
}
.rs-step-card:hover {
    transform: translateY(-8px);
    border-color: var(--rs-primary);
    box-shadow: 0 12px 25px rgba(173, 255, 47, 0.2);
}
.step-image {
    position: relative;
    margin-bottom: 25px;
}
.step-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
}
.step-number {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rs-primary);
    color: #333333;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 900;
    box-shadow: 0 5px 15px rgba(173,255,47,0.35);
    border: 3px solid var(--rs-bg-card);
}
.rs-step-card h3 {
    font-size: 1.4rem;
    margin-bottom: 15px;
    color: #222222 !important;
}
.rs-step-card p {
    color: #444444 !important;
    font-size: 0.95rem;
}

@media(max-width: 768px) {
    .rs-steps-grid {
        grid-template-columns: 1fr;
    }
}


/* Hover Cards */
/* Tarjetas de subpáginas — misma estética que service cards */
.rs-hover-card {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
}

.rs-hover-card h3,
.rs-hover-card h4,
.rs-hover-card h2 {
    color: #2a2a2a !important;
}

.rs-hover-card p,
.rs-hover-card span,
.rs-hover-card li {
    color: #444444 !important;
}

.rs-hover-card i {
    color: var(--rs-primary) !important;
}

.rs-hover-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 35px rgba(173, 255, 47, 0.2) !important;
    border-color: rgba(173,255,47,0.6) !important;
    cursor: pointer;
}




/* FAQ — definición eliminada (duplicado), usar bloque principal más arriba */






/* Fix Hero Animation */
.rs-hero-slider {
    background-color: #475569 !important;
}


.rs-hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-size: cover;
    background-position: center;
    transition: opacity 1.5s ease-in-out, transform 5.5s linear;
    transform: scale(1.05);
    filter: grayscale(100%) brightness(0.7) contrast(1.2) !important;
}

.rs-hero-slide.active {
    opacity: 0.45 !important;
    transform: scale(1);
}

/* ==================================================================
   FORZAR TODOS LOS BOTONES A VERDE Y TEXTO GRIS OSCURO
   ================================================================== */
.btn-primary,
.btn-secondary,
.btn-primary-sm,
.btn-primary-xs,
.rs-pulse-btn,
button[type="submit"],
input[type="submit"],
.rs-whatsapp-float,
.home-btn {
    background-color: var(--rs-primary) !important;
    color: #475569 !important;
    border-color: var(--rs-primary) !important;
    font-weight: 800 !important;
}

.rs-whatsapp-float i {
    color: #475569 !important;
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-primary-sm:hover,
.btn-primary-xs:hover,
.rs-pulse-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.rs-btn-hover-fx:hover,
.home-btn:hover {
    background-color: #96e020 !important;
    color: #0f172a !important;
}

/* Asegurar texto gris oscuro en elementos verdes */
[style*="var(--rs-primary)"], .rs-badge, .badge, .btn-primary, .btn-primary-sm {
    color: #475569 !important;
}


/* Halo Verde al Pasar el Ratón */
.btn-primary:hover,
.btn-secondary:hover,
.btn-access:hover,
.rs-pricing-btn:hover,
.btn-primary-sm:hover,
.floating-whatsapp:hover,
.rs-btn-hover-fx:hover {
    box-shadow: 0 0 20px rgba(173, 255, 47, 0.8) !important;
    transform: scale(1.05);
    transition: all 0.3s ease;
}

/* Forzar logo de whatsapp a gris en botones */
.btn-primary .fa-whatsapp,
.btn-secondary .fa-whatsapp,
.btn-primary-sm .fa-whatsapp,
.floating-whatsapp .fa-whatsapp,
.rs-btn-hover-fx .fa-whatsapp,
.nav-item .fa-whatsapp,
.rs-footer-links .fa-whatsapp {
    color: #475569 !important;
    font-weight: 800 !important;
}


/* MEJOR DISEÑO DE LA GALERIA */
#galeria-dinamica {
    padding: 20px 0;
    gap: 30px;
    -ms-overflow-style: none; /* IE y Edge */
    scrollbar-width: none; /* Firefox */
}
#galeria-dinamica::-webkit-scrollbar {
    display: none; /* Ocultar scrollbar en Chrome/Safari */
}

.rs-gallery-item {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease !important;
    border: none !important;
    background: #fff;
    min-width: 320px;
    height: 240px;
}

.rs-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease !important;
    border: none !important;
    border-radius: 0 !important;
}

.rs-gallery-item:hover {
    transform: translateY(-10px) scale(1.03) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
    z-index: 10;
}

.rs-gallery-item:hover img {
    transform: scale(1.1) !important;
}

.rs-carousel-prev, .rs-carousel-next {
    background: #ffffff !important;
    color: #475569 !important;
    font-weight: 800 !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    transition: all 0.3s ease !important;
    z-index: 20;
}

.rs-carousel-prev:hover, .rs-carousel-next:hover {
    background: var(--rs-primary) !important;
    color: #475569 !important;
    transform: scale(1.1);
    box-shadow: 0 8px 20px rgba(173,255,47,0.4) !important;
}

.rs-swipe-indicator {
    color: #64748b !important;
    font-weight: 500;
    margin-top: 15px;
}


/* HEADER GRIS OSCURO */
.rs-header {
    background-color: #475569 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.rs-header.scrolled {
    background-color: rgba(30, 41, 59, 0.95) !important;
}
.nav-item {
    color: #e2e8f0 !important;
}
.nav-item:hover {
    color: var(--rs-primary) !important;
}
/* Hacer que el logo resalte si es negro, dándole un filtro invertido suave o brillo */
.rs-logo img {
    filter: brightness(0) invert(1) drop-shadow(0 0 5px rgba(173,255,47,0.3));
    height: 45px;
}


/* Hacer que el botón flotante pulse continuamente */
.floating-whatsapp {
    animation: pulse-whatsapp 2s infinite !important;
}


/* MEJORA DEL BOTON VOLVER */
.rs-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: transparent;
    color: var(--rs-primary) !important;
    font-weight: 600;
    font-size: 0.95rem;
    border: 2px solid var(--rs-primary);
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-bottom: 20px;
}

.rs-btn-back:hover {
    background: var(--rs-primary);
    color: #475569 !important;
    box-shadow: 0 4px 15px rgba(173, 255, 47, 0.4);
    transform: translateX(-5px);
}

.rs-service-detail {
    text-align: center;
}

.rs-service-detail p {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}


/* Restaurar escala de grises al hero */
.rs-hero-slide {
    filter: grayscale(100%) brightness(0.7) contrast(1.2) !important;
}


/* Efecto de escala de grises para la galería carrusel */
.rs-gallery-item img {
    filter: grayscale(100%) brightness(0.7) contrast(1.1) !important;
    transition: filter 0.5s ease, transform 0.5s ease !important;
}

.rs-gallery-item:hover img {
    filter: grayscale(0%) brightness(1.05) contrast(1.05) saturate(1.2) !important;
}

/* ============================================================
   TIPOGRAFÍA UNIFICADA — texto legible en fondo gris/blanco
   Aplica a toda la web: subpáginas, landings, blog, etc.
   ============================================================ */

/* Inline color: var(--rs-text-light) → visible sobre fondo blanco/gris */
main [style*="rs-text-light"],
.rs-section [style*="rs-text-light"],
.rs-container [style*="rs-text-light"] {
    color: #333333 !important;
}

/* Inline color: var(--rs-text-muted) → visible sobre fondo blanco/gris */
main [style*="rs-text-muted"],
.rs-section [style*="rs-text-muted"],
.rs-container [style*="rs-text-muted"] {
    color: #555555 !important;
}

/* TARJETAS BLANCAS — texto oscuro en cualquier tarjeta/card */

/* Cualquier div que tenga fondo blanco o use --rs-bg-card (ahora #fff) */
.rs-hover-card,
.rs-service-card,
.rs-faq-item,
.rs-review-card,
[style*="rs-bg-card"],
[style*="background: #fff"],
[style*="background:#fff"],
[style*="background: white"] {
    color: #333333;
}

/* Headings dentro de tarjetas blancas */
.rs-hover-card h1, .rs-hover-card h2, .rs-hover-card h3, .rs-hover-card h4, .rs-hover-card h5,
.rs-service-card h1, .rs-service-card h2, .rs-service-card h3, .rs-service-card h4,
[style*="rs-bg-card"] h1, [style*="rs-bg-card"] h2, [style*="rs-bg-card"] h3, [style*="rs-bg-card"] h4 {
    color: #1a1a1a !important;
}

/* Párrafos y spans dentro de tarjetas blancas */
.rs-hover-card p, .rs-hover-card span, .rs-hover-card li,
.rs-service-card p, .rs-service-card span,
[style*="rs-bg-card"] p, [style*="rs-bg-card"] span, [style*="rs-bg-card"] li {
    color: #444444 !important;
}

/* Iconos en tarjetas blancas — verde */
.rs-hover-card i,
[style*="rs-bg-card"] i {
    color: var(--rs-primary) !important;
}

/* strong dentro de tarjetas */
.rs-hover-card strong,
[style*="rs-bg-card"] strong {
    color: #222222 !important;
}

/* Blog cards y tarjetas genéricas con rs-service-detail */
.rs-service-detail[style*="rs-bg-card"] h2,
.rs-service-detail[style*="rs-bg-card"] h3,
.rs-service-detail[style*="rs-bg-card"] p,
.rs-service-detail[style*="rs-bg-card"] span,
.rs-service-detail[style*="rs-bg-card"] a {
    color: #333333 !important;
}

/* Separador visual en tarjetas blancas */
.rs-hover-card,
[style*="rs-bg-card"] {
    box-shadow: 0 4px 18px rgba(0,0,0,0.10) !important;
    border-color: rgba(0,0,0,0.07) !important;
}
