/* Complemento visual aislado para Gracias Registro.
   No modifica las reglas exportadas de Elementor. */
:root {
  --gracias-wa: #22c55e;
  --gracias-wa-deep: #087a41;
  --gracias-ink: #172617;
  --gracias-gold: #ac8825;
}

/* Cabecera limpia: logo, mensaje de confirmación y video. */
.elementor-173 .elementor-element.elementor-element-76f5279,
.elementor-173 .elementor-element.elementor-element-76f5279:not(.elementor-motion-effects-element-type-background),
.elementor-173 .elementor-element.elementor-element-76f5279 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  min-height: 0 !important;
  padding: clamp(2rem, 5vw, 4rem) 1.25rem clamp(1.5rem, 4vw, 3.25rem) !important;
  background: #fbfaf5 !important;
}

.elementor-173 .elementor-element.elementor-element-76f5279:not(.elementor-motion-effects-element-type-background):not(.two_bg),
.elementor-173 .elementor-element.elementor-element-76f5279 > .elementor-motion-effects-container > .elementor-motion-effects-layer:not(.two_bg) {
  background-image: none !important;
}

.elementor-173 .elementor-element.elementor-element-17e6277 > .e-con-inner {
  max-width: 820px;
  align-items: center;
}

.elementor-173 .elementor-element.elementor-element-85fdafc {
  width: 100% !important;
  align-items: center !important;
}

.elementor-173 .elementor-element.elementor-element-13bb3a6 {
  width: min(100%, 200px) !important;
  max-width: 200px !important;
  text-align: center !important;
}

.elementor-173 .elementor-element.elementor-element-13bb3a6 img { width: 100% !important; }

.elementor-173 .elementor-element.elementor-element-5a4fa64 {
  width: min(100%, 780px) !important;
  max-width: 780px !important;
  margin-top: 1.1rem;
  text-align: center !important;
}

.elementor-173 .elementor-element.elementor-element-5a4fa64 .elementor-heading-title {
  color: #20221d;
  font-family: "Josefin Sans", sans-serif;
  font-size: clamp(1.45rem, 2.8vw, 2.15rem) !important;
  font-weight: 700;
  line-height: 1.05;
  text-wrap: balance;
}

.elementor-173 .elementor-element.elementor-element-658810c { display: none; }

.elementor-173 .elementor-element.elementor-element-19b5e7e {
  width: min(100%, 760px) !important;
  margin-top: clamp(1.25rem, 3vw, 2rem);
  overflow: hidden;
  border: 1px solid rgb(172 136 37 / 56%);
  border-radius: 14px;
  box-shadow: 0 15px 32px rgb(51 44 22 / 16%);
}

.elementor-173 .elementor-element.elementor-element-8f5dee4 .elementor-wrapper { aspect-ratio: 16 / 9; }

/* Paso 1: la comunidad es ahora la acción principal de la página. */
.elementor-173 .elementor-element.elementor-element-b6fd43f {
  display: none;
}

.elementor-173 .elementor-element.elementor-element-834beda,
.elementor-173 .elementor-element.elementor-element-834beda:not(.elementor-motion-effects-element-type-background):not(.two_bg),
.elementor-173 .elementor-element.elementor-element-834beda > .elementor-motion-effects-container > .elementor-motion-effects-layer:not(.two_bg) {
  --margin-top: 0px;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
  background: #fbfaf5 !important;
  background-image: none !important;
}

.elementor-173 .elementor-element.elementor-element-a81c501,
.elementor-173 .elementor-element.elementor-element-36879e3,
.elementor-173 .elementor-element.elementor-element-43c22ff {
  --margin-top: 0px;
  --padding-top: 0px;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
  padding-block-start: 0 !important;
}

.elementor-173 .elementor-element.elementor-element-fb7decb {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 8%, rgb(92 255 165 / 28%), transparent 34%),
    linear-gradient(135deg, #063b25 0%, var(--gracias-wa-deep) 53%, #044124 100%) !important;
  animation: gracias-card-glow 2.1s ease-in-out infinite;
  border: 1px solid rgb(177 255 208 / 45%);
  box-shadow: 0 22px 45px rgb(4 57 31 / 33%), inset 0 1px 0 rgb(255 255 255 / 20%) !important;
  transform: translateY(-28px);
  transition: transform .25s ease, box-shadow .25s ease;
}

.elementor-173 .elementor-element.elementor-element-fb7decb:hover {
  transform: translateY(-32px);
  box-shadow: 0 28px 55px rgb(4 57 31 / 40%), inset 0 1px 0 rgb(255 255 255 / 20%) !important;
}

.elementor-173 .elementor-element.elementor-element-fb7decb::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -74px;
  bottom: -104px;
  border: 1px solid rgb(255 255 255 / 17%);
  border-radius: 50%;
  box-shadow: 0 0 0 25px rgb(255 255 255 / 4%), 0 0 0 51px rgb(255 255 255 / 3%);
  pointer-events: none;
}

.elementor-173 .elementor-element.elementor-element-fb7decb .elementor-widget-container {
  position: relative;
  z-index: 1;
}

.elementor-173 .elementor-element.elementor-element-3bb9aa0 img {
  filter: drop-shadow(0 8px 14px rgb(0 0 0 / 28%));
  transform: scale(1.12);
}

.elementor-173 .elementor-element.elementor-element-7577356,
.elementor-173 .elementor-element.elementor-element-cbea230,
.elementor-173 .elementor-element.elementor-element-f86f028 {
  color: #fff !important;
  text-align: center;
}

.elementor-173 .elementor-element.elementor-element-7577356 {
  font-weight: 800;
  letter-spacing: .14em;
  font-size: 1rem;
}

.elementor-173 .elementor-element.elementor-element-cbea230 {
  font-size: clamp(1.5rem, 2.1vw, 2rem);
  line-height: 1.08;
  font-weight: 800;
  text-wrap: balance;
}

.elementor-173 .elementor-element.elementor-element-f86f028 {
  max-width: 32rem;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.5;
}

.elementor-173 .elementor-element.elementor-element-0198966 {
  width: min(100%, 380px) !important;
  max-width: 100% !important;
  margin-top: .5rem;
}

.elementor-173 .elementor-element.elementor-element-0198966 .elementor-button {
  width: 100%;
  padding: 18px 22px !important;
  border-radius: 10px !important;
  color: #063b25 !important;
  background: #fff !important;
  box-shadow: 0 10px 20px rgb(0 0 0 / 19%);
  font-weight: 800 !important;
  letter-spacing: .025em;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.elementor-173 .elementor-element.elementor-element-0198966 .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgb(0 0 0 / 27%);
}

/* Ascenso VIP: un bloque editorial con jerarquía propia, sin cambiar su contenido. */
.elementor-173 .elementor-element.elementor-element-f49b050 {
  padding-top: clamp(2.25rem, 5vw, 5rem) !important;
  padding-bottom: clamp(3.5rem, 7vw, 7rem) !important;
}

.elementor-173 .elementor-element.elementor-element-bca55e9 {
  position: relative;
  overflow: hidden;
  width: min(100%, 1120px) !important;
  margin-inline: auto !important;
  padding: clamp(2rem, 4vw, 4.75rem) clamp(1.25rem, 4vw, 4rem) !important;
  background: rgb(255 255 255 / 93%) !important;
  border: 1px solid rgb(172 136 37 / 30%);
  border-radius: 22px;
  box-shadow: 0 24px 65px rgb(42 32 8 / 20%), inset 0 1px 0 rgb(255 255 255 / 90%);
  backdrop-filter: blur(8px);
}

.elementor-173 .elementor-element.elementor-element-bca55e9:not(.elementor-motion-effects-element-type-background):not(.two_bg),
.elementor-173 .elementor-element.elementor-element-bca55e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer:not(.two_bg) {
  background-image: none !important;
}

.elementor-173 .elementor-element.elementor-element-af61f1a,
.elementor-173 .elementor-element.elementor-element-c443c1c,
.elementor-173 .elementor-element.elementor-element-b869e87 {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
}

.elementor-173 .elementor-element.elementor-element-af61f1a > .elementor-widget-container {
  margin-top: 0 !important;
}

.elementor-173 .elementor-element.elementor-element-af61f1a .elementor-heading-title {
  font-size: clamp(1.8rem, 3.1vw, 2.65rem) !important;
  line-height: 1.02;
  text-wrap: balance;
}

.elementor-173 .elementor-element.elementor-element-ed9303d {
  color: var(--gracias-gold);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem) !important;
  font-weight: 600;
  text-align: center;
}

.elementor-173 .elementor-element.elementor-element-c443c1c {
  font-size: 1.05rem !important;
  line-height: 1.55;
}

.elementor-173 .elementor-element.elementor-element-d2bbc5a img {
  filter: drop-shadow(0 16px 22px rgb(45 31 3 / 17%));
}

.elementor-173 .elementor-element.elementor-element-94b4d7b .elementor-heading-title {
  font-size: 1.3rem !important;
}

.elementor-173 .elementor-element.elementor-element-b869e87 .elementor-icon-list-item {
  padding-block: .35rem;
}

.elementor-173 .elementor-element.elementor-element-d933083 .elementor-button {
  min-width: min(100%, 470px);
  padding: 20px 30px !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #c5a13a, #8f6812) !important;
  box-shadow: 0 14px 28px rgb(87 59 0 / 28%) !important;
  font-size: clamp(1rem, 2vw, 1.18rem) !important;
  font-weight: 700 !important;
  letter-spacing: .015em;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.elementor-173 .elementor-element.elementor-element-d933083 .elementor-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 33px rgb(87 59 0 / 37%) !important;
}

/* Acceso persistente en escritorio y móvil: acompaña el primer recorrido sin tapar el contenido. */
.gracias-wa-sticky {
  display: flex;
  position: fixed;
  z-index: 9999;
  left: 50% !important;
  right: auto !important;
  bottom: 20px;
  width: min(760px, calc(100vw - 40px));
  gap: 9px;
  padding: 8px;
  transform: translateX(-50%) !important;
  border: 1px solid rgb(255 255 255 / 50%);
  border-radius: 15px;
  background: rgb(18 30 20 / 90%);
  box-shadow: 0 16px 42px rgb(0 0 0 / 30%);
  backdrop-filter: blur(14px);
  animation: gracias-wa-enter .45s ease-out both .65s;
}

.gracias-wa-sticky a {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  min-width: 0;
  min-height: 49px;
  padding: 10px 17px;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 10px;
  color: #fff !important;
  background: linear-gradient(135deg, #1ab95f, #087a41);
  font-family: "Montserrat", sans-serif;
  font-size: .88rem;
  font-weight: 700;
  text-align: center;
  transition: transform .2s ease, filter .2s ease;
}

.gracias-wa-sticky a:hover { transform: translateY(-2px); filter: brightness(1.07); }
.gracias-wa-sticky a:first-child {
  flex: 1.4 1 0;
  box-shadow: 0 0 0 1px rgb(209 255 225 / 35%), 0 0 22px rgb(45 216 108 / 63%);
  animation: gracias-button-glow 1.8s ease-in-out infinite;
}
.gracias-wa-sticky svg { width: 21px; height: 21px; fill: currentColor; flex: 0 0 auto; }
.gracias-wa-sticky .gracias-vip-sticky { color: #5b4105 !important; background: #fff9e8; border-color: rgb(172 136 37 / 48%); }
.gracias-wa-sticky .gracias-vip-sticky svg { fill: none; stroke: currentColor; stroke-width: 2; }
body.elementor-page-173 { padding-bottom: 92px; }

@media (max-width: 767px) {
  .elementor-173 .elementor-element.elementor-element-76f5279 {
    padding: 1.8rem 1rem 1.6rem !important;
  }

  .elementor-173 .elementor-element.elementor-element-13bb3a6 {
    width: min(100%, 170px) !important;
    max-width: 170px !important;
  }

  .elementor-173 .elementor-element.elementor-element-5a4fa64 { margin-top: .85rem; }
  .elementor-173 .elementor-element.elementor-element-19b5e7e { margin-top: 1.15rem; border-radius: 10px; }

  .elementor-173 .elementor-element.elementor-element-fb7decb {
    transform: translateY(-16px);
    padding: 2rem 1.35rem 2.4rem !important;
  }

  .elementor-173 .elementor-element.elementor-element-fb7decb:hover { transform: translateY(-16px); }
  .elementor-173 .elementor-element.elementor-element-0198966 { width: 100% !important; }
  .elementor-173 .elementor-element.elementor-element-bca55e9 { border-radius: 15px; }
  .elementor-173 .elementor-element.elementor-element-d933083 .elementor-button { min-width: 100%; }

  .gracias-wa-sticky {
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: auto !important;
    gap: 8px;
    padding: 0;
    transform: none !important;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.elementor-page-173 { padding-bottom: 102px; }

  .gracias-wa-sticky a {
    flex-direction: column;
    gap: 5px;
    min-height: 74px;
    padding: 9px 8px;
    line-height: 1.2;
    text-align: center;
    box-shadow: 0 12px 32px rgb(0 65 32 / 42%);
  }

  .gracias-wa-sticky svg { width: 20px; height: 20px; }

  .gracias-wa-sticky .gracias-vip-sticky {
    color: #5b4105 !important;
    background: #fff9e8;
    border-color: rgb(172 136 37 / 48%);
    box-shadow: 0 12px 32px rgb(69 46 2 / 20%);
  }
}

@keyframes gracias-wa-enter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes gracias-card-glow {
  0%, 100% { box-shadow: 0 22px 45px rgb(4 57 31 / 33%), 0 0 0 rgb(44 226 112 / 0%), inset 0 1px 0 rgb(255 255 255 / 20%); }
  50% { box-shadow: 0 26px 52px rgb(4 57 31 / 42%), 0 0 34px rgb(44 226 112 / 38%), inset 0 1px 0 rgb(255 255 255 / 25%); }
}

@keyframes gracias-button-glow {
  0%, 100% { box-shadow: 0 0 0 1px rgb(209 255 225 / 35%), 0 0 16px rgb(45 216 108 / 52%); }
  50% { box-shadow: 0 0 0 2px rgb(209 255 225 / 55%), 0 0 30px rgb(45 216 108 / 80%); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
