html {
  scroll-behavior: smooth !important;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

@theme {
  /* light theme */
  --color-surface: var(--color-white);
  --color-surface-alt: var(--color-neutral-50);
  --color-on-surface: var(--color-neutral-600);
  --color-on-surface-strong: var(--color-neutral-900);
  --color-primary: var(--color-black);
  --color-on-primary: var(--color-neutral-100);
  --color-secondary: var(--color-neutral-800);
  --color-on-secondary: var(--color-white);
  --color-outline: var(--color-neutral-300);
  --color-outline-strong: var(--color-neutral-800);

  /* dark theme */
  --color-surface-dark: var(--color-neutral-950);
  --color-surface-dark-alt: var(--color-neutral-900);
  --color-on-surface-dark: var(--color-neutral-300);
  --color-on-surface-dark-strong: var(--color-white);
  --color-primary-dark: var(--color-white);
  --color-on-primary-dark: var(--color-black);
  --color-secondary-dark: var(--color-neutral-300);
  --color-on-secondary-dark: var(--color-black);
  --color-outline-dark: var(--color-neutral-700);
  --color-outline-dark-strong: var(--color-neutral-300);

  /* shared colors */
  --color-info: var(--color-sky-500);
  --color-on-info: var(--color-white);
  --color-success: var(--color-green-500);
  --color-on-success: var(--color-white);
  --color-warning: var(--color-amber-500);
  --color-on-warning: var(--color-white);
  --color-danger: var(--color-red-500);
  --color-on-danger: var(--color-white);

  /* border radius */
  --radius-radius: var(--radius-sm);
}

#loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  z-index: 9999;
}

.l-preloader {
  width: 50px;
  height: 50px;
  background: url("spinner.gif") no-repeat center center;
  background-size: contain;
}

.l-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
}

//.l-main {
//  margin-top: 60px; /* Ajustá según la altura real del header */
//}

.scroll-offset {
  scroll-margin-top: 80px; /* o lo que mida tu navbar */
}

.copyright {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 27px 16px 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  position: relative; /* o static si no lo necesitás para otra cosa */
}

.message {
  padding: 1rem;
  border-radius: 6px;
  margin-top: 1rem;
  font-weight: bold;
}
.message.success {
  background: #e0ffe0;
  color: #27632a;
}
.message.error {
  background: #ffe0e0;
  color: #912d2d;
}
.message.loading {
  background: #f0f0ff;
  color: #333;
}

.cf-turnstile {
  display: block;
  margin: 0 auto;
  padding: 20px;
}

.captcha-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.floating-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

.register-button {
  background-color: #28a745;
  color: white;
  padding: 12px 20px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 8px;
  display: block;
  text-align: center;
  font-size: 16px;
  transition: background-color 0.3s ease;
}

.register-button:hover {
  background-color: #218838;
}

.card-tier {
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  transition: transform 0.15s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.card-tier:hover {
  transform: scale(1.03);
}

.card-tier--5 {
  background-color: #eff6ff; /* blue-50 */
  border-color: #93c5fd; /* blue-300 */
}

.card-tier--10 {
  background-color: #ecfdf5; /* green-50 */
  border-color: #6ee7b7; /* green-300 */
}

.card-tier--25 {
  background-color: #fefce8; /* yellow-50 */
  border-color: #fde68a; /* yellow-300 */
}

.card-tier--100 {
  background-color: #f5f3ff; /* purple-50 */
  border-color: #c4b5fd; /* purple-300 */
}

.payment-box {
  max-width: 400px;
  margin: 2rem auto;
  text-align: center;
}

.payment-box select {
  width: 100%;
  padding: 10px;
  font-size: 1rem;
  font-family: inherit; /* o la fuente principal de tu sitio */
  font-weight: 500;

  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
  color: #333;

  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: border 0.2s, box-shadow 0.2s;

  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.payment-box select:focus {
  outline: none;
  border-color: #2e7d32;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.2);
}

.payment-box button {
  margin-top: 1rem;
  width: 100%;
  padding: 0.85rem 1rem;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  background-color: #5850ec;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s, transform 0.1s;
}

.payment-box button:hover {
  background-color: #006147;
}

.payment-box button:active {
  transform: scale(0.98);
}

.payment-box button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.badge-bonus {
  position: absolute;
  top: -10px;
  right: -10px;
  background-color: #16a34a;
  color: white;
  border-radius: 9999px;
  padding: 4px 8px;
  font-size: 0.75rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  z-index: 10;
}

.badge-bonus i {
  font-size: 1rem;
}

.package-option {
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  padding: 1.5rem;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}

.package-option:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  border-color: #999;
}

.package-option.selected {
  border: 2px solid #2563eb; /* blue-600 */
  background-color: #eff6ff; /* blue-50 */
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

.g-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem; /* opcional, para espacio entre columnas */
  justify-content: center; /* o space-between si querés separación total */
}

.one-third {
  width: 100%;
  max-width: 320px;
  flex: 1 1 30%;
  box-sizing: border-box;
}

.roundbordersmodal {
  background: linear-gradient(to bottom right, #0f172a, #1e293b);
  box-shadow: 0 0 0 1px #334155 inset;
}

.myterms {
  background: none repeat scroll 0 0 #ffffff;
  border: 1px solid #536376;
  display: none;
  padding: 14px 22px;
  position: relative;
  width: 90%;
  height: 80%;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
  -o-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
  overflow-y: scroll;
}
.myterms > h3 {
  margin: 20px 0 0 0;
}

.payment-select img {
  border: 3px solid rgba(0, 0, 0, 0.2);
}

.payment-select img:hover {
  border: 3px solid rgba(240, 161, 24, 0.84);
  cursor: pointer;
}

.headerblock {
  height: 45px;
  background: transparent;
}

.toppadding {
  padding: 100px !important;
}

@keyframes bounce-slow {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
.animate-bounce-slow {
  animation: bounce-slow 1.8s infinite;
}

.button-text-contrast {
  color: #fff !important;
  opacity: 1 !important;
}
