/**
 * TEMA AZUL PARA COMPONENTES PERSONALIZADOS
 * Asegura que todos los componentes personalizados utilizan tonos azules coherentes
 */

/* ========================================
   COMPONENTES DE PRODUCTOS
   ======================================== */

/* Cards de productos */
.product-card {
  border-color: var(--theme-muted);
  box-shadow: 0 4px 10px var(--theme-shadow);
}

.product-card:hover {
  box-shadow: 0 10px 20px var(--theme-shadow);
}

.product-title {
  color: var(--theme-primary);
}

.product-price {
  color: var(--theme-secondary);
  font-weight: bold;
}

/* Badges de productos */
.product-badge {
  background-color: var(--theme-secondary);
  color: white;
}

.product-badge.sale {
  background-color: var(--error);
}

.product-badge.new {
  background-color: var(--theme-primary);
}

/* Acciones de productos */
.product-actions .btn {
  color: var(--theme-primary);
  border-color: var(--theme-muted);
}

.product-actions .btn:hover {
  background-color: var(--theme-light);
}

/* ========================================
   COMPONENTES DE SERVICIOS
   ======================================== */

/* Cards de servicios */
.service-card {
  border-left: 4px solid var(--theme-primary);
}

.service-icon {
  color: var(--theme-primary);
}

.service-title {
  color: var(--theme-dark);
}

/* ========================================
   COMPONENTES DE INFORMACIÓN
   ======================================== */

/* Mostrador */
.mostrador-item {
  border: 1px solid var(--theme-muted);
  box-shadow: 0 4px 10px var(--theme-shadow);
}

.mostrador-item:hover {
  box-shadow: 0 10px 20px var(--theme-shadow);
}

.mostrador-content {
  background-color: white;
  border-top: 3px solid var(--theme-primary);
}

.mostrador-title {
  color: var(--theme-primary);
}

/* Beneficios */
.beneficio-item {
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  background-color: white;
  border: 1px solid var(--theme-muted);
  box-shadow: 0 4px 10px var(--theme-shadow);
  transition: all 0.3s ease;
}

.beneficio-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px var(--theme-shadow);
  border-color: var(--theme-border);
}

.beneficio-icon {
  color: var(--theme-primary);
  font-size: 2rem;
  margin-bottom: 1rem;
}

.beneficio-title {
  color: var(--theme-dark);
  font-weight: 600;
}

/* Precios */
.precio-item {
  border-radius: var(--radius-lg);
  border: 1px solid var(--theme-muted);
  overflow: hidden;
  transition: all 0.3s ease;
}

.precio-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px var(--theme-shadow);
}

.precio-header {
  background-color: var(--theme-primary);
  color: white;
  padding: 1.5rem;
  text-align: center;
}

.precio-popular .precio-header {
  background-color: var(--theme-secondary);
}

.precio-body {
  padding: 1.5rem;
  background-color: white;
}

.precio-price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--theme-dark);
}

.precio-features {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.precio-features li {
  padding: 0.5rem 0;
  display: flex;
  align-items: center;
}

.precio-features li:before {
  content: "✓";
  color: var(--theme-primary);
  margin-right: 0.5rem;
  font-weight: bold;
}

/* ========================================
   COMPONENTES DE CONTACTO
   ======================================== */

/* Información de contacto */
.contact-info-item {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.contact-info-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--theme-light);
  color: var(--theme-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
}

/* Formulario de contacto */
.contact-form {
  background-color: white;
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: 0 5px 15px var(--theme-shadow);
}

.contact-form .form-control:focus {
  border-color: var(--theme-secondary);
}

/* ========================================
   FOOTER Y NAVEGACIÓN
   ======================================== */

/* Footer */
.footer-modern {
  background: linear-gradient(135deg, var(--theme-light) 0%, white 100%);
  border-top: 1px solid var(--theme-muted);
}

.footer-title {
  color: var(--theme-primary);
  font-weight: 600;
}

.footer-link {
  color: var(--gray-700);
  transition: all 0.2s ease;
}

.footer-link:hover {
  color: var(--theme-primary);
  padding-left: 0.5rem;
}

/* CTA Footer */
.footer-cta {
  background: linear-gradient(90deg, var(--theme-primary), var(--theme-secondary));
  padding: 2rem 0;
}

.cta-title {
  color: white;
  font-weight: 700;
}

.cta-subtitle {
  color: rgba(255, 255, 255, 0.9);
}

.btn-cta {
  background: white;
  color: var(--theme-primary);
}

.btn-cta:hover {
  background: var(--gray-100);
  color: var(--theme-secondary);
}

/* ========================================
   ESTILOS ADICIONALES
   ======================================== */

/* Bordes temáticos */
.border-top-theme {
  border-top: 3px solid var(--theme-primary) !important;
}

.border-bottom-theme {
  border-bottom: 3px solid var(--theme-primary) !important;
}

.border-left-theme {
  border-left: 3px solid var(--theme-primary) !important;
}

.border-right-theme {
  border-right: 3px solid var(--theme-primary) !important;
}

/* Efectos de enfoque */
.focus-theme:focus {
  box-shadow: 0 0 0 0.25rem var(--theme-shadow);
  border-color: var(--theme-secondary);
}

/* ========================================
   ADAPTACIONES RESPONSIVAS 
   ======================================== */

@media (max-width: 768px) {
  .precio-item {
    margin-bottom: 2rem;
  }
  
  .beneficio-item {
    margin-bottom: 1.5rem;
  }
}