@import url('https://fonts.googleapis.com/css2?family=Open+Sans&family=Poppins:wght@400;600;700&display=swap');

:root{
  --primary:#7AC7A9;
  --primary-light:#4BAF8E;
  --primary-dark:#5DAF94;
  --secondary:#F6EAC2;
  --background:#FFF9F0;
  --text-dark:#37474F;
  --accent:#D4A373;
  --white:#ffffff;
  --adopt-bg:#e8f3e5;
  --volunteer-bg:#f8f8f8;
  --stories-bg:#f7f3c8;
  --story-card-bg:#fff7db;
  --radius-section:12px;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.08);
  --shadow-md:0 4px 16px rgba(0,0,0,0.12);
  --shadow-lg:0 8px 24px rgba(122,199,169,0.25);
  --transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}

body{
  font-family:'Open Sans', sans-serif;
  margin:0;
  padding:0;
  background:var(--secondary);
  color:var(--text-dark);
  line-height:1.6;
}

main{
  max-width:1000px;
  margin:50px auto;
  padding:30px 25px;
  background:var(--background);
  border-radius:var(--radius-section);
  box-shadow:var(--shadow-md);
}

/* LANGUAGE SELECTOR ------------------------------------------------ */

#selector-idiomas{
    position: fixed;
    top: 90px;
    right: 30px;
    font-family: 'Poppins', sans-serif;
    z-index: 999;
}

/* Idioma actual */

.lang-selected{
    background: var(--white);
    color: var(--text-dark);
    padding: 8px 16px;
    border-radius: var(--radius-section);
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    font-weight: 600;
    transition: var(--transition);
}

.lang-selected:hover{
    box-shadow: var(--shadow-md);
}

/* Menú desplegable */

.lang-options{
    display: none;
    flex-direction: column;
    margin-top: 6px;
    background: var(--white);
    border-radius: var(--radius-section);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

/* hover abrir */

#selector-idiomas:hover .lang-options{
    display: flex;
}

/* cada boton */

.lang-options button{
    border: none;
    background: transparent;
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 500;
    color: var(--text-dark);
    transition: var(--transition);
}

.lang-options button:hover{
    background: var(--secondary);
}

h2{
  font-family:'Poppins', sans-serif;
  text-align:center;
  color:var(--accent);
  margin-bottom:25px;
}

/*table area*/
table{
  width:100%;
  border-collapse:collapse;
  margin:0 auto 40px auto;
  background:var(--white);
  border-radius:8px;
  overflow:hidden;
}

caption{
  caption-side:top;
  font-family:'Poppins', sans-serif;
  font-weight:600;
  color:var(--accent);
  background:var(--secondary);
  padding:10px;
  text-align:center;
  font-size:1.2em;
}

th, td{
  border:1px solid #E4EFE7;
  padding:12px 10px;
  text-align:center;
}

th{
  background:#A3C9A8;
  color:var(--white);
  font-weight:600;
  letter-spacing:0.5px;
}


/*form area*/
.form_section{
  background:var(--volunteer-bg);
  border:2px solid var(--primary-light);
  padding:25px 30px;
  border-radius:var(--radius-section);
  box-shadow:var(--shadow-sm);
  margin-top:50px;
  margin-bottom:50px;
}

fieldset{
  border:2px solid var(--primary-light);
  border-radius:var(--radius-section);
  padding:20px;
  margin-bottom:20px;
  background:var(--adopt-bg);
}

legend{
  font-family:'Poppins', sans-serif;
  color:var(--accent);
  font-weight:600;
  padding:0 10px;
}

label{
  display:block;
  margin-top:15px;
  font-weight:500;
  color:var(--text-dark);
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"]{
  padding:8px;
  border:2px solid var(--primary-light);
  width:100%;
  margin-top:5px;
  border-radius:8px;
  box-sizing:border-box;
  transition:border-color 0.3s ease;
  background:var(--white);
}

input:focus{
  border-color:var(--primary);
  outline:none;
}

.radio-group{
  display:flex;
  gap:15px;
  align-items:center;
}

.btn{
  display:block;
  width:100%;
  text-align:center;
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
  color:var(--white);
  border:none;
  padding:12px;
  border-radius:var(--radius-section);
  font-size:1em;
  font-weight:600;
  margin-top:20px;
  cursor:pointer;
  box-shadow:var(--shadow-md);
  transition:var(--transition);
}

.btn:hover{
  background:var(--primary-dark);
}

.note{
  text-align:center;
  margin-top:15px;
  font-weight:bold;
  color:var(--primary-dark);
}

/* Diseño adaptable de tabletas */
@media(max-width:768px){
  main{
    padding:20px 15px;
    margin:30px 10px;
  }

  table{
    font-size:0.95em;
  }

  .form_section{
    padding:20px;
  }

  fieldset{
    padding:15px;
  }

  legend{
    font-size:1em;
  }

  .radio-group{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* Diseño adaptable de Mobiles */
@media(max-width:480px){
  main{
    padding:15px 10px;
    margin:20px 5px;
  }

  h2{
    font-size:1.3em;
  }

  caption{
    font-size:1em;
  }

  table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }

  th, td{
    padding:10px 8px;
  }

  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"]{
    padding:6px;
    font-size:0.9em;
  }

  .btn{
    font-size:0.9em;
    padding:8px;
  }
}