.contact-form-container {
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
      padding: 30px;
      margin: 40px 0;
    }
    
    .contact-header {
      background: linear-gradient(135deg, #0f172a, #1e293b);
      color: white;
      border-radius: 8px;
      padding: 25px;
      margin-bottom: 25px;
    }
    
    .contact-title {
      font-size: 24px;
      font-weight: 700;
      margin-bottom: 10px;
    }
    
    .contact-subtitle {
      font-size: 16px;
      opacity: 0.9;
    }
    
    .form-label {
      font-weight: 600;
      margin-bottom: 8px;
      color: #0f172a;
    }
    
    .required::after {
      content: " *";
      color: #dc3545;
    }
    
    .form-control, .form-select {
      border: 1px solid #dee2e6;
      border-radius: 8px;
      padding: 12px 15px;
      margin-bottom: 20px;
    }
    
    .form-control:focus, .form-select:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
    }
    
    .privacy-policy {
      background: #f8f9fa;
      border-radius: 8px;
      padding: 20px;
      margin: 25px 0;
      border: 1px solid #e9ecef;
    }
    
    .btn-submit {
      background: #3d4d6a;
      color: white;
      border: none;
      border-radius: 8px;
      padding: 14px 25px;
      font-weight: 600;
      font-size: 16px;
      width: 100%;
      transition: all 0.3s;
    }
    
    .btn-submit:hover {
      background: #1d4ed8;
      transform: translateY(-2px);
    }
    
    .confirmation {
      display: none;
      text-align: center;
      padding: 40px 20px;
      background: rgba(16, 185, 129, 0.1);
      border-radius: 10px;
      border: 1px solid rgba(16, 185, 129, 0.3);
      margin-top: 30px;
    }
    
    .confirmation-icon {
      font-size: 48px;
      color: #10b981;
      margin-bottom: 20px;
    }
    
    .confirmation h3 {
      color: #10b981;
      margin-bottom: 15px;
    }
    
    .service-icon {
      font-size: 24px;
      color: #2563eb;
      margin-right: 10px;
    }
    
    /* Estilos específicos para integración con Zoho */
    .zcwf_row {
      margin-bottom: 20px;
    }
    
    .zcwf_col_lab {
      margin-bottom: 8px;
    }
    
    .formsubmit {
      margin-right: 10px !important;
    }
    
    .reset-btn {
      background: #6c757d;
      color: white;
      border: none;
      border-radius: 8px;
      padding: 14px 25px;
      font-weight: 600;
      font-size: 16px;
      transition: all 0.3s;
    }
    
    .reset-btn:hover {
      background: #5a6268;
      transform: translateY(-2px);
    }
    
    .form-buttons {
      display: flex;
      gap: 15px;
      margin-top: 20px;
    }
    
    .cta-section {
      background: linear-gradient(135deg, #3d4d6a, #3d4d6a);
      border-radius: 10px;
      padding: 30px;
      color: white;
      margin: 40px 0;
      text-align: center;
    }
    
    .cta-title {
      font-size: 28px;
      font-weight: 700;
      color: white;
      margin-bottom: 15px;
    }

    /* Solo aplica a la lista de "Servicios" */
.service-details ul.service-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.service-details ul.service-list li.service-item {
  display: block !important;   /* mata flex/grid heredado del template */
  padding-left: 0;
  margin-bottom: 1rem;
}

/* Icono y título en la misma línea */
.service-details ul.service-list li.service-item > i,
.service-details ul.service-list li.service-item > span {
  display: inline-block;
  vertical-align: top;
}

/* Separación icono - título */
.service-details ul.service-list li.service-item > i {
  margin-right: 10px;
}

/* Párrafo SIEMPRE abajo */
.service-details ul.service-list li.service-item > p {
  display: block !important;
  margin: .5rem 0 0 32px; /* alinea con el texto después del icono */
}

/* === Servicios: subtítulo + texto === */
.services-content li {
  display: block;
  margin-bottom: 1.5rem;
}

.services-content i {
  color: #0d6efd;
  margin-right: 0.5rem;
}

.services-content strong {
  display: inline-block;
  font-weight: 600;
  font-size: 1.05rem;
}

.services-content p {
  margin: 0.5rem 0 0 1.8rem;
  line-height: 1.6;
}

.service-details .services-content li {
  display: block;
  align-items: unset;
}

.service-details .services-content li p {
  display: block;
  margin: 0.5rem 0 0 1.8rem;
  line-height: 1.6;
}


/* ===== Normalizar logos de marcas (Licenciamiento) ===== */
.service-details .brand-logo-box {
  width: 100%;
  max-width: 280px;   /* ajusta si quieres más ancho */
  height: 120px;      /* altura uniforme para todos los logos */
  margin: 12px auto 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;   /* opcional; puedes quitarlo */
  border-radius: 10px; /* opcional */
}

.service-details .brand-logo-box img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* clave: no distorsiona */
  display: block;
}

/* ===== Sidebar Privacidad: MATCH EXACTO con Licenciamiento ===== */
.privacy-policy.section .services-list a {
  color: #374151;               /* COLOR EXACTO */
  display: block;
  padding: 12px 0 12px 18px;
  margin: 0;
  border: 0;
  border-left: 2px solid #e5e7eb;
  font-weight: 500;
  background: transparent;
}

.privacy-policy.section .services-list a:hover {
  color: #374151;
  border-left-color: #0d6efd;
}

.privacy-policy.section .services-list a.active {
  color: #374151;
  border-left-color: #0d6efd;
}

/* Definiciones: alineación y estilo */
.definitions-list dt {
  font-weight: 700;
  color: #1f2937;
}

.definitions-list dd {
  margin-bottom: 0;
  color: #334155;
  line-height: 1.7;
}

/* Principios - lista con check y texto en dos niveles */
.policy-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.policy-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
}

.policy-list li i {
  font-size: 18px;
  margin-top: 4px;
  flex-shrink: 0;
}

.policy-list li strong {
  display: block;
  font-weight: 600;
  color: #1f2937;
}

.policy-list li p {
  margin: 4px 0 0;
  color: #334155;
  line-height: 1.6;
}

/* Principios: color unificado con el resto del documento */
.policy-list li p {
  color: #334155;   /* texto normal */
  line-height: 1.7;
}

.policy-list li strong {
  color: #1f2937;   /* títulos igual que otras secciones */
}
/* Tabla responsive: solo permitir scroll en pantallas pequeñas */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* En desktop, no queremos scrollbar si no es necesario */
@media (min-width: 992px) {
  .table-responsive {
    overflow-x: visible;
  }
  .policy-table {
    width: 100%;
  }
}
.policy-table {
  width: 100%;
  table-layout: auto;
}

.policy-table th,
.policy-table td {
  word-break: normal;
  overflow-wrap: anywhere;
}
/* Justificado solo para contenido legal */
.policy-content p {
  text-align: justify;
}
/* NO justificar listas, tablas ni bloques informativos */
.policy-content ul,
.policy-content li,
.policy-content table,
.policy-content .contact-info p,
.policy-content .contact-info div {
  text-align: left;
}
/* Servicios TI: justificar solo párrafos, no listas */
.service-details-page .service-details p {
  text-align: justify;
}

/* Listas: por defecto no justificar (evita cosas raras) */
.service-details-page .services-content {
  text-align: left;
}

/* Checklist consistente (icono izquierda + texto derecha) */
.service-details-page .service-details .services-content li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

/* Icono estable */
.service-details-page .service-details .services-content li i {
  flex: 0 0 auto;
  margin-top: 2px;
}

/* Texto ocupa ancho y se justifica */
.service-details-page .service-details .services-content li span {
  display: block;
  flex: 1 1 auto;
  text-align: justify;
  text-justify: inter-word;
}

/* Reducir espacio vertical entre ítems con check */
.service-details-page .service-details .services-content li {
  margin-bottom: 9px;   /* prueba 6–10px */
}

/* Ajustar altura de línea para textos cortos */
.service-details-page .service-details .services-content li span {
  line-height: 1.45;
}

/* ===== Footer: Contacto (tamaño normal y sin MAYÚSCULAS) ===== */
.footer .footer-contact p,
.footer .footer-contact a,
.footer .footer-contact strong {
  font-size: 14px !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Separación bonita entre líneas */
.footer .footer-contact p {
  margin: 0 0 8px 0 !important;
}

/* Que el correo NO parezca título */
.footer .footer-contact a[href^="mailto:"] {
  font-weight: 500 !important;
}

/* El "TECHSTORE" grande se queda, pero el bloque contacto NO hereda rarezas */
.footer .footer-about .sitename {
  text-transform: uppercase;
}
/* Footer: destacar ligeramente el email */
.footer .footer-contact a[href^="mailto:"] {
  font-size: 15.5px !important;   /* un poco más grande */
  font-weight: 600 !important;    /* ligero énfasis */
}


/* Licenciamiento: checklist con 2 líneas (título + descripción) sin modo "tabla" */
.service-details-page .checklist-2line li{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important; /* evita el space-between */
  gap: 12px;
}

.service-details-page .checklist-2line li i{
  flex: 0 0 auto;
  margin-top: 2px;
}

.service-details-page .checklist-2line li .item-content{
  flex: 1 1 auto;
  min-width: 0; /* evita desbordes raros */
}

.service-details-page .checklist-2line li .item-content strong{
  display: block;
}

.service-details-page .checklist-2line li .item-content p{
  margin: 6px 0 0;
  text-align: justify;
}

.service-details-page .checklist-2line li{ margin-bottom: 9px; }


/* Infraestructura (y páginas similares): lista con icono + título + párrafo */
.service-details-page .service-details ul.services-content li{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px; /* reduce espacios */
}

.service-details-page .service-details ul.services-content li i{
  margin-top: 2px;
  flex: 0 0 auto;
}

.service-details-page .service-details ul.services-content li .sc-body{
  flex: 1 1 auto;
  min-width: 0;
}

.service-details-page .service-details ul.services-content li .sc-body p{
  text-align: justify;   /* tu objetivo */
  margin-top: 6px;
}


/* Subtítulos de servicios: azul del template */
.service-details-page .checklist-2line li .item-content strong {
  color: var(--color-primary);   /* azul del template */
  font-size: 1rem;               /* tamaño de subtítulo */
  font-weight: 600;
}

/* Subtítulos (strong) en listas de servicios: mismo azul del template */
.service-details-page .services-content strong{
  color: var(--heading-color);   /* azul del template (#37517e) */
}

/* Si alguna regla te lo sigue pisando, usa esta versión:
.service-details-page .services-content strong{
  color: var(--heading-color) !important;
}
*/
/* Subtítulos (strong) en servicios: mismo azul del template */
.service-details-page .services-content.checklist-2line .item-content strong {
  color: var(--heading-color) !important;
  font-weight: 700;
}


/* === Footer: normalizar tamaños de texto === */
.footer .footer-about .sitename {
  font-size: 20px;   /* antes estaba gigante */
  font-weight: 600;
}

.footer .footer-contact p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 6px;
}

.footer .footer-contact a {
  font-size: 14px;
}

.footer .footer-contact strong {
  font-weight: 600;
}

/* Ajustar iconos del footer */
.footer .footer-contact i {
  font-size: 14px;
  vertical-align: middle;
}




