:root {
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #737491;
    --gray-dark: #4a4b65;
    --primary: #766df4;
    --secondary: #f7f7fc;
    --success: #16c995;
    --info: #6a9bf4;
    --warning: #ffb15c;
    --danger: #f74f78;
    --light: #fff;
    --dark: #37384e;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1280px;
    --font-family-sans-serif: "Inter", sans-serif;
    --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --primary-color: #423e37;
    --secondary-color: #e3b23c;    
}

.bg-dark {
    /* background: #043632 !important; */
    background: linear-gradient(135deg, #2e200b 0%, #6d6d6d 100%) !important
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: #043632 !important;
}

.nav-link-style:hover {
    color: #043632;
    text-decoration: none;
}

.btn-primary:hover {
    color: #37384e !important;
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
}

h2.titlevsdc {
    font-family: 'Montserrat', sans-serif;
}

.bg-gradient {
    background: #766df4 !important;
    background: linear-gradient(to right, #80D0C7 0%, #0093E9 30%) !important;
}

.card.card-hover:hover,
.card.card-active {
    border-color: #ffb15c !important;
    box-shadow: 0.1875rem 0.1875rem 0.625rem -0.125rem rgba(0, 0, 0, 0.09) !important;
}

.text-primary {
    color: #ffb15c !important;
}

.btn-outline-primary {
    border-color: #0093E9;
}

.btn-outline-primary {
    color: #80D0C7;
    border-color: #0093E9;
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #80D0C7;
    border-color: #80D0C7;
}

.btn-primary:hover {
    color: #fff;
    background-color: #80D0C7;
    border-color: #80D0C7;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #80D0C7;
    border-color: #80D0C7;
}

.bg-header-es {
    background-color: #421414;
    background-image: url("../img/background/hero-bg_mobile.jpg");
}

.bg-header-en {
    background-color: #421414;
    background-image: url("../img/background/hero-bg_mobile.jpg");
}

.promo {
    padding-top: 80px;
}

@media only screen and (min-width: 768px) {

    /* For desktop: */
    .bg-header-es {
        background-color: #421414;
        background-image: url("../img/background/hero-bg_es.jpg");
    }

    .bg-header-en {
        background-color: #421414;
        background-image: url("../img/background/hero-bg_en.jpg");
    }
}

@media only screen and (min-width: 600px) {

    /* For tablet: */
    .bg-header-es {
        background-color: #421414;
        background-image: url("../img/background/hero-bg_es.jpg");
    }

    .bg-header-en {
        background-color: #421414;
        background-image: url("../img/background/hero-bg_en.jpg");
    }

    .promo {
        padding-left: 6rem !important;
        padding-right: 6rem !important;
        padding-top: 1.5rem !important;
    }
}

.cs-page-loading {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all .4s .2s ease-in-out;
    transition: all .4s .2s ease-in-out;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
}

.cs-page-loading-pago {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all .4s .2s ease-in-out;
    transition: all .4s .2s ease-in-out;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
}

.cs-page-loading.active {
    opacity: 0.9;
    visibility: visible;
}

.cs-page-loading-inner {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out;
    opacity: 0;
}

.cs-page-loading.active>.cs-page-loading-inner {
    opacity: 1;
    /*  */
}

.cs-page-loading-inner>span {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: normal;
    color: #737491;
}

.cs-page-spinner {
    display: inline-block;
    width: 5.75rem;
    height: 2.75rem;
    /* margin-bottom: .75rem;
      vertical-align: text-bottom;
      border: .15em solid #ffa200;
      border-right-color: transparent;
      border-radius: 50%;
      -webkit-animation: spinner .75s linear infinite;
      animation: spinner .75s linear infinite; */
}

@-webkit-keyframes spinner {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


/* Dropzone CSS */

.dropzone {
    border: 2px dashed #dee2e6;
    background: #fff;
    border-radius: 6px;
    cursor: pointer;
    min-height: 150px;
    padding: 20px;
}

.dropzone .dz-message {
    text-align: center;
    margin: 2rem 0
}

.dropzone.dz-started .dz-message {
    display: none
}

.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
}

/* .modal-content{
    border-radius: 0;
    height: 100%;
} */

/* ====== PASE CARD V2 — Rediseño apartado ====== */
.pase-card-v2 {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.07);
  border-left: 3px solid var(--primary);
  padding: 0.85rem 1rem;
  margin-bottom: 0.5rem;
  position: relative;
  transition: box-shadow 0.2s;
}
.pase-card-v2:hover {
  box-shadow: 0 3px 16px rgba(118,109,244,0.12);
}
.pase-card--promocion {
  border-left-color: #16c995;
}
.pase-card--competencia {
  border-left-color: #ffb15c;
}
.badge-fase {
  display: inline-block;
  background: #FFF3CD;
  color: #856404;
  border: 1px solid #FFE69C;
  border-radius: 3px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 1px 6px;
  margin-bottom: 0.3rem;
}
.pase-card__nombre {
  font-size: 0.95rem;
  font-weight: 700;
  color: #37384e;
  margin-bottom: 0.05rem;
  line-height: 1.3;
}
.pase-card__tag {
  font-size: 0.75rem;
  color: #737491;
  margin-bottom: 0;
}
.pase-card__divider {
  margin: 0.55rem 0;
  border-color: #f0f0f0;
}
.pase-card__apartado-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #766df4;
  margin-bottom: 0.1rem;
}
.pase-card__apartado-precio {
  font-size: 1.7rem;
  font-weight: 800;
  color: #37384e;
  line-height: 1;
  margin-bottom: 0.2rem;
}
.pase-card__divisa {
  font-size: 0.82rem;
  font-weight: 400;
  color: #737491;
}
.pase-card__apartado-detalle {
  font-size: 0.78rem;
  color: #4a4b65;
  margin-bottom: 0.1rem;
}
.pase-card__precio-total {
  font-size: 0.75rem;
  color: #737491;
  margin-bottom: 0;
}
.pase-card__countdown,
.pase-card__countdown-solo {
  font-size: 0.72rem;
  color: #f74f78;
  font-weight: 600;
  white-space: nowrap;
}
.pase-card__btn-apartar {
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.4rem 0.75rem;
  letter-spacing: 0.02em;
}
.pase-card__btn-comprar-outline {
  font-size: 0.8rem;
  color: #737491;
  padding: 0.3rem 0.75rem;
}
.pase-card__precio-solo {
  font-size: 1.5rem;
  font-weight: 800;
  color: #37384e;
  margin-bottom: 0.2rem;
  line-height: 1.1;
}
.pase-card__qty {
  max-width: 90px;
  font-size: 0.9rem;
  text-align: center;
}
.pase-card__beneficios {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
}
.pase-card__beneficio {
  font-size: 0.72rem;
  color: #4a4b65;
  display: inline-flex;
  align-items: center;
}
.pase-card__beneficio .fe-check {
  color: #16c995;
  font-size: 0.7rem;
}
.pase-card__meta-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.pase-card__meta-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
  flex-shrink: 0;
}
.pase-card__meta-item {
  font-size: 0.72rem;
  color: #737491;
  white-space: nowrap;
}
.pase-card__meta-item--urgencia {
  color: #f74f78;
  font-weight: 600;
}
.pase-card__countdown-block {
  min-height: 1.2rem;
  margin-top: 0.35rem;
  margin-bottom: 0.65rem;
}
/* ====== FIN PASE CARD V2 ====== */

/* ====== MODAL DE CONFIRMACIÓN — Estilo limpio ====== */
.swal-clean__popup {
  border-radius: 16px !important;
  padding: 2rem !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.12) !important;
  font-family: 'Inter', sans-serif !important;
}
.swal-clean__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #37384e !important;
  text-align: left !important;
  padding: 0 0 1rem 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0;
}
.swal-clean__body {
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}
.swal-apartado {
  display: flex;
  flex-direction: column;
}
.swal-apartado__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid #f5f5f7;
  font-size: 0.875rem;
  color: #4a4b65;
}
.swal-apartado__row--highlight {
  padding-top: 1rem;
}
.swal-apartado__row--total {
  border-bottom: none;
  color: #9fa0b0;
  font-size: 0.8rem;
}
.swal-apartado__price-main {
  font-size: 1.5rem;
  font-weight: 800;
  color: #37384e;
  line-height: 1;
}
.swal-apartado__price-main small {
  font-size: 0.8rem;
  font-weight: 400;
  color: #737491;
}
.swal-apartado__nota {
  font-size: 0.75rem;
  color: #9fa0b0;
  margin-top: 1rem;
  margin-bottom: 0;
  line-height: 1.5;
}
.swal-clean__actions {
  gap: 0.5rem !important;
  margin-top: 1.5rem !important;
  padding: 0 !important;
  flex-direction: row-reverse;
  justify-content: flex-start !important;
}
.swal-clean__btn-confirm {
  background: #37384e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 0.6rem 1.25rem !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}
.swal-clean__btn-confirm:hover {
  background: #4a4b65 !important;
}
.swal-clean__btn-cancel {
  background: transparent !important;
  color: #9fa0b0 !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  padding: 0.6rem 0.75rem !important;
  cursor: pointer !important;
}
.swal-clean__btn-cancel:hover {
  color: #4a4b65 !important;
}
/* ====== FIN MODAL DE CONFIRMACIÓN ====== */