@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', Arial, sans-serif;
  background:linear-gradient(to bottom,var(--secondary) 0%,var(--background) 100%);
  color:var(--text-dark);
  margin:0;
  padding:0;
  box-sizing:border-box;
  min-height:100vh;
  line-height:1.6;
}

main{
  max-width:1200px;
  margin:0 auto;
  padding:40px 20px;
}

/* 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);
}

/*guidelines*/
.guidelines{
  background:linear-gradient(135deg,var(--white) 0%,var(--background) 100%);
  padding:30px;
  border-radius:var(--radius-section);
  margin-bottom:40px;
  box-shadow:var(--shadow-md);
  border-top:4px solid var(--primary);
}

.guidelines h2{
  color:var(--primary-dark);
  margin-bottom:25px;
  text-align:center;
  font-size:2em;
  font-weight:600;
  text-shadow:0 2px 4px rgba(122,199,169,0.15);
}

.guid_block{
  margin-bottom:25px;
  padding:20px;
  background:linear-gradient(to right,var(--adopt-bg) 0%,var(--background) 100%);
  border-radius:10px;
  border-left:5px solid var(--primary-light);
  box-shadow:var(--shadow-sm);
}

.guid_block h3{
  color:var(--accent);
  margin-bottom:12px;
  font-size:1.3em;
  display:flex;
  align-items:center;
  gap:8px;
}

.guid_block h3::before{
  font-size:0.9em;
}

.guid_block p{
  margin-bottom:10px;
  line-height:1.8;
}

.guid_block strong{
  color:var(--primary-dark);
  font-weight:700;
}

.guid_block ul{
  margin-left:20px;
  list-style:none;
  padding-left:0;
}

.guid_block ul li{
  position:relative;
  padding-left:25px;
  margin-bottom:10px;
}

.guid_block ul li::before{
  content:"🐾";
  position:absolute;
  left:0;
  top:0;
}

.note{
  text-align:center;
  margin-top:20px;
  padding:18px;
  font-weight:bold;
  color:var(--primary-dark);
  background:linear-gradient(135deg,var(--stories-bg) 0%,var(--story-card-bg) 100%);
  border-radius:10px;
  border:2px dashed var(--accent);
  box-shadow:var(--shadow-sm);
}

/*form section*/
.form_section{
  width: 900px;
  margin: 0 auto ;
  background:linear-gradient(135deg,var(--white) 0%,var(--volunteer-bg) 100%);
  padding:30px;
  border-radius:var(--radius-section);
  box-shadow:var(--shadow-md);
  border-top:4px solid var(--accent);
}

.form_section h2{
  text-align:center;
  color:var(--primary-dark);
  margin-bottom:30px;
  font-size:2em;
  font-weight:600;
  text-shadow:0 2px 4px rgba(122,199,169,0.15);
}

form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

label{
  font-weight:600;
  color:var(--text-dark);
  margin-bottom:5px;
  display:block;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"]{
  padding:12px;
  border:2px solid var(--primary-light);
  border-radius:8px;
  width:100%;
  font-size:1em;
  background:linear-gradient(to bottom,var(--white) 0%,var(--background) 100%);
}

.radio-group{
  display:flex;
  gap:20px;
  align-items:center;
  padding:10px 0;
}

.radio-group input[type="radio"]{
  width:18px;
  height:18px;
  cursor:pointer;
  accent-color:var(--primary);
}

.radio-group label{
  margin-bottom:0;
  cursor:pointer;
  font-weight:500;
}

fieldset{
  border:2px solid var(--primary-light);
  border-radius:var(--radius-section);
  padding:25px;
  background:linear-gradient(135deg,var(--adopt-bg) 0%,rgba(255,255,255,0.7) 100%);
}

legend{
  color:var(--primary-dark);
  font-weight:600;
  font-size:1.2em;
  padding:0 10px;
}

.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:14px;
  border-radius:8px;
  font-size:1.1em;
  font-weight:600;
  margin-top:20px;
  cursor:pointer;
  box-shadow:var(--shadow-md);
  position:relative;
  overflow:hidden;
}

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

  .guidelines,
  .form_section {
    padding: 20px;
  }

  .guidelines h2,
  .form_section h2 {
    font-size: 1.4em;
  }

  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"] {
    font-size: 0.95em;
  }

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


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

  .guidelines {
    padding: 15px;
  }

  .guidelines h2 {
    font-size: 1.2em;
  }

  .guid_block h3 {
    font-size: 1em;
  }

  .form_section {
    padding: 15px;
  }

  label {
    font-size: 0.95em;
  }

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

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