/* Modal Animation */

.modal.fade .modal-dialog {
  transform: scale(0.8);
  transition: transform 0.3s ease-out;
}

.modal.fade.show .modal-dialog {
  transform: scale(1);
}

/* HR */

hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.4), transparent);
}

/* Button */

.btn {
  transition: all 0.1s ease-in-out;
}

.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: rgba(60, 180, 255, 0);
}

.btn:hover {
  transform: scale(1.05);
}

.btn:active {
  transform: scale(0.9);
}

/* Gradient Red */

.gradient-red {
  background: linear-gradient(180deg, #ff6b6b, #ff2a2a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* Card */

.card {
  transition: all 0.2s ease-in-out;
}

.card:hover {
  transform: translateY(-5px);
}

.dropdown-menu {
  display: grid !important;
  grid-template-rows: 0fr;
  visibility: hidden;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: visible !important;
  width: max-content !important;
  min-width: 14rem !important;
  /* Snappy height transition - slightly faster on close */
  transition: grid-template-rows 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.dropdown-menu.show {
  grid-template-rows: 1fr;
  visibility: visible;
}

.dropdown-menu-end {
  right: 0 !important;
  left: auto !important;
}

.dropdown-animation-wrapper {
  min-height: 0;
  overflow: visible;
  padding-top: 8px;
  transform: scale(0.92) translateY(-20px);
  /* Closing transition: Snappy and clean, no bounce on close */
  transition: transform 300ms cubic-bezier(0.4, 0, 1, 1);
}

.dropdown-menu.show .dropdown-animation-wrapper {
  transform: scale(1) translateY(0);
  /* Opening transition: Cool spring / bounce effect */
  transition: transform 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dropdown-toggle::after {
  transition: transform 260ms cubic-bezier(0.25, 0.8, 0.25, 1);
  transform-origin: center;
}

.dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

/* Inner content with visual design */
.dropdown-content {
  position: relative;
  background: transparent;
  border: 1px solid rgba(255, 0, 0, 0.1);
  border-radius: 16px;
  overflow: hidden;
  padding: 6px;
  transform: translateZ(0);
}

/* Isolated Blur Layer - Renders instantly without transparency conflicts */
.dropdown-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: rgba(255, 0, 0, 0.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: inherit;
}

/* Fix to ensure text doesn't wrap and stays in one line */
.dropdown-item {
  white-space: nowrap !important;
  border-radius: 10px !important;
  /* Matches the container's vibe */
  margin-bottom: 2px;
  padding: 8px 12px !important;
  transition: background 0.2s ease;
}

.dropdown-item:last-child {
  margin-bottom: 0;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:active {
  background: rgba(255, 0, 0, 0.15) !important;
  color: #fff !important;
}

/* Nav Pills */

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-primary);
}

/* Modal */

.modal {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.modal-content {
  background: radial-gradient(120% 120% at top, #450b0b, #1f0404);
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #ff0000;
}

.modal-header,
.modal-footer {
  border: none;
}

/* Reseñas Fade Effect */

#resenas {
  mask-image: none;
  -webkit-mask-image: none;
}

@media (min-width: 769px) {
  #resenas {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  }
}

/* Focus */

.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #ff0000;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(253, 13, 13, 0.25);
}

/* Tabs */

.tab-content>.tab-pane {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  transform: translateY(14px);
  filter: blur(6px);
  height: 0;
  overflow: hidden;
}

/* Tab activo */
.tab-content>.tab-pane.active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  height: auto;
  overflow: visible;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    filter 0.35s ease;
}

/* Login */
.bg-login {
  background: linear-gradient(85deg, rgb(26, 11, 11), rgba(131, 131, 131, 0) 51%, rgb(26, 11, 11)), linear-gradient(rgba(0, 0, 0, 0.64), var(--bs-dark) 88%), url("../../assets/img/fondoweee.webp") center / cover no-repeat;
}