
* {
  box-sizing: border-box;
}

body {
  font-family: Arial;
  padding: 10px;
  background: #000000;
}

/* Titulo */
header {
  padding: 30px;
  text-align: center;
  background: #FF7F50;
}

header h1 {
  font-size: 60px;
}

/* Estilo de la barra de navegación*/
.topnav {
  overflow: hidden;
  background-color: #ddd;
}

/* Estilo enlaces barra navegación */
.topnav a {
  float: left;
  display: block;
  color: #000000;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
/* Cambiar color cuando el ratón está encima de ello */
.topnav a:hover {
  background-color: #ddd;
  color: white;
}

/* dos columnas iguales foltando una al lado de otra */
/* columna izquierda */
.leftcolumn {   
  float: left;
  width: 75%;
  margin-bottom: 20px ;
}

/* columna derecha */
.rightcolumn {
  float: left;
  width: 25%;
  background-color: #000000;
  padding-left: 20px;
  margin-bottom: 20px ;
}

/* fondo imagenes */
.fakeimg {
  background-color: #FF7F50;
  width: 100%;
  padding: 20px;
}

/* Add a card effect for articles */
.card {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
}

/* primero borrar flotadores y después columnas*/
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Pie de página*/
.footer {
  padding: 20px;
  text-align: center;
  background: #ddd;
  margin-top: 20px;
  clear: both ;
}

/* Responsable de hacer que las columnas cuando la página se haga más pequeña que se pongan encima de la otra en vez de al lado- when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 800px) {
  .leftcolumn, .rightcolumn {   
    width: 100%;
    padding: 0;
  }
}

/* Lo mismo pero con los enlaces*/
@media screen and (max-width: 400px) {
  .topnav a {
    float: none;
    width: 100%;
  }
}

/* que en el footer se reparta por todo ello*/
table {
	width: 100% ;
}
/* css del link manda un email*/
.af:link {
	color: red;
	background-color: transparent;
	text-decoration: none;
}
.af:visited {
	color: red;
	background-color: transparent;
	text-decoration: none;
}
.af:hover {
	color: green;
	background-color: transparent;
	text-decoration: underline;
}
.af:active {
	color: yellow;
	background-color: transparent;
	text-decoration: underline;
}

/* Estilo de las listas no ordenadas webbase */

.a {
  list-style-type: circle;
}
.b {
  list-style-type: square;
}
/* Estilo de la tabla web2*/
.t {
  border-collapse: collapse;
}

.t td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

.t tr:nth-child(even) {
  background-color: #dddddd;
}

/* Estilo del formulario*/

input[type=text], select {
  width: 75%;
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

input[type=date] {
  width: 50%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
}
input[type=checkbox] {
  width: 1%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
}
input[type=password] {
  width: 75%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
}
input[type=number] {
  width: 50%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
}
input[type=email] {
  width: 75%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
}
input[type=button], input[type=submit], input[type=reset] {
  background-color: #04AA6D;
  border: none;
  color: white;
  padding: 16px 32px;
  text-decoration: none;
  margin: 4px 2px;
  cursor: pointer;
}
textarea {
  width: 100%;
  height: 150px;
  padding: 12px 20px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  background-color: #f8f8f8;
  font-size: 16px;
  resize: none;
}
/* --- ESTILOS ESPECÍFICOS PARA LA CALCULADORA --- */

#calculator-module {
    background-color: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #ddd;
    margin-top: 10px;
}

.calc-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}

.calc-fieldset {
    flex: 1;
    min-width: 200px; /* Para que baje en móviles */
    border: 1px solid #ccc;
    padding: 10px;
    background: white;
}

.calc-fieldset legend {
    font-weight: bold;
    color: #333;
}

.input-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.input-row input {
    width: 60%;
    padding: 5px;
    border: 1px solid #aaa;
    border-radius: 3px;
    text-align: right;
}

.calc-controls {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.calc-select {
    padding: 8px;
    font-size: 16px;
}

.calc-btn {
    background-color: #4CAF50; /* Color ingeniería verde */
    color: white;
    padding: 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    transition: background 0.3s;
}

.calc-btn:hover {
    background-color: #45a049;
}

.calc-result {
    background-color: #333;
    color: #fff;
    padding: 15px;
    border-radius: 4px;
    text-align: center;
}

.calc-result h3 {
    margin: 0 0 5px 0;
    font-size: 14px;
    color: #bbb;
    text-transform: uppercase;
}

.output-box {
    font-family: 'Courier New', monospace;
    font-size: 1.2em;
    font-weight: bold;
    color: #4CAF50; /* Estilo terminal */
}
