/* Core Colors & Font */
:root {
  --main-yellow: rgb(241, 241, 139);
  --main-red: rgb(167, 47, 47);
  --main-red-dark: darkred;
  --main-red-hover: rgb(172, 47, 47);
  --main-font: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  --white: #fff;
}

/* Headings */
h2 {
  color: var(--main-yellow);
  font-size: 70px;
  margin: 28px 0 0 0;
}

/* Offer Text */
.offer-text {
  color: var(--main-yellow);
  font-size: 85px;
  margin: 10px 0 0 50px;
  font-family: var(--main-font);
  text-decoration: underline;
}

/* Espera Text */
.espera-text {
  font-family: var(--main-font);
  text-align: center;
}
.espera-inside {
  color: var(--main-yellow);
  font-size: 100px;
  margin: 35px 0 0 0;
  font-family: var(--main-font);
  text-align: center;
}

/* Inner Content */
.inside-text {
  color: var(--white);
  font-size: 35px;
  margin: 0 20px;
}

/* Flex Layouts */
.first-row,
.inside-first {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}

/* Pictures */
.picture,
.membresia-picture {
  width: 500px;
  object-fit: cover;
  border-radius: 25px;
}
.picture {
  height: 730px;
  opacity: 0;
  animation: fadeInDown 0.75s ease forwards;
  animation-delay: 0.5s;
}
.membresia-picture {
  height: 450px;
}

/* Familia Boxes */
.familia1, .familia2, .familia3, .familia4, .familia5 {
  background-color: var(--main-red);
  padding: 0 20px;
  opacity: 0;
  animation: fadeInDown 0.75s ease forwards;
}
.familia1 { animation-delay: 0.2s; }
.familia2 { animation-delay: 0.3s; }
.familia3 { animation-delay: 0.4s; }

/* Join Button */
.unete-button {
  margin-top: 20px;
  color: var(--white);
  background-color: var(--main-red-dark);
  padding: 0 30px;
  border: none;
  font-size: 80px;
  border-radius: 50px;
  font-family: var(--main-font);
  transition: padding 0.2s ease, background-color 0.2s ease;
}
.unete-button:hover {
  background-color: var(--main-red-hover);
  cursor: pointer;
  padding: 0 40px;
}

/* Main Content Flex-grow */
.main-content {
  flex: 1 0 auto;
}

/* Animation Keyframes */
@keyframes fadeInDown {
  0% { opacity: 0; transform: translateY(-25px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive Styles */
@media (max-width: 768px) {
  .offer-text {
    font-size: 2.9rem;
    margin: 20px 0 0 0;
    text-align: center;
    word-break: break-word;
  }

  .first-row,
  .inside-first {
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0;
    padding: 0;
  }

  .inside-text {
    margin: 0;
    padding: 0 10px;
    font-size: 1rem;
    width: 100%;
    text-align: center;
  }

  .familia1, .familia2, .familia3, .familia4, .familia5 {
    padding: 10px;
    margin-top: 10px; 
    font-size: 1em;
    background-color: var(--main-red);
    opacity: 0;
    animation: fadeInDown 0.75s ease forwards;
  }
  .familia1 { animation-delay: 0.25s; }
  .familia2 { animation-delay: 0.35s; }
  .familia3 { animation-delay: 0.45s; }
  .familia4 { animation-delay: 0.55s; }
  .familia5 { animation-delay: 0.65s; }

  .familia1 h2, .familia2 h2, .familia3 h2, .familia4 h2, .familia5 h2 {
    font-size: 1.6rem;
    margin: 10px 0 6px 0;
  }
  .familia1 p, .familia2 p, .familia3 p, .familia4 p, .familia5 p {
    font-size: 1rem;
    margin: 0 0 8px 0;
    line-height: 1.35;
  }

  .picture, .membresia-picture {
    width: 85vw !important;
    max-width: 95vw !important;
    height: auto !important;
    border-radius: 16px;
    object-fit: cover;
    margin: 12px auto;
    display: block;
  }

  .espera-text {
    margin: 1.2em 0;
    padding: 0 10px;
    text-align: center;
  }
  .espera-inside {
    font-size: 3.5rem !important;
    margin: 0.2em 0 !important;
    text-align: center;
  }
  .unete-button {
    font-size: 3.0rem !important;
    padding: 0.1em 0.8em !important;
    border-radius: 30px;
    margin: 15px 0 10px 0;
  }

  .hide-on-mobile {
    display: none !important;
  }

  footer.copyright-laws {
    font-size: 0.89em;
    padding: 0.7em 0.2em;
    margin-top: 0.9em;
    line-height: 1.3;
  }
}




