body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  margin: 1;
  padding: 0;
}

.header__img {
  position: relative;
  width: 100%;
  height: 500px;
}

.img-contenedor {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(https://estacion-terpel-assets.s3.us-east-1.amazonaws.com/extra/sbarro/background-sbarro.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  clip-path: ellipse(130% 98% at 50% 3%);
}

.img-pizza{
  position: absolute;
                bottom: -76px;
                left: 50%;
                transform: translateX(-50%);
                width: 100%;
                max-width: 251px;
                height: auto;
                z-index: 1; /* Asegúrate de que la pizza esté encima del fondo */
}

.registro__txt span {
  text-align: center
}

.form-group {
  position: relative;
  margin-bottom: 20px;
  width: 600px;
}

.form-group input,
select,
textarea {
  width: 100%;
  padding: 12px 10px;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  color: #8f8f8f;
  outline: none;
  box-sizing: border-box;
  padding-top: 20px;
}

.form-group select{
  height: 65px;
  background-color: #fff;
}

textarea {
  font-family: Arial, sans-serif;
  font-size: 16px;
}

.form-group label {
  position: absolute;
  top: 5px;
  left: 6px;
  font-size: 0.85rem;
  pointer-events: none;
  padding: 0 5px;
  margin-bottom: 10px;
}

span {
  display: block;
  text-align: left;
}

button {
  padding: 10px 20px;
  background-color: #d12232;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  font-family: 'TerpelSans-ExtraBold', sans-serif;
  min-width: 245px;
  height: 45px;
}

button:hover {
  background-color: hsl(5, 93%, 53%);
}

a.enlace-terminos {
  color: #007bff;
  text-decoration: underline;
}

.main {
  display: flex;
  justify-content: center;
  padding-top: 40px;
}

.registro {
  text-align: center;
  width: fit-content;
  color: #666666;
  font-size: 1rem;
}

.registro__txt {
  padding-top: 90px;
  padding-bottom: 1px;
  font-size: 30px;
}

.boton {
  margin-top: 16px;
}

/* Estilos checkbox */
input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  font-size: 1rem;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
}

#condiciones{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.condiciones-label{
  margin-left: 20px;
}

/* arrastrar archivo */
.drop-area {
  border: 2px dashed #ccc;
  border-radius: 5px;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  background-color: #f9f9f9;
  transition: background-color 0.3s;
}

.drop-area:hover {
  background-color: #e9e9e9;
}

.drop-area.drag-over {
  background-color: #d0f0d0;
}

.drop-area-upload {
  border: 2px dashed #ccc;
  border-radius: 5px;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  background-color: #dcfce7;
  transition: background-color 0.3s;
}

.drop-area-upload:hover {
  background-color: #e9e9e9;
}

.drop-area-upload.drag-over {
  background-color: #d0f0d0;
}


.form-group button{
  margin-top: 20px;
}


/* Estilos Footer */
.footer {
  background-color: #d12232;
  color: #fff;
  padding: 50px 0;
  position: relative;
  clip-path: ellipse(71% 205px at 50% 97%);
}

footer .footer-content {
  display: flex;
  justify-content: end;
  align-items: center;
  padding: 0 20px;
}

footer .footer-image {
  overflow: visible;
  z-index: 1;
  display: block;
  width: 130px;
  height: 50px;
}

footer .footer-image img {
  width: 150px;
  max-width: 150px;
  height: auto;
}

footer .footer-copyright {
  padding: 10px 0;
  text-align: center;
  border-radius: 0 0 20px 20px;
  z-index: 0;
}

footer .footer-copyright hr {
  border: 0;
  border-top: 1px solid #fff;
  margin: 10px auto;
  width: 90%;
  z-index: 0;
}

footer .footer-copyright p {
  margin: 0;
}



/* Responsive */
@media (max-width: 708px) {
  .header__img {
      height: 300px; 
  }

  .img-contenedor {
      clip-path: ellipse(150% 80% at 50% 10%); 
  }

  .main {
      flex-direction: column; 
      padding-top: 20px;
  }

  .registro {
      width: 100%; 
      font-size: 16px; 
  }

  .form-group {
      width: 90%; 
      margin: auto; 
      margin-bottom: 20px;
  }

  .years {
      visibility: hidden;
      position: relative; 
  }

  .years::after {
      content: attr(data-label); 
      visibility: visible; 
      position: absolute; 
      top: 0;
      left: 0;
      width: 100%;
      text-align: left;
  }

  .inversion{
      visibility: hidden; 
      position: relative; 
  }

  .inversion::after{
      content: attr(data-label-inv); 
      visibility: visible; 
      position: absolute; 
      top: 0;
      left: 0;
      width: 100%;
      text-align: left; 
  }

  .disponibilidad{
      visibility: hidden; 
      position: relative; 
  }

  .disponibilidad::after{
      content: attr(data-label-dis); 
      visibility: visible; 
      position: absolute;
      top: 0;
      left: 10px;
      width: 100%;
      text-align: left; 
  }

  .disponibilidad{
      visibility: hidden; 
      position: relative; 
  }

  .disponibilidad::after{
      content: attr(data-label-disp); 
      visibility: visible; 
      position: absolute; 
      top: 0;
      left: 0;
      width: 100%;
      text-align: left;
  }

  button {
      min-width: 200px; 
      margin-bottom: 10px;
  }

  footer {
      clip-path: ellipse(88% 202px at 50% 98%); 
  }

  footer .footer-image {
    overflow: visible;
    z-index: 1;
    display: block;
    width: 103px;
    height: 39px;
  }

  footer .footer-image img {
    width: 150px;
    max-width: 123px;
    height: auto;
  }

  .form-group label {
    position: absolute;
    top: 5px;
    left: 6px;
    font-size: 0.65rem;
    pointer-events: none;
    padding: 0 5px;
    margin-bottom: 10px;
  }


}

/* Para pantallas medianas (709px a 1024px) */
@media (min-width: 709px) and (max-width: 1024px) {
  .header__img {
      height: 400px;
  }

  .img-contenedor {
      clip-path: ellipse(120% 85% at 50% 5%);
  }

  .main {
      padding-top: 30px;
  }

  .registro {
      width: 70%;
      font-size: 18px;
  }

  .form-group {
      width: 80%;
  }

  .years {
      visibility: hidden; 
      position: relative;
  }

  .years::after {
      content: attr(data-label-med); 
      visibility: visible;
      position: absolute; 
      top: 0;
      left: 0;
      width: 100%;
      text-align: left; 
  }




  button {
      min-width: 220px;
  }
}





@media (min-width: 709px) {
  .registro {
      width: 600px; 
  }

  .form-group {
      width: 600px;
  }

  .footer {
      clip-path: ellipse(71% 205px at 50% 97%);
  }
}

/* General */
.disponibilidad-group {
  font-size: 1rem;
  margin-bottom: 20px;
}

.checkbox-container input[type="radio"] {
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  font-size: 1rem;
  -webkit-appearance: none; 
  -moz-appearance: none;
  outline: none; 
}

.checkbox-container input[type="radio"]:checked {
  background-color: #007bff; 
  border-color: #007bff;
}

@media (max-width: 600px) {
  .disponibilidad-group {
    font-size: 18px; 
  }

  .checkbox-container {
    flex-direction: column; 
    align-items: flex-start; 
    gap: 10px; 
  }

  .checkbox-container input[type="radio"] {
    margin-right: 10px; 
  }

  .checkbox-container label {
     font-size: 1rem;
  }
}

input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
}


/* Estilos para el modal */

.ventanamodalok {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height:100%;
  background-color:  rgba(0,0, 0, 0.6);
  animation: fadeIn 0.3s ease-in-out;
}

.ventanamodal {
  display: none;  /* Inicialmente oculto */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height:100%;
  background-color:  rgba(0,0, 0, 0.6);
  animation: fadeIn 0.3s ease-in-out;
}

/* Animación de fade-in */

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.modal-content {
  background-color: #ffffff;
  margin: auto;
  padding: 25px;
  top: 38%;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  width: 50%;
  max-width: 500px;
  text-align: center;
  position: relative;
  animation: slideDown 0.3s ease-in-out;
}

/* Animación de slide-down */
@keyframes slideDown {
  from {
    transform: translateY(-20%);
    opacity:  0;
  }

  to {
    transform:
      translateY(0);
    opacity: 1;
  }
}

.close-btn {
  color: #555;
  font-size: 20px;
  font-weight: bold;
  position: absolute;
  top: 15px;
  right: 20px;
  background-color:  #f0f0f0;
  border: none;
  border-radius:50%;
  width: 30px;
  height: 30px;
  display:flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.close-btn:hover,
.close-btn:focus {
  background-color: #d12232;
  color: white;
  transform: scale(1.2);
}

button:hover {
  background-color: #d12232;
}

button#cancelBtn {
  background-color:  #d12232;
}

button#cancelBtn:hover {
  background-color:  #a01725;
}
.error {
  border: 3px solid #d12232;
}



.form-habeas-data {
    width: 100%
}

.alert-message {
    --bg: #f3f4f6;
    --text: #001333;
    --border-color: #d1d5db;
    background-color: var(--bg);
    border-color: 3px solid #0d6efd;
    border-radius: .5rem;
    border-width: 1px;
    color: #001333;
    padding-bottom: .75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: .75rem
}

.alert-message.alert-message--success {
    --bg: #e9f6f0;
    --border-color: #0fab0b;
    --text: #fff
}

.alert-message.alert-message--info {
    --bg: #e6f0fd;
    --border-color: #4065f6;
    --text: #fff
}

.alert-message.alert-message--warning {
    --bg: #ffd;
    --border-color: #fdb913;
    --text: #fff
}

.alert-message.alert-message--error {
    --bg: #fef0f0;
    --border-color: #7c0000;
    --text: #fff
}

.alert-message.alert-message--error .alert-message__content-text p:first-child {
    --tw-text-opacity: 1;
    color: rgb(124 0 0/var(--tw-text-opacity))
}

.alert-message .btn-message {
    align-self: flex-start;
    background-color: var(--border-color);
    border-radius: .375rem;
    color: var(--text);
    padding-bottom: .375rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: .375rem
}

.alert-message__content {
    grid-gap: .5rem;
    display: flex;
    gap: .5rem
}

.alert-message__content-icon {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    height: 1.5rem;
    justify-content: center;
    width: 1.5rem
}

.alert-message__content-icon--close {
    --tw-text-opacity: 1;
    align-items: center;
    color: rgb(66 83 92/var(--tw-text-opacity));
    display: flex;
    height: 1.25rem;
    justify-self: end;
    width: 1.25rem
}

.alert-message__content-text {
    flex-grow: 1
}

.alert-message__content-text--title {
    font-weight: 700
}

.alert-message__content-text p {
    --tw-text-opacity: 1;
    color: rgb(0 19 51/var(--tw-text-opacity))
}

.alert-message__content-text p+p {
    --tw-text-opacity: 1;
    color: rgb(66 83 92/var(--tw-text-opacity))
}

.alert-message__content-text--message {
    grid-gap: .75rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    text-align: justify;
}

.alert-message--small {
    padding-bottom: .5rem;
    padding-top: .5rem
}

.alert-message--small .alert-message__content-icon {
    height: 18px;
    width: 18px
}

.alert-message--small .alert-message__content-icon--close {
    height: 1rem;
    width: 1rem
}

.alert-message--small p {
    font-size: .875rem;
    line-height: 1.25rem;
    line-height: 1.4
}

.underline {
    text-decoration-line: underline
}

.no-underline {
    text-decoration-line: none
}

i > svg, span > svg {
  height: 100%;
  width: 100%;
}

a {
  color: inherit;
  text-decoration: inherit;
  text-decoration-line: inherit;
}