/* ======== SECCIONES ======== */
.side-section {
  background-color: #EEEEEE; /* gris claro */
  padding: 20px;
  min-height: 100vh;
  transition: background-color 0.3s ease;
}

/* Centro */
.center-section {
  background-color: #fff;
  padding: 40px;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
  min-height: 100vh;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Títulos */
.center-section h1,
.center-section h2,
.center-section h3,
.center-section h5{
  color: #973026;
}

/* Tamaños base para títulos en la sección central */
.center-section h1 {
  font-size: 1.8rem;  /* antes era más grande, ahora más manejable */
}

.center-section h2 {
  font-size: 1.6rem;
}

.center-section h3 {
  font-size: 1.4rem;
}

.center-section h5 {
  font-size: 1.2rem;
}

.center-section.div.card-body{
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 8px;
  padding: 20px;
  margin: 30px auto;
  max-width: 900px;;
}

/* ======== MODO ALTO CONTRASTE ======== */
body.high-contrast {
  background-color: #000;
  color: #fff;
}

/* Laterales y centro en negro */
body.high-contrast .side-section,
body.high-contrast .center-section {
  background-color: #000 !important;
  color: #fff !important;
}

/* Bordes blancos en el centro */
body.high-contrast .center-section {
  border-left: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* Títulos siguen siendo verdes */
body.high-contrast .center-section h1,
body.high-contrast .center-section h2,
body.high-contrast .center-section h3 {
  color: #61CE70;
}

body.high-contrast .center-section strong,
body.high-contrast .center-section b {
  color: #ffff00;
}

/* === RESET GLOBAL === */
html, body {
  margin: 0;
  padding: 0;
  min-height: 100vh;       /* al menos toda la altura de la ventana */
  display: flex;
  flex-direction: column;
  overflow-x: visible;
}



main.container, .container-fluid {
  flex: 1;               /* ocupa todo el espacio disponible */
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}


/* Columnas laterales */
.side-section {
  background-color: #EEEEEE; /* tu gris original */
  padding: 20px;
  min-height: 100vh;
  transition: background-color 0.3s ease;
}

/* Estilo de la tabla */
.table-documentacion {
  border-collapse: collapse;
  width: 100%;
}

.table-documentacion th,
.table-documentacion td {
  border: 2px solid #000;
  padding: 8px;
  text-align: left;
}

body.high-contrast .table-documentacion th,
body.high-contrast .table-documentacion td {
  border: 2px solid #fff;
  padding: 8px;
  text-align: left;
}

/* Botón calcular */
.btn-calcular {
    background-color: #F79300;
    color: #fff;
    font-weight: bold;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    margin-top: 15px;
}

/* Card de resultados */
.resultado-card {
    border: 2px solid #000;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
    background-color: #fff;
    position: relative;
}

/* Botón volver dentro del card */
.resultado-card .volver {
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 10px;
    font-weight: bold;
    text-decoration: underline;
}

.resultado-card .volver img {
    width: 20px;
    height: 20px;
    margin-right: 6px;
}

/* Formularios */
.calculadora-form label {
    display: block;
    margin-top: 10px;
    margin-bottom: 5px;
    font-weight: bold;
}

.calculadora-form select,
.calculadora-form input[type="number"] {
    width: 200px; /* Selects más cortos */
    display: block;
    text-align: left;
    padding: 5px;
    margin-bottom: 8px;
}

/* Campo obligatorio */
.required-msg {
    color: #FF4A4A;
    font-size: 0.9rem;
    margin-top: -5px;
    margin-bottom: 8px;
}

/* Alert card */
.alert-card {
    position: fixed;
    top: 20px;
    left: 20px;
    background-color: #d4edda;
    color: #155724;
    padding: 12px 20px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 999;
    animation: fadeOut 3s forwards;
}

@keyframes fadeOut {
    0% { opacity: 1; }
    80% { opacity: 1; }
    100% { opacity: 0; display: none; }
}

table {
        width: 100%;
        border-collapse: collapse;
    }

    table th,
    table td {
        border: 1px solid #000;
        /* Líneas visibles */
        padding: 8px;
    }
