.u-section-1 .u-sheet-1 {
  min-height: 801px;
}

.u-section-1 .u-layout-wrap-1 {
  margin-top: 137px;
  margin-bottom: 60px;
}

.u-section-1 .u-layout-cell-1 {
  min-height: 602px;
  filter: none;
}

.u-section-1 .u-container-layout-1 {
  padding: 0;
}

.u-section-1 .u-image-1 {
  filter: none;
  width: 554px;
  height: 710px;
  margin: -54px auto -54px -50px;
}

.u-section-1 .u-layout-cell-2 {
  min-height: 602px;
}

.u-section-1 .u-container-layout-2 {
  padding: 30px;
}

.u-section-1 .u-text-1 {
  text-transform: uppercase;
  font-size: 1.875rem;
  margin: 0 auto;
}

.u-section-1 .u-image-2 {
  width: 59px;
  height: 201px;
  margin: 72px 27px 0 auto;
}

.u-section-1 .u-image-3 {
  width: 59px;
  height: 201px;
  margin: -201px auto 0 0;
}

.u-section-1 .u-text-2 {
  font-size: 1.3125rem;
  margin: -200px 86px 0 65px;
}

.u-section-1 .u-btn-1 {
  --radius: 50px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.5rem;
  letter-spacing: 1px;
  --color-var: #ff0043;
  background-image: none;
  margin: 41px auto 0;
}

.u-section-1 .u-btn-2 {
  --radius: 50px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.5rem;
  letter-spacing: 1px;
  --color-var: #ff0043;
  background-image: none;
  margin: 22px auto 0;
}

.u-section-1 .u-text-3 {
  font-weight: 900;
  font-size: 1.3125rem;
  margin: 62px 261px 0 37px;
}

.u-section-1 .u-text-4 {
  font-weight: 900;
  font-size: 1.3125rem;
  margin: -35px 50px 0 286px;
}

@media (max-width: 1399px) {
  .u-section-1 .u-sheet-1 {
    min-height: 744px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 503px;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 520px;
  }
}

@media (max-width: 1199px) {
  .u-section-1 .u-sheet-1 {
    min-height: 586px;
  }

  .u-section-1 .u-layout-wrap-1 {
    position: relative;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 415px;
  }

  .u-section-1 .u-image-1 {
    width: 470px;
    height: 602px;
    margin-left: 0;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 429px;
  }

  .u-section-1 .u-image-2 {
    height: 200px;
  }

  .u-section-1 .u-image-3 {
    height: 200px;
    margin-top: 20px;
  }

  .u-section-1 .u-text-2 {
    margin-top: -392px;
    margin-right: 36px;
    margin-left: 15px;
  }

  .u-section-1 .u-btn-1 {
    margin-top: 273px;
  }

  .u-section-1 .u-text-3 {
    margin-top: 47px;
    margin-right: 198px;
    margin-left: 0;
  }

  .u-section-1 .u-text-4 {
    margin-top: -46px;
    margin-right: 0;
    margin-left: 236px;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 347px;
  }

  .u-section-1 .u-layout-wrap-1 {
    margin-top: 138px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 652px;
  }

  .u-section-1 .u-image-1 {
    height: 509px;
    width: 410px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: -50px;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 100px;
  }

  .u-section-1 .u-container-layout-2 {
    padding: 0;
  }

  .u-section-1 .u-text-1 {
    margin-top: 30px;
  }

  .u-section-1 .u-image-2 {
    margin-top: 69px;
    margin-right: 31px;
  }

  .u-section-1 .u-image-3 {
    margin-top: -200px;
    margin-left: 15px;
  }

  .u-section-1 .u-text-2 {
    width: auto;
    margin-top: -225px;
    margin-right: 90px;
    margin-left: 74px;
  }

  .u-section-1 .u-btn-1 {
    margin-top: 30px;
  }

  .u-section-1 .u-text-3 {
    width: auto;
    margin-top: 125px;
    margin-right: 258px;
    margin-left: -102px;
  }

  .u-section-1 .u-text-4 {
    width: auto;
    margin-top: -79px;
    margin-right: 258px;
    margin-left: -102px;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-sheet-1 {
    min-height: 1081px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 978px;
  }

  .u-section-1 .u-image-2 {
    margin-top: -141px;
  }

  .u-section-1 .u-text-2 {
    font-size: 1.1666666666666665rem;
    margin-top: -39px;
  }

  .u-section-1 .u-btn-1 {
    margin-top: 24px;
  }

  .u-section-1 .u-text-3 {
    font-size: 1.1666666666666665rem;
    margin-top: 131px;
  }

  .u-section-1 .u-text-4 {
    margin-top: -78px;
    font-size: 1.1666666666666665rem;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-sheet-1 {
    min-height: 881px;
  }

  .u-section-1 .u-layout-wrap-1 {
    margin-top: 7px;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 422px;
  }

  .u-section-1 .u-image-1 {
    width: 390px;
    height: 498px;
    margin-bottom: -76px;
  }

  .u-section-1 .u-text-1 {
    width: auto;
    margin-top: 20px;
    margin-left: 0;
    margin-right: 0;
  }

  .u-section-1 .u-image-2 {
    width: 69px;
    height: 236px;
    margin-top: 51px;
    margin-right: -22px;
  }

  .u-section-1 .u-image-3 {
    width: 70px;
    height: 268px;
    margin-top: -252px;
    margin-left: -12px;
  }

  .u-section-1 .u-text-2 {
    width: 225px;
    margin-top: -253px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-1 .u-btn-1 {
    margin-top: 32px;
  }

  .u-section-1 .u-text-3 {
    margin-top: 19px;
    margin-left: 0;
    margin-right: 0;
  }

  .u-section-1 .u-text-4 {
    margin-top: 7px;
    margin-left: 0;
    margin-right: 0;
  }
} .u-section-2 {
  --color-var: #ffffff;
}

.u-section-2 .u-sheet-1 {
  min-height: 254px;
}

.u-section-2 .u-countdown-1 {
  margin: 0 auto;
  padding: 62px 256px;
}

.u-section-2 .u-countdown-text-1 {
  font-size: 3.75rem;
}

.u-section-2 .u-countdown-counter-1 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

.u-section-2 .u-countdown-number-1 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-2 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-label-1 {
  font-size: 1.875rem;
  text-transform: uppercase;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-separator-1 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-counter-2 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

.u-section-2 .u-countdown-number-3 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-4 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-5 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-label-2 {
  font-size: 1.875rem;
  text-transform: uppercase;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-separator-2 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-counter-3 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

.u-section-2 .u-countdown-number-6 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-7 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-label-3 {
  font-size: 1.875rem;
  text-transform: uppercase;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-separator-3 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-counter-4 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

.u-section-2 .u-countdown-number-8 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-9 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-label-4 {
  font-size: 1.875rem;
  text-transform: uppercase;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-separator-4 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-counter-5 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

.u-section-2 .u-countdown-number-10 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-11 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-label-5 {
  font-size: 1.875rem;
  text-transform: uppercase;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-separator-5 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-counter-6 {
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1;
}

.u-section-2 .u-countdown-number-12 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-number-13 {
  --text-color-var: #ff0043;
}

.u-section-2 .u-countdown-label-6 {
  font-size: 1.875rem;
  text-transform: uppercase;
  --text-color-var: #ff0043;
}

@media (max-width: 991px) {
  .u-section-2 .u-countdown-1 {
    margin-left: -48px;
    padding-left: 106px;
    padding-right: 106px;
  }
}

@media (max-width: 767px) {
  .u-section-2 .u-countdown-1 {
    margin-left: 0;
  }
}

@media (max-width: 575px) {
  .u-section-2 .u-sheet-1 {
    min-height: 123px;
  }

  .u-section-2 .u-countdown-1 {
    margin: 26px -8px;
    padding: 4px 0;
  }

  .u-section-2 .u-countdown-text-1 {
    font-size: 1.25rem;
  }

  .u-section-2 .u-countdown-counter-1 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-label-1 {
    font-size: 1.125rem;
  }

  .u-section-2 .u-countdown-separator-1 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-counter-2 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-label-2 {
    font-size: 1.125rem;
  }

  .u-section-2 .u-countdown-separator-2 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-counter-3 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-label-3 {
    font-size: 1.125rem;
  }

  .u-section-2 .u-countdown-separator-3 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-counter-4 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-label-4 {
    font-size: 1.125rem;
  }

  .u-section-2 .u-countdown-separator-4 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-counter-5 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-label-5 {
    font-size: 1.125rem;
  }

  .u-section-2 .u-countdown-separator-5 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-counter-6 {
    font-size: 1.5rem;
  }

  .u-section-2 .u-countdown-label-6 {
    font-size: 1.125rem;
  }
}.u-section-3 .u-sheet-1 {
  min-height: 629px;
}

.u-section-3 .u-list-1 {
  grid-template-rows: repeat(1, auto);
  margin: 60px auto 60px 0;
}

.u-section-3 .u-repeater-1 {
  grid-auto-columns: calc(33.3333% - 6.66667px);
  grid-template-columns: repeat(3, calc(33.3333% - 6.66667px));
  --gap: 10px;
  min-height: 432px;
}

.u-section-3 .u-container-layout-1 {
  padding: 0 30px;
}

.u-section-3 .u-image-1 {
  width: 290px;
  height: 290px;
  background-image: url("images/ESTRELLA1.png");
  background-position: 50% 50%;
  margin: 30px auto 0;
}

.u-section-3 .u-social-icons-1 {
  height: 52px;
  width: 53px;
  margin: -62px 30px 0 auto;
}

.u-section-3 .u-icon-1 {
  height: 100%;
  color: rgb(0, 122, 185) !important;
}

.u-section-3 .u-text-1 {
  margin: 29px 0 0;
}

.u-section-3 .u-text-2 {
  font-weight: 400;
  margin: 21px 0 0;
}

.u-section-3 .u-container-layout-2 {
  padding: 0 30px;
}

.u-section-3 .u-image-2 {
  width: 290px;
  height: 290px;
  background-image: url("images/SANTIAGO.png");
  background-position: 50% 50%;
  margin: 30px auto 0;
}

.u-section-3 .u-social-icons-2 {
  height: 52px;
  width: 53px;
  margin: -62px 30px 0 auto;
}

.u-section-3 .u-icon-2 {
  height: 100%;
  color: rgb(0, 122, 185) !important;
}

.u-section-3 .u-text-3 {
  margin: 29px 0 0;
}

.u-section-3 .u-text-4 {
  font-weight: 400;
  margin: 21px 0 0;
}

.u-section-3 .u-container-layout-3 {
  padding: 0 30px;
}

.u-section-3 .u-image-3 {
  width: 290px;
  height: 290px;
  background-image: url("images/BAPTISTE.png");
  background-position: 50% 50%;
  margin: 30px auto 0;
}

.u-section-3 .u-social-icons-3 {
  height: 52px;
  width: 53px;
  margin: -62px 30px 0 auto;
}

.u-section-3 .u-icon-3 {
  height: 100%;
  color: rgb(0, 122, 185) !important;
  background-image: none;
}

.u-section-3 .u-text-5 {
  margin: 29px 0 0;
}

.u-section-3 .u-text-6 {
  font-weight: 400;
  margin: 21px 0 0;
}

@media (max-width: 1399px) {
  .u-section-3 .u-list-1 {
    margin-right: initial;
    margin-left: initial;
  }
}

@media (max-width: 1199px) {
  .u-section-3 .u-sheet-1 {
    min-height: 553px;
  }

  .u-section-3 .u-image-1 {
    width: 232px;
    height: 232px;
  }

  .u-section-3 .u-social-icons-1 {
    height: 53px;
  }

  .u-section-3 .u-image-2 {
    width: 232px;
    height: 232px;
  }

  .u-section-3 .u-social-icons-2 {
    height: 53px;
  }

  .u-section-3 .u-image-3 {
    width: 232px;
    height: 232px;
  }

  .u-section-3 .u-social-icons-3 {
    height: 53px;
  }
}

@media (max-width: 991px) {
  .u-section-3 .u-repeater-1 {
    grid-auto-columns: calc(50% - 5px);
    grid-template-columns: repeat(2, calc(50% - 5px));
  }
}

@media (max-width: 767px) {
  .u-section-3 .u-repeater-1 {
    grid-auto-columns: 100%;
    grid-template-columns: repeat(1, 100%);
  }

  .u-section-3 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-3 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-3 .u-container-layout-3 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .u-section-3 .u-sheet-1 {
    min-height: 1037px;
  }

  .u-section-3 .u-list-1 {
    margin-top: 57px;
    margin-bottom: 57px;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-3 .u-repeater-1 {
    min-height: 923px;
  }

  .u-section-3 .u-image-1 {
    width: 170px;
    height: 170px;
  }

  .u-section-3 .u-social-icons-1 {
    margin-top: -64px;
    margin-right: 57px;
  }

  .u-section-3 .u-text-1 {
    width: auto;
    margin-top: 26px;
  }

  .u-section-3 .u-text-2 {
    width: auto;
    margin-top: 0;
  }

  .u-section-3 .u-image-2 {
    width: 170px;
    height: 170px;
  }

  .u-section-3 .u-social-icons-2 {
    margin-top: -64px;
    margin-right: 57px;
  }

  .u-section-3 .u-text-3 {
    width: auto;
    margin-top: 26px;
  }

  .u-section-3 .u-text-4 {
    width: auto;
    margin-top: 0;
  }

  .u-section-3 .u-image-3 {
    width: 170px;
    height: 170px;
  }

  .u-section-3 .u-social-icons-3 {
    margin-top: -64px;
    margin-right: 57px;
  }

  .u-section-3 .u-text-5 {
    width: auto;
    margin-top: 26px;
  }

  .u-section-3 .u-text-6 {
    width: auto;
    margin-top: 0;
  }
}.u-section-4 .u-sheet-1 {
  min-height: 700px;
}

.u-section-4 .u-layout-wrap-1 {
  margin: 34px 0 10px;
}

.u-section-4 .u-image-1 {
  min-height: 656px;
  background-image: url("images/01_TEXT.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
}

.u-section-4 .u-container-layout-1 {
  padding: 30px;
}

.u-section-4 .u-image-2 {
  min-height: 656px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("images/02_TEXT.png");
  background-size: contain;
}

.u-section-4 .u-container-layout-2 {
  padding: 30px;
}

@media (max-width: 1399px) {
  .u-section-4 .u-layout-wrap-1 {
    margin-right: initial;
    margin-left: initial;
  }
}

@media (max-width: 1199px) {
  .u-section-4 .u-sheet-1 {
    min-height: 842px;
  }

  .u-section-4 .u-layout-wrap-1 {
    position: relative;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-4 .u-image-1 {
    min-height: 541px;
  }

  .u-section-4 .u-image-2 {
    min-height: 541px;
  }
}

@media (max-width: 991px) {
  .u-section-4 .u-sheet-1 {
    min-height: 460px;
  }

  .u-section-4 .u-layout-wrap-1 {
    margin-top: 46px;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-4 .u-image-1 {
    min-height: 414px;
  }

  .u-section-4 .u-image-2 {
    min-height: 414px;
  }
}

@media (max-width: 767px) {
  .u-section-4 .u-sheet-1 {
    min-height: 842px;
  }

  .u-section-4 .u-image-1 {
    min-height: 621px;
  }

  .u-section-4 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-4 .u-image-2 {
    min-height: 621px;
  }

  .u-section-4 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .u-section-4 .u-sheet-1 {
    min-height: 931px;
  }

  .u-section-4 .u-layout-wrap-1 {
    margin-top: 30px;
    margin-bottom: 20px;
    margin-right: initial;
    margin-left: initial;
  }

  .u-section-4 .u-image-1 {
    min-height: 453px;
    background-size: cover;
  }

  .u-section-4 .u-image-2 {
    min-height: 428px;
    background-size: cover;
  }
}.u-section-5 .u-sheet-1 {
  min-height: 550px;
}

.u-section-5 .u-text-1 {
  text-transform: uppercase;
  font-size: 2.25rem;
  margin: 60px auto 0;
}

.u-section-5 .u-image-1 {
  height: 375px;
  margin-top: 33px;
  margin-bottom: 43px;
}

@media (max-width: 1199px) {
  .u-section-5 .u-sheet-1 {
    min-height: 509px;
  }
}

@media (max-width: 991px) {
  .u-section-5 .u-sheet-1 {
    min-height: 550px;
  }
}

@media (max-width: 575px) {
  .u-section-5 .u-sheet-1 {
    min-height: 374px;
  }

  .u-section-5 .u-text-1 {
    font-size: 1.125rem;
    width: auto;
    margin-top: 21px;
  }

  .u-section-5 .u-image-1 {
    width: 440px;
    margin: -41px -50px -1px;
  }
}

/* === Estilos personalizados para formularios/modal === */
.modal-registro .modal-contenido {
  background: rgba(255,255,255,0.50);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  padding: 26px 28px;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(8, 15, 30, 0.35);
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  color: #222;
  font-family: inherit;
}

/* Aplicar mismo fondo translúcido al modal de login (si existe) */
#modalLogin .modal-contenido {
  background: rgba(255,255,255,0.50);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.modal-registro .form-grupo {
  margin-bottom: 14px;
}

.modal-registro label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  color: #333;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.modal-registro input[type="text"],
.modal-registro input[type="email"],
.modal-registro input[type="tel"],
.modal-registro textarea {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid #e8eaec;
  border-radius: 12px;
  box-sizing: border-box;
  font-size: 14px;
  color: #222;
  background: #fbfbfd;
  transition: border-color 120ms ease, box-shadow 160ms ease;
}

.modal-registro input::placeholder, .modal-registro textarea::placeholder {
  color: #c7cbd0;
}

.modal-registro input:focus, .modal-registro textarea:focus {
  outline: none;
  border-color: #ff0043;
  box-shadow: 0 6px 28px rgba(255, 0, 67, 0.12), 0 0 0 6px rgba(255, 0, 67, 0.06);
}

.modal-registro .u-btn.u-btn-submit {
  display: block;
  width: 100%;
  height: 56px;
  background: linear-gradient(180deg,#ff1f57 0%,#d90045 100%);
  color: #fff;
  border: none;
  padding: 0 18px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 800;
  font-size: 16px;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(217, 0, 69, 0.18);
}

.modal-registro .u-btn.u-btn-submit:hover {
  transform: translateY(-1px);
}

.modal-registro .cerrar {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f3f5f7;
  border: none;
  font-size: 16px;
  line-height: 36px;
  text-align: center;
  cursor: pointer;
  color: #333;
}

/* Mensajes de feedback */
#messageDisplayCorrecto, #messageDisplayError, #loginMessage {
  display: none;
  margin: 12px auto;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

#messageDisplayCorrecto {
  background: #e6f4ea;
  color: #155724;
  border: 1px solid #c3e6cb;
}

#messageDisplayError {
  background: #f8e6e9;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

#loginMessage {
  background: rgba(248,215,218,0.98);
  color: #721c24;
  border: 1px solid #f5c6cb;
}

/* Responsive adjustments */
@media (max-width: 575px) {
  .modal-registro .modal-contenido { padding: 14px; border-radius: 8px; }
}

/* end custom modal styles */

/* Las siguientes reglas se aplican SOLO si el `body` tiene la clase
   `always-show-modals`. De lo contrario, dejar que Nicepage controle la
   visibilidad de los `section.u-dialog-block` (se mostrarán como popups
   cuando JS añada `.u-dialog-open`). */
.always-show-modals #popup-bb0b,
.always-show-modals #popup-dc0e {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  pointer-events: auto !important;
}

.always-show-modals #popup-bb0b .u-dialog, .always-show-modals #popup-dc0e .u-dialog {
  background: transparent !important;
  box-shadow: none !important;
}

/* Ajuste: que el cuadro de diálogo se comporte como bloque centrado */
.always-show-modals #popup-bb0b .u-dialog-1, .always-show-modals #popup-dc0e .u-dialog-1 {
  position: relative !important;
  margin: 20px auto !important;
  width: auto !important;
  max-width: 420px !important;
}

/* Animaciones y posicionamiento para que funcionen como popups */
.u-dialog-block .modal-registro {
  display: block;
}
.u-dialog-block .modal-registro .modal-contenido {
  background: rgba(255,255,255,0.95);
  max-width: 460px;
  margin: 0 auto;
  padding: 18px;
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.35);
  transform: translateY(-8px) scale(0.995);
  opacity: 0;
  transition: opacity 250ms ease, transform 250ms cubic-bezier(.2,.8,.2,1);
}
.u-dialog-block .modal-registro.open .modal-contenido {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* Overlay centering */
.u-dialog-block {
  display: flex;
  align-items: center;
  justify-content: center;
}

#/* Pequeño ajuste para el mensaje dentro del modal */
#messageDisplayCorrecto, #messageDisplayError, #loginMessage {
  display: none;
  padding: 10px 12px;
  margin: 12px auto;
  border-radius: 8px;
  font-weight: 600;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
#messageDisplayCorrecto { background: #e8f8f2; color: #006644; }
#messageDisplayError { background: #fff0f0; color: #a10000; }
#loginMessage { background: #f0f7ff; color: #003366; }
