    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
     }

    body {
      font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
      background: #0c0c0c;
      color: #f0f0f0;
      line-height: 1.5;
      transition: background 0.2s, color 0.2s;
    }

    /* ===== MODO CLARO BIEN INTEGRADO ===== */
    body.light-mode {
      background: #f8fafc;
      color: #1e293b;
    }
    body.light-mode .header {
      background: white;
      border-bottom-color: #e2e8f0;
    }
    body.light-mode .tab-container {
      background: rgba(255,255,255,0.9);
      border-bottom-color: #e2e8f0;
    }
    body.light-mode .tab {
      color: #64748b;
      border-color: #e2e8f0;
    }
    body.light-mode .tab.activo {
      background: #00bfff;
      color: #0a0a0a;
      border-color: #00bfff;
    }
    body.light-mode .content-card {
      background: white;
      border-color: #e2e8f0;
      box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    }
    body.light-mode footer {
      background: white;
      border-top-color: #e2e8f0;
      color: #64748b;
    }
    body.light-mode #resultadosGlobal {
      background: white;
      border: 1px solid #e2e8f0;
      box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }
    /* Asegurar que los bordes internos también cambien */
    body.light-mode #resultadosGlobal > div > div {
      border-bottom-color: #e2e8f0 !important;
    }

    body.light-mode #resultadosGlobal div[style*="border-bottom"] {
      border-bottom-color: #e2e8f0 !important;
    }
   

    body.light-mode .buscador-container div:first-child {
      background: white !important;
      border-color: #00bfff !important;
    }

    body.light-mode #buscadorGlobal {
      color: #1e293b;
    }

    body.light-mode #buscadorGlobal::placeholder {
      color: #94a3b8;
    }
    
    body.light-mode input,
    body.light-mode select,
    body.light-mode textarea {
      background: #f1f5f9 !important;
      border-color: #cbd5e1 !important;
      color: #1e293b !important;
    }

    body.light-mode input:focus,
    body.light-mode select:focus,
    body.light-mode textarea:focus {
      outline: none;
      border-color: #00bfff !important;
    }
        /* Modo claro para tarjetas de productos y contenido general */
    body.light-mode .producto-card {
      background: white;
      border-color: #e2e8f0;
    }
    
    body.light-mode .producto-card h3 {
      color: #00bfff;
    }
    
    body.light-mode .info-block {
      background: #f1f5f9;
      border: 1px solid #e2e8f0;
    }
    
    body.light-mode .share-box {
      background: white;
      border-color: #e2e8f0;
    }
    
    body.light-mode .share-box span {
      color: #00bfff;
    }
    
    body.light-mode .btn-copiar {
      background: #00bfff;
      color: #0a0a0a;
    }
    
    /* Para el formulario de presupuesto (aunque ya funciona, por si acaso) */
    body.light-mode #formPresupuesto input,
    body.light-mode #formPresupuesto select,
    body.light-mode #formPresupuesto textarea {
      background: #f1f5f9 !important;
      border-color: #cbd5e1 !important;
      color: #1e293b !important;
    }
    
    body.light-mode #formPresupuesto input:focus,
    body.light-mode #formPresupuesto select:focus,
    body.light-mode #formPresupuesto textarea:focus {
      border-color: #00bfff !important;
      outline: none;
    }
    
    /* Para los botones flotantes en modo claro */
    body.light-mode .float-btn {
      background: #00bfff;
      color: #0a0a0a;
      box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    }
    
    body.light-mode .float-btn.whatsapp {
      background: #25D366;
      color: white;
    }
    
    /* Para el modal en modo claro */
    body.light-mode #modal,
    body.light-mode #modal-producto {
      background: rgba(255,255,255,0.95) !important;
    }
    
    /* Para el contenedor de resultados del buscador en modo claro */
    body.light-mode #resultadosGlobal div {
      color: #1e293b;
    }
    
    body.light-mode #resultadosGlobal div div {
      color: #888;
    }

        /* Modo claro para la sección de redes sociales */
    body.light-mode #redes .content-card {
      background: white;
      border-color: #e2e8f0;
    }
    
    body.light-mode #redes a div {
      background: #f1f5f9 !important;
      border-color: #00bfff !important;
    }
    
    body.light-mode #redes a div:hover {
      background: #e2e8f0 !important;
    }
    
    body.light-mode #redes a div span:first-child {
      color: #1e293b;
    }
    
    body.light-mode #redes a div span:last-child {
      color: #00bfff;
    }
    
    /* También para los enlaces de las redes sociales dentro del content-card */
    body.light-mode #redes .content-card a div {
      background: #f1f5f9;
    }
    
    body.light-mode #redes .content-card a div span {
      color: #1e293b;
    }
    
    body.light-mode #redes .content-card a div span:last-child {
      color: #00bfff;
    }
    /* Modo claro para el título del header */
    body.light-mode .header-text h1 {
      background: linear-gradient(to right, #00bfff, #0077aa);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
    }
    
    body.light-mode .header-text p {
      color: #64748b;
    }
    /* Modo claro para los resultados del buscador */
    body.light-mode #resultadosGlobal div[style*="border-bottom"] {
      border-bottom-color: #e2e8f0 !important;
    }
    
    body.light-mode #resultadosGlobal > div > div {
      border-bottom: 1px solid #e2e8f0 !important;
    }
    
    /* Para los resultados individuales */
    body.light-mode .resultado-item {
      border-bottom: 1px solid #e2e8f0 !important;
    }
    
    /* Mejorar contraste del texto en resultados */
    body.light-mode #resultadosGlobal div[style*="color: #888"] {
      color: #64748b !important;
    }

        /* Borde del contenedor de resultados según tema */
    body.light-mode .resultados-container {
      border: 1px solid #e2e8f0 !important;
    }
    
    body:not(.light-mode) .resultados-container {
      border: 1px solid #333 !important;
    }
    .resultados-container {
      background: rgba(31, 31, 31, 0.85) !important;
      backdrop-filter: blur(12px);
      border: 1px solid rgba(0, 191, 255, 0.3);
    }
    
    /* Asegurar que los bordes internos también cambien */
    body.light-mode #resultadosGlobal > div > div {
      border-bottom-color: #e2e8f0 !important;
    }
    
    body.light-mode #resultadosGlobal div[style*="border-bottom"] {
      border-bottom-color: #e2e8f0 !important;
    }
    
    /* Hover para los resultados en modo claro */
    body.light-mode #resultadosGlobal div[onclick] {
      background: transparent;
    }
    
    body.light-mode #resultadosGlobal div[onclick]:hover {
      background: #e2e8f0 !important;
    }

    /* Modo claro para el scroll de pestañas */
    body.light-mode .tab-container::-webkit-scrollbar-track {
      background: #e2e8f0;
    }

    body.light-mode .tab-container::-webkit-scrollbar-thumb {
      background: #00bfff;
    }

    /* ===== HEADER FIJO ===== */
    .header {
      background: #111;
      padding: 2rem 2rem 1.5rem;
      border-bottom: 2px solid #00bfff;
      transition: background 0.2s;
    }
    .header-content {
      max-width: 1300px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      gap: 2rem;
      flex-wrap: wrap;
    }
    .logo {
      width: 90px;
      height: 90px;
      border-radius: 50%;
      object-fit: cover;
      border: 4px solid #00bfff;
      cursor: pointer;
      transition: 0.2s;
    }
    .header-text h1 {
      font-size: 2.8rem;
      font-weight: 700;
      background: linear-gradient(to right, #fff, #ccc);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent; /* fallback */
    }   
    .header-text p {
      color: #aaa;
      font-size: 1.1rem;
      margin-top: 0.3rem;
    }

    .logo:hover {
    transform: scale(1.02);
     box-shadow: 0 0 0 3px rgba(0,191,255,0.3);
    }

    /* ===== PESTAÑAS PRINCIPALES ===== */
.tab-container {
  position: relative;
  background: rgba(19, 16, 16, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #2a2a2a;
  padding: 1rem 0;  /* ← Cambié 2rem por 0 */
  z-index: 100;
  transition: background 0.2s;
  overflow-x: auto;  /* ← NUEVO: permite scroll horizontal */
  overflow-y: hidden; /* ← NUEVO: oculta scroll vertical */
  -webkit-overflow-scrolling: touch; /* ← NUEVO: scroll suave */
}

/* Personalizar la barra de scroll */
.tabs {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  gap: 0.8rem;
  flex-wrap: nowrap;  /* ← CAMBIO IMPORTANTE: ahora NO se apilan */
  justify-content: flex-start;
  padding: 0 2rem;  /* ← Muevo el padding aquí */
  min-width: min-content; /* ← NUEVO: evita que se encojan */
}

.tab {
  background: transparent;
  border: 2px solid #333;
  color: #ccc;
  padding: 0.8rem 2rem;
  border-radius: 60px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.2s;
  white-space: nowrap; /* ← NUEVO: evita que el texto haga salto de línea */
  flex: 0 0 auto; /* ← NUEVO: evita que los botones se estiren */
}

    /* ===== CONTENEDOR PRINCIPAL ===== */
    main {
      max-width: 1300px;
      margin: 2rem auto;
      padding: 0 2rem;
      min-height: 60vh;
    }

    /* ===== CADA SECCIÓN ES INDEPENDIENTE ===== */
    .seccion {
      display: none;
    }
    .seccion.activa {
      display: block;
    }

  /* ===== TARJETAS DE CONTENIDO ===== */
    .content-card {
      background: #151515;
      border-radius: 24px;
      padding: 2rem;
      border: 1px solid #2a2a2a;
      transition: background 0.2s, border-color 0.2s;
      margin-bottom: 2rem;
    }

    /* PRODUCTOS EN GRID */
    .productos-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 1.5rem;
      margin-top: 1.5rem;
    }

    .producto-card {
      background: #141414;
      border: 1px solid #222;
      border-radius: 16px;
      padding: 1rem;
      text-align: center;
      transition: transform 0.2s, box-shadow 0.2s;
  
    /* Flexbox para alinear alturas y empujar el botón al fondo */
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      height: 100%;
    }  

    .producto-card h3 {
      margin: 0.5rem 0 1rem 0;
      font-size: 1rem;
      flex-grow: 1;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .producto-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 8px 24px rgba(0, 191, 255, 0.2);
      border-color: #00bfff;
    }
    
    /* Hover para modo claro en productos */
      body.light-mode .producto-card:hover {
      background: rgba(0,191,255,0.08);
    }
    .producto-card img {
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: cover;
      border-radius: 12px;
    }
    .producto-card h3 {
      font-size: 1rem;
      margin: 0.8rem 0 0.5rem;
      color: #00bfff;
    }
    .producto-card a {
      display: inline-block;
      padding: 0.4rem 1rem;
      border: 1px solid #00bfff;
      border-radius: 40px;
      color: #00bfff;
      text-decoration: none;
      font-size: 0.85rem;
      transition: 0.2s;
    }
    .producto-card a:hover {
      background: #00bfff;
      color: black;
    }

    /* ===== SECCIÓN TALLER (UBICACIÓN + HORARIO + FOTOS) ===== */
    .taller-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
      margin-top: 1.5rem;
    }
    .info-block {
      background: #1f1f1f;
      padding: 1.5rem;
      border-radius: 20px;
    }
    .info-block h3 {
      color: #00bfff;
      margin-bottom: 1rem;
      font-size: 1.3rem;
    }
    .fotos-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
    .fotos-grid img {
      width: 100%;
      height: 150px;
      object-fit: cover;
      border-radius: 16px;
      border: 2px solid #333;
    }

    /* ===== SECCIÓN COMPARTIR (SIEMPRE VISIBLE) ===== */
    .share-section {
      max-width: 1300px;
      margin: 2rem auto;
      padding: 0 2rem;
    }
    .share-box {
      background: #151515;
      border-radius: 60px;
      padding: 1rem 2rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1rem;
      border: 1px solid #333;
    }
    .share-box span {
      color: #00bfff;
      font-weight: 500;
    }
    .btn-copiar {
      background: #00bfff;
      border: none;
      padding: 0.6rem 1.5rem;
      border-radius: 40px;
      font-weight: 600;
      cursor: pointer;
    }

    footer {
      text-align: center;
      padding: 2rem;
      background: #111;
      border-top: 1px solid #2a2a2a;
      color: #666;
      margin-top: 3rem;
      transition: background 0.2s;
    }

    /* ===== BOTONES FLOTANTES ===== */
    .floating-actions {
      position: fixed;
      bottom: 20px;
      right: 20px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      z-index: 200;
    }
    .float-btn {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: none;
      background: #00bfff;
      color: black;
      font-size: 1.6rem;
      cursor: pointer;
      box-shadow: 0 5px 15px rgba(0,0,0,0.5);
      transition: 0.2s;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .float-btn.whatsapp {
      background: #25D366;
      color: white;
    }
    .float-btn:hover {
      transform: scale(1.1);
    }
    /* ===== MEJORAS MÓVIL ===== */
    @media (max-width: 600px) {
    /* Header más compacto */
    .header {
      padding: 1rem 1rem;
  }
  
  .header-content {
    gap: 1rem;
  }
  
  .logo {
    width: 60px;
    height: 60px;
  }
  
  .header-text h1 {
    font-size: 1.8rem;
  }
  
  .header-text p {
    font-size: 0.9rem;
  }

/* Pestañas con scroll horizontal (modo móvil) */
.tab-container {
  padding: 0.8rem 0;
  position: sticky;
  top: 0;
  background: rgba(19, 16, 16, 0.98);
  backdrop-filter: blur(12px);
  z-index: 99;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

/* Ocultar scrollbar en Chrome/Safari pero mantener funcionalidad */
.tabs {
  gap: 0.6rem;
  flex-wrap: nowrap; /* ¡Esto evita que se rompan en líneas! */
  justify-content: flex-start;
  padding: 0 1rem;
  min-width: min-content;
}

.tab {
  padding: 0.5rem 1.2rem;
  font-size: 0.85rem;
  white-space: nowrap; /* Evita que el texto se parta */
  flex: 0 0 auto; /* No se estiran, mantienen su tamaño */
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

  /* Buscador */
  .buscador-container {
    padding: 0 1rem;
    margin: 0.8rem auto 0;
  }
  
  .buscador-container div:first-child {
    padding: 0.3rem 1rem;
  }
  
  #buscadorGlobal {
    font-size: 0.9rem;
    padding: 0.5rem 0;
  }

  /* Resultados del buscador */
  #resultadosGlobal {
    left: 1rem;
    right: 1rem;
    max-height: 300px;
  }

  /* Tarjetas de productos */
  .content-card {
    padding: 1rem;
  }
  
  .productos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
  }
  
  .producto-card {
    padding: 0.8rem;
  }
  
  .producto-card h3 {
    font-size: 0.85rem;
    margin: 0.5rem 0;
  }
  
  .producto-card a {
    padding: 0.3rem 0.8rem;
    font-size: 0.75rem;
  }

  /* Sección Inicio */
  #inicio .content-card > div {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  /* Taller */
  .taller-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .info-block {
    padding: 1rem;
  }
  
  .fotos-grid {
    gap: 0.5rem;
  }
  
  .fotos-grid img {
    height: 100px;
  }

/* Compartir */
.share-box {
  padding: 1rem;
  flex-direction: column;
  text-align: center;
  gap: 0.5rem;
}

/* Ajustar el texto para que no se corte */
.share-box span:first-child {
  word-break: break-word;
  display: block;
  line-height: 1.4;
  max-width: 100%;
}

/* Asegurar que el enlace también se vea bien */
.share-box > div {
  word-break: break-all;
  flex-wrap: wrap;
  justify-content: center;
}
  
  .btn-copiar {
    width: 100%;
    padding: 0.5rem;
  }

  /* Botones flotantes */
  .floating-actions {
    bottom: 10px;
    right: 10px;
  }
  
  .float-btn {
    width: 45px;
    height: 45px;
    font-size: 1.4rem;
  }

  footer {
    padding: 1rem;
    font-size: 0.8rem;
  }

      /* Estilos para los resultados del buscador (ambos temas) */
    .resultado-item {
      border-bottom-color: #333;
    }
    
    .resultado-item:hover {
      background: #2a2a2a;
    }
    
    body.light-mode .resultado-item {
      border-bottom-color: #e2e8f0;
    }
    
    body.light-mode .resultado-item:hover {
      background: #e2e8f0;
    }
    body.light-mode .producto-card:hover {
      background: rgba(0,191,255,0.08);
   
}
}
/* ===== BARRA DE SCROLL AZUL PARA LAS PESTAÑAS ===== */
/* Estilos BASE para todos los dispositivos */
.tab-container::-webkit-scrollbar {
  height: 4px; /* Altura de la barra en móvil */
}

.tab-container::-webkit-scrollbar-track {
  background: #2a2a2a; /* Fondo del carril */
  border-radius: 10px;
}

.tab-container::-webkit-scrollbar-thumb {
  background: #00bfff; /* ¡LA BARRA AZUL! */
  border-radius: 10px;
  transition: background 0.2s;
}

.tab-container::-webkit-scrollbar-thumb:hover {
  background: #33ccff; /* Azul más claro al pasar el mouse */
}

/* MODO PC - Barra MÁS GRANDE (fácil para mouse) */
@media (min-width: 601px) {
  .tab-container::-webkit-scrollbar {
    height: 10px; /* Barra gruesa para PC */
  }
}

/* Modo claro (fondo claro) */
body.light-mode .tab-container::-webkit-scrollbar-track {
  background: #e2e8f0;
}

body.light-mode .tab-container::-webkit-scrollbar-thumb {
  background: #00bfff;
}

/* Indicador sutil de que hay más pestañas */
@media (max-width: 600px) {
  .tab-container {
    /* Sombra solo en los bordes que indica scroll */
    box-shadow: inset -10px 0 8px -8px rgba(0,191,255,0.2);
  }
  
  body.light-mode .tab-container {
    box-shadow: inset -10px 0 8px -8px rgba(0,0,0,0.1);
  }
}

/*Para que los botones respondan mejor al tacto */
@media (max-width: 600px) {
  .tab {
    transition: transform 0.1s ease;
  }
  
  .tab:active {
    transform: scale(0.96);
  }
}

/* Ajuste para pantallas muy pequeñas */
@media (max-width: 380px) {
  .productos-grid {
    grid-template-columns: 1fr;
  }
  
  .tab {
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
  }
  
  .header-text h1 {
    font-size: 1.5rem;
  }
}
/* Redes sociales en móvil */
.share-section .share-box {
  gap: 1rem;
}

.share-section .share-box > div {
  flex-direction: row !important;
  justify-content: center;
}
    

    @media (max-width: 700px) {
      .taller-grid { grid-template-columns: 1fr; }
      .header-content { flex-direction: column; text-align: center; }
      .share-box { flex-direction: column; text-align: center; }
    }

    /* Redes sociales en móvil */
    .share-box a div:hover {
    background: #2a2a2a;
    transform: translateY(-2px);
}
/* ===== BARRA DE SCROLL MÁS GRANDE SOLO PARA PC ===== */
@media (min-width: 601px) {
  .tab-container {
    scrollbar-width: thin; /* Cambia a 'auto' para hacerla más grande en Firefox */
  }
  
  /* Para Chrome, Safari, Edge */
  .tab-container::-webkit-scrollbar {
    height: 8px; /* ← Más gruesa que en móvil (3px → 8px) */
  }
  
  .tab-container::-webkit-scrollbar-track {
    background: #2a2a2a;
    border-radius: 10px;
  }
  
  .tab-container::-webkit-scrollbar-thumb {
    background: #00bfff;
    border-radius: 10px;
  }
  
  /* Hover para la barra - se pone más grande al pasar el mouse */
  .tab-container::-webkit-scrollbar-thumb:hover {
    background: #33ccff;
    height: 10px;
  }
}

/* Modo claro para PC */
@media (min-width: 601px) {
  body.light-mode .tab-container::-webkit-scrollbar-track {
    background: #e2e8f0;
  }
  
  body.light-mode .tab-container::-webkit-scrollbar-thumb {
    background: #00bfff;
  }
}
/* ===== EFECTO AZUL AL HACER CLIC EN BOTONES Y PRODUCTOS ===== */
/* Efecto para las pestañas cuando se hace clic */
.tab:active {
  transform: scale(0.96);
  background: #00bfff !important;
  color: #0a0a0a !important;
  transition: 0.05s !important;
}

/* Efecto para los botones "Consultar" de productos */
.producto-card a:active {
  transform: scale(0.95);
  background: #00bfff !important;
  color: black !important;
}

/* Efecto para los botones de redes sociales */
#redes a div:active {
  transform: scale(0.98);
  background: #00bfff20 !important;
  border-color: #00bfff !important;
}

/* Efecto para el botón de copiar */
.btn-copiar:active {
  transform: scale(0.96);
  background: #33ccff !important;
}

/* Efecto para los botones flotantes */
.float-btn:active {
  transform: scale(0.92);
}

/* Efecto para las tarjetas de producto (opcional) */
.producto-card:active {
  transform: scale(0.98);
  border-color: #00bfff;
}
/* ===== FORZAR QUE LA PESTAÑA ACTIVA SE VEA AZUL ===== */
.tab.activo {
  background: #00bfff !important;
  border-color: #00bfff !important;
  color: #0a0a0a !important;
  box-shadow: 0 4px 12px rgba(0,191,255,0.3) !important;
}

/* Modo claro también */
body.light-mode .tab.activo {
  background: #00bfff !important;
  color: #0a0a0a !important;
  border-color: #00bfff !important;
}

/* Animaciones sutiles */
.seccion {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

.float-btn {
  transition: all 0.2s ease;
}

/* ===== SECCIÓN SERVICIOS ===== */
.servicios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.servicio-card {
  background: #1f1f1f;
  border-radius: 20px;
  padding: 1.5rem;
  border: 1px solid #333;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.servicio-card:hover {
  transform: translateY(-5px);
  border-color: #00bfff;
  box-shadow: 0 10px 25px rgba(0,191,255,0.1);
}

.servicio-icono {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  display: inline-block;
}

.servicio-card h3 {
  color: #00bfff;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
}

.servicio-descripcion {
  color: #aaa;
  font-size: 0.9rem;
  margin: 0.5rem 0;
  line-height: 1.5;
}

.servicio-precio {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  margin: 1rem 0;
}

.servicio-precio small {
  font-size: 0.8rem;
  color: #888;
  font-weight: normal;
}

.servicio-boton {
  background: transparent;
  border: 2px solid #00bfff;
  color: #00bfff;
  padding: 0.6rem 1.2rem;
  border-radius: 40px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s ease;
  width: 100%;
  margin-top: 1rem;
}

.servicio-boton:hover {
  background: #00bfff;
  color: #0a0a0a;
}

.servicio-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #00bfff20;
  color: #00bfff;
  padding: 0.2rem 0.6rem;
  border-radius: 20px;
  font-size: 0.7rem;
  font-weight: 600;
}

/* Destacado */
.servicio-card.destacado {
  border: 2px solid #00bfff;
  background: linear-gradient(135deg, #1f1f1f 0%, #1a2a2a 100%);
}

.servicio-card.destacado .servicio-badge {
  background: #00bfff;
  color: #0a0a0a;
}

/* Modo claro */
body.light-mode .servicio-card {
  background: white;
  border-color: #e2e8f0;
}

body.light-mode .servicio-card:hover {
  border-color: #00bfff;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

body.light-mode .servicio-descripcion {
  color: #64748b;
}

body.light-mode .servicio-precio {
  color: #1e293b;
}

body.light-mode .servicio-card.destacado {
  background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%);
}
/* Ajustar icono de WhatsApp dentro del botón */
.float-btn img.whatsapp-icon {
  width: 28px;
  height: 28px;
  filter: brightness(0) invert(1); /* Esto hace el icono blanco */
  transition: 0.2s;
}
/* ===== MEJORAS PARA SELECTOR DE PRODUCTOS EN MÓVIL ===== */
@media (max-width: 600px) {
  /* Ajustar el selector de productos */
  #presupuesto_producto {
    font-size: 0.85rem !important;
    padding: 0.6rem 0.8rem !important;
  }
  
  /* Las opciones dentro del select también se ajustan */
  #presupuesto_producto option,
  #presupuesto_producto optgroup {
    font-size: 0.8rem !important;
    white-space: normal !important; /* Permite texto en varias líneas */
    word-break: break-word !important;
  }
  
  /* Para navegadores que soportan esto (iOS) */
  @supports (-webkit-touch-callout: none) {
    #presupuesto_producto {
      font-size: 16px !important; /* Evita zoom en iOS */
    }
  }
}

/* Mejora general para selects en móvil */
@media (max-width: 600px) {
  select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2300bfff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
  }
  
  /* Modo claro también */
  body.light-mode select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2300bfff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
  }
}

.float-btn.whatsapp:hover img.whatsapp-icon {
  transform: scale(1.1);
}
@media (max-width: 600px) {
  #share-inicio-btn, #share-btn {
    width: 100%;
    justify-content: center;
    padding: 0.8rem !important;
  }
  
  #inicio .content-card > div:first-of-type {
    margin-bottom: 0;
  }
  /* Añadir skeleton loading para productos */
.skeleton-card {
    background: linear-gradient(90deg, #1f1f1f 25%, #2a2a2a 50%, #1f1f1f 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 16px;
    height: 200px;
}

@keyframes loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
    }

  

}
/* Header mejorado */
.header {
  background: #111;
  padding: 1.5rem 2rem;
  border-bottom: 3px solid #00bfff;
}

.header-content {
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.logo-container {
  flex-shrink: 0;
}

.logo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #00bfff;
  transition: all 0.3s ease;
}

.logo:hover {
  transform: scale(1.05);
  box-shadow: 0 0 20px rgba(0,191,255,0.3);
}

.header-text h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.header-text h1 .highlight {
  color: #00bfff;
  background: none;
  -webkit-text-fill-color: #00bfff;
}

.tagline {
  color: #aaa;
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

.header-badges {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.badge {
  background: rgba(0,191,255,0.1);
  color: #00bfff;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 500;
}

/* Modo claro */
body.light-mode .badge {
  background: rgba(0,191,255,0.15);
}

/* Animaciones globales */
* {
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Efecto de carga para imágenes */
.producto-imagen {
  background: linear-gradient(90deg, #2a2a2a 25%, #333 50%, #2a2a2a 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.producto-imagen.loaded {
  animation: none;
  background: none;
}
/* Busca y reemplaza tu .overlay y .sidebar-overlay por esto */
.overlay, .sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Fondo oscuro suave */
  backdrop-filter: blur(4px);
  z-index: 999;
  display: none; /* Por defecto oculto */
  transition: opacity 0.3s ease;
}

/* IMPORTANTE: Esto quita la "mancha negra" en modo claro */
body.light-mode .overlay, 
body.light-mode .sidebar-overlay {
  background: rgba(255, 255, 255, 0.4); /* Se vuelve blanco transparente */
}

/* Cuando el sidebar esté abierto, mostramos el overlay */
.sidebar.open + .overlay,
.sidebar.open ~ .sidebar-overlay {
  display: block !important;
}

.sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}

.sidebar {
  position: fixed;
  top: 0;
  left: -300px;
  width: 280px;
  height: 100%;
  background: #111;
  z-index: 999;
  transition: 0.3s;
  padding: 1rem;
  overflow-y: auto;
  box-shadow: 2px 0 20px rgba(0,0,0,0.3);
}

.sidebar.open {
  left: 0;
}

.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 0.5rem 0.5rem 1rem 0.5rem;
  border-bottom: 1px solid #333;
}

.sidebar-close {
  background: none;
  border: none;
  color: #00bfff;
  font-size: 1.5rem;
  cursor: pointer;
}
/* Asegurar que el botón de cerrar esté visible */
.sidebar-close {
  background: none;
  border: none;
  color: #00bfff;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 5px;
}

.sidebar-section {
  margin-bottom: 2rem;
}

.sidebar-section h4 {
  color: #00bfff;
  margin-bottom: 1rem;
  font-size: 1rem;
}

.sidebar-section a {
  display: block;
  padding: 0.5rem 0;
  color: #ccc;
  text-decoration: none;
  transition: 0.2s;
}

.sidebar-section a:hover {
  color: #00bfff;
  padding-left: 0.5rem;
}


@media (max-width: 768px) {
  /* Ocultar pestañas */
  .tab-container {
    display: none;
  }
  
  /* Botón menú */
  .menu-btn {
    display: flex;
    position: fixed;
    top: 15px;
    left: 15px;
    z-index: 1001;
    background: #00bfff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    font-size: 1.4rem;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  }
  
  /* Ajustes header */
  .header {
    padding: 1rem;
    text-align: center;
  }
  
  .header-content {
    justify-content: center;
  }
  
  .logo {
    width: 60px;
    height: 60px;
  }
  
  .header-text h1 {
    font-size: 1.5rem;
  }
  
  .header-text p {
    font-size: 0.8rem;
  }
  
  .header-badges {
    justify-content: center;
  }
}

/* Ocultar pestañas en PC también */
@media (min-width: 769px) {
  .tab-container {
    display: none;
  }
  
  .menu-btn {
    display: flex;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 1001;
    background: #00bfff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.5rem;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  }
  
  .header {
    padding-left: 90px;
  }
}

/* Modo claro para el botón */
body.light-mode .menu-btn {
  background: #00bfff;
  color: #0a0a0a;
}
/* ===== MODO CLARO PARA EL BOTÓN MENÚ ===== */
body.light-mode .menu-btn {
  background: #00bfff;
  color: #0a0a0a;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

body.light-mode .menu-btn:hover {
  background: #33ccff;
  transform: scale(1.05);
}

/* Modo claro para el sidebar */
body.light-mode .sidebar {
  background: white;
  border-right: 1px solid #e2e8f0;
}

body.light-mode .sidebar-header {
  border-bottom-color: #e2e8f0;
}

body.light-mode .sidebar-section h4 {
  color: #00bfff;
}

body.light-mode .sidebar-section a {
  color: #64748b;
}

body.light-mode .sidebar-section a:hover {
  color: #00bfff;
  background: rgba(0,191,255,0.1);
}

body.light-mode .sidebar-close {
  color: #00bfff;
}

/* Modo claro para el overlay del sidebar */
body.light-mode .sidebar-overlay {
  background: rgba(0,0,0,0.4);
}
/* Cuando el sidebar está abierto, ocultar el botón ☰ exterior */
.sidebar.open ~ .menu-btn {
  display: none;
}

/* O mejor aún: hacer que el botón ☰ quede detrás del sidebar */
.menu-btn {
  z-index: 1001;
}

.sidebar {
  z-index: 1002; /* Mayor que el botón ☰ */
}
/* Asegura que el contenedor de accesorios se adapte al móvil */
#grid-accesorios {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  padding: 10px;
  width: 100%;
}

/* Ajustes individuales para la tarjeta en móviles */
.producto-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; /* Para que todas midan lo mismo */
  background: #1a1a1a; /* O el color de fondo de tus tarjetas */
  border-radius: 12px;
  padding: 10px;
}

/* Forzar que los títulos no deformen la tarjeta */
.producto-card h3 {
  font-size: 0.9rem !important; /* Texto un poco más pequeño para que quepa en móvil */
  line-height: 1.2;
  margin: 8px 0 !important;
}

/* Asegurar que el botón de WhatsApp no se desborde */
.producto-card a {
  font-size: 0.8rem !important;
  padding: 0.5rem 0.2rem !important;
  text-align: center;
  width: 100%;
}
/* ========================================================
   PERSONALIZACIÓN DEL SCROLLBAR PARA LA BARRA LATERAL (SIDEBAR)
   ======================================================== */

/* 1. Motores Webkit (Chrome, Safari, Edge, Opera) */
.sidebar::-webkit-scrollbar {
  width: 8px; /* Ancho de la barra de scroll vertical */
}

/* El fondo por donde se desliza la barra (Track) */
.sidebar::-webkit-scrollbar-track {
  background: #151515; /* Fondo oscuro a juego con tu buscador */
  border-radius: 10px;
}

/* La barrita que arrastras (Thumb) */
.sidebar::-webkit-scrollbar-thumb {
  background: #00bfff; /* El azul eléctrico de tu temática */
  border-radius: 10px;
  border: 2px solid #151515; /* Crea un pequeño margen elegante */
}

/* Efecto cuando pasas el ratón por encima de la barrita */
.sidebar::-webkit-scrollbar-thumb:hover {
  background: #008cc2; /* Un azul un poco más oscuro al hacer hover */
}

/* 2. Soporte para Firefox (usa un estándar diferente) */
@supports (scrollbar-color: auto) {
  .sidebar {
    scrollbar-color: #00bfff #151515; /* color del tirador + color del fondo */
    scrollbar-width: thin; /* Hace la barra más fina, ideal para móvil */
  }
}
/* Adaptación del scroll para el Modo Claro */
.light-mode .sidebar::-webkit-scrollbar-track {
  background: #f0f0f0; 
}

.light-mode .sidebar::-webkit-scrollbar-thumb {
  background: #00bfff; 
  border: 2px solid #f0f0f0;
}

@supports (scrollbar-color: auto) {
  .light-mode .sidebar {
    scrollbar-color: #00bfff #f0f0f0;
  }
}
.tab, .producto-card, .servicio-card, button, input {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Efecto Hover flotante para tarjetas de productos/servicios */
.producto-card:hover, .servicio-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0, 191, 255, 0.15); /* Brillo sutil del azul eléctrico de tu marca */
}
#formPresupuesto input:focus, #formPresupuesto select:focus, #formPresupuesto textarea:focus {
  border-color: #00bfff !important;
  outline: none;
  box-shadow: 0 0 0 4px rgba(0, 191, 255, 0.15);
}
/* Buscador global con efecto de súper iluminación azul */
#buscadorGlobal:focus {
  outline: none !important;
  
  /* 1. Hacemos el borde un poco más grueso y con opacidad total */
  border: 2px solid #00bfff !important; 
  
  /* 2. Técnica de triple capa para un efecto neón intenso */
  box-shadow: 
    0 0 10px rgba(0, 191, 255, 0.9),   /* Capa 1: Brillo interno muy fuerte y concentrado */
    0 0 25px rgba(0, 191, 255, 0.6),   /* Capa 2: Brillo medio que se expande */
    0 0 45px rgba(0, 191, 255, 0.3);   /* Capa 3: Destello exterior suave y gigante */
    
  /* 3. Oscurecemos un punto más el fondo del input para generar un contraste brutal */
  background-color: #080808 !important; 
}



