/* ===== Estilos generales ===== */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
    padding: 20px;
}

/* ===== Header ===== */
#header {
    background-color: #e1e1e1;
    padding: 1px 0;
}

#header .navbar-brand img {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

#header .navbar-brand img:hover {
    opacity: 50;
}

/* ===== Formulario ===== */
.container {
    margin-top: 20px;
    flex-grow: 1;
}

#container_alta {
    width: 40%;
    margin: 0 auto; /* centra horizontalmente */
    margin-top: 20px;
    background-color: #fffcfc;
    border: none;
    border-radius: 15px;
    padding: 10px 20px;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

.especial {
    background-color: rgb(243, 243, 243);
}

h3 {
    font-weight: 700;
    color: #c1c1c1;
}

.form-control {
    border-radius: 5px;
    border-color: #ced4da;
}

.datetime-input {
    border-radius: 5px;
    border: 1px solid #ced4da;
    padding: 8px 10px;
    font-size: 14px;
    color: #495057;
}

.short-time-input {
    width: auto;
    max-width: 150px;
}

/* ===== Botones ===== */
.btn-primary {
    color: #333;
    background-color: #e1e1e1;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #b1b1b1;
}

/* ===== Footer ===== */
footer {
    background: #333;
    color: white;
    text-align: center;
    padding: 10px;
}

#footer a {
    color: #c1c1c1;
}

.footer_atla {
    margin-top: auto; 
    background: #333;
    color: white;
    text-align: center;
    padding: 10px;
}

.footer_alta a {
    color: #c1c1c1;
}

/* ===== Barra de navegación ===== */   
#navbar-inner {
    background-color: #ffffff;
    padding: 10px 10px 2px 10px;
    text-align: center;
}

#main-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

#main-container_alta {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fdfdff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    margin-bottom: 50%; /* ← agrega espacio antes del footer */
}

#content-row-especial {
    margin: 0 auto; /* centra horizontalmente */
    width: 96%;
}

#main-container-especial {
    margin: 0 auto; /* centra horizontalmente */
    width: 50%;
    background-color: #ffffff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

#container_calendar {
    width: 80%;
    margin: 0 auto; /* centra horizontalmente */
    margin-top: 2rem;
    margin-bottom: 2rem;
    box-sizing: border-box;
    padding: 0.5rem;
}

.checkbox-container {
    display: flex;
    align-items: center;
    gap: 6px; /* espacio entre checkbox y texto */
    margin-bottom: 10px;
}

.checkbox-container input[type="checkbox"] {
    margin: 4 20 0 0;
}

.form-check-label {
    margin: 0 20 0 0;
    padding: 0 20 0 0;
}

#control-wrapper {
    width: 50%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.control-container {
    width: 100%;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
    display: block;
}

.control-container h3 {
    font-weight: 700;
    color: #343a40;
    text-align: left;
}

.table th,
.table td {
    text-align: center;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid black !important;
}

.control-container .btn-primary {
    color: #fff;
    background-color: rgb(102, 159, 206);
    border-radius: 5px;
    padding: 10px;
    width: 100%;
    border: none;
    transition: background-color 0.2s ease-in-out;
}

.control-container .btn-primary:hover {
    background-color: #0056b3;
}

#container_calendar {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.checkbox-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.checkbox-container input[type="checkbox"] {
    margin: 0;
    transform: scale(1.1);
}

.form-check-label {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    cursor: pointer;
}

label, h5, h6 {
    text-align: left;
    display: block;
}
