
html, body {
    font-family: Arial, Helvetica, sans-serif !important;
    height: 100%;
    margin: 5px;
}

body {
    display: flex;
    flex-direction: column;
}

h1 {
    font-family: Helvetica;
    color: #333;
}

h2 {
    font-family: Helvetica;
    color: #333;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
table, th, td {
    border: 1px solid #ddd;
}
th, td {
    padding: 8px;
    text-align: left;
}
th {
    background-color: #00859B;
}
tr:nth-child(even) {
    background-color: #f9f9f9;
}

label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}
input[type="text"], input[type="email"], input[type="tel"] {
    width: 100%;
    padding: 8px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
}
button {
    padding: 10px 20px;
    background-color: #97D700;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
button:hover {
    background-color: #E0E722;
}
form {
    margin-bottom: 20px;
}


table {
    width: 100%;
    border-collapse: collapse;
}

thead th {
    background-color: #00859B;
    text-align: left;
    padding: 8px;
    color: white;
}

tbody td {
    padding: 4px;
    border-bottom: 1px solid #ddd;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"] {
    width: 100%;
    padding: 8px;
    margin: 4px 0;
    box-sizing: border-box;
}

thead input {
    width: 90%;
    padding: 5px;
    box-sizing: border-box;
}

.btn-custome {
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    text-decoration: none;
    color: white;
    background-color: #97D700; /* Color azul */
    border-radius: 5px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-custome:hover {
    background-color: #45a049; /* Color azul oscuro al pasar el mouse */
}


.btn-eliminar {
    background-color: #ff4d4d; /* Rojo claro */
    color: white; /* Texto blanco */
    border: none; /* Sin borde */
    padding: 10px 15px; /* Espaciado interno */
    border-radius: 5px; /* Bordes redondeados */
    cursor: pointer; /* Cambiar el cursor a mano */
    font-size: 14px; /* Tamaño de fuente */
    transition: background-color 0.3s ease; /* Animación suave */
}

.btn-eliminar:hover {
    background-color: #e60000; /* Rojo más oscuro al pasar el mouse */
}

.submit-row {
    text-align: right;
}

/* Estilo base para el formulario */
#form-contacto {
    margin: auto;
    font-family: Arial, sans-serif;
}

/* Estilo para los labels */
#form-contacto label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 14px;
}

/* Estilo para los inputs */
.form-control {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 2px solid #b0e6db; /* Borde similar al color turquesa */
    border-radius: 8px; /* Bordes redondeados */
    outline: none; /* Sin borde azul al seleccionar */
    box-sizing: border-box; /* Asegura que el padding no afecte el tamaño */
    transition: border-color 0.3s ease; /* Efecto suave al enfocar */
}

/* Cambios de estilo al enfocar el input */
.form-control:focus {
    border-color: #00859B; /* Color más brillante al enfocar */
    box-shadow: 0 0 5px rgba(74, 216, 183, 0.5); /* Sombra externa */
}

/* Estilo para el texto de validación */
.form-text {
    color: #999; /* Color gris claro */
    font-size: 12px; /* Tamaño más pequeño */
    margin-top: 5px;
}

.form-group {
    margin-bottom: 20px;
}
  
h2.heading {
    text-transform: uppercase;
    text-align: left;
    color: #333;
    border-bottom: 1px solid #63B1BC;
    padding-bottom: 3px;
    margin-bottom: 20px;
}

.controls {
    text-align: left;
    position: relative;
  }
  .controls input[type="text"],
  .controls input[type="email"],
  .controls input[type="number"],
  .controls input[type="date"],
  .controls input[type="tel"],
  .controls textarea,
  .controls button,
  .controls select {
    padding: 12px;
    font-size: 14px;
    border: 2px solid #c6c6c6;
    width: 100%;
    margin-bottom: 18px;
    color: #888;
    font-family: 'Arial', 'sans-serif';
    font-weight: 300;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .controls input[type="text"]:focus, .controls input[type="text"]:hover,
  .controls input[type="email"]:focus,
  .controls input[type="email"]:hover,
  .controls input[type="number"]:focus,
  .controls input[type="number"]:hover,
  .controls input[type="date"]:focus,
  .controls input[type="date"]:hover,
  .controls input[type="tel"]:focus,
  .controls input[type="tel"]:hover,
  .controls textarea:focus,
  .controls textarea:hover,
  .controls button:focus,
  .controls button:hover,
  .controls select:focus,
  .controls select:hover {
    outline: none;
    border-color: #9FB1C1;
  }
  .controls input[type="text"]:focus + label, .controls input[type="text"]:hover + label,
  .controls input[type="email"]:focus + label,
  .controls input[type="email"]:hover + label,
  .controls input[type="number"]:focus + label,
  .controls input[type="number"]:hover + label,
  .controls input[type="date"]:focus + label,
  .controls input[type="date"]:hover + label,
  .controls input[type="tel"]:focus + label,
  .controls input[type="tel"]:hover + label,
  .controls textarea:focus + label,
  .controls textarea:hover + label,
  .controls button:focus + label,
  .controls button:hover + label,
  .controls select:focus + label,
  .controls select:hover + label {
    color: #63B1BC;
    cursor: text;
  }
  .controls .fa-sort {
    position: absolute;
    right: 10px;
    top: 17px;
    color: #999;
  }
  .controls select {
    -moz-appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
  }
  .controls label {
    position: absolute;
    left: 8px;
    top: 12px;
    width: 60%;
    color: #999;
    font-size: 16px;
    display: inline-block;
    padding: 4px 10px;
    font-weight: 400;
    background-color: rgba(255, 255, 255, 0);
    -moz-transition: color 0.3s, top 0.3s, background-color 0.8s;
    -o-transition: color 0.3s, top 0.3s, background-color 0.8s;
    -webkit-transition: color 0.3s, top 0.3s, background-color 0.8s;
    transition: color 0.3s, top 0.3s, background-color 0.8s;
    background-color: white;
  }
  .controls label.active {
    top: -11px;
    color: #555;
    background-color: white;
    width: auto;
  }
  .controls textarea {
    resize: none;
    height: 200px;
  }

  .sumatoria_componentes thead th{
    background-color: #00859B;
    color: white;
  }


main {
    flex-grow: 1;
    padding: 20px; 
}

footer {
    background-color: rgb(13, 35, 14);
    padding: 20px; 
    text-align: center; 
}

.background_components{
    background-color: white;
}

.table-products thead th {
    position: sticky;
    top: 0;
    background-color: #00859B;
    text-align: left;
    padding: 8px;
    color: white;
    z-index: 1; /* Asegura que estén por encima del contenido */
}