/* Front-end custom css */

/* Reserved Seating */
.modal-big .modal-container {
    width: 100%;
}

.modal-big .modal-container .modal-content {
    min-height: 800px;
}

.modal-small .modal-container {
    width: auto;
    margin: auto;
}

.modal-small .modal-container .modal-content {
    min-height: auto;
}

.is-relative {
    position: relative;
}

.seat-container {
    position: relative;
    overflow: auto;
    width: 800px;
    margin: 0 auto;
    padding: 0;
    display: block;
    transform-origin: 0 0;


}

.seat-img {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    border-radius: 8px;
    border: 2px solid #777;
}

.seat-mark {
    position: absolute;
    z-index: 999;
    height: 24px;
    width: 24px;
    border-radius: 8px;
    background-color: #1b89ef;
    color: #fff;
    line-height: 2;
    text-align: center;
    box-shadow: 1px 1px 5px -2px #000;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
}

.seat-disabled {
    background-color: #999;
    cursor: not-allowed !important;
}

.seat-reserved {
    background-color: #bd3372;
    cursor: not-allowed !important;
}

.seat-select {
    background-color: #38c172;
}

.seat-disabled-col {
    color: #999;
}

.seat-reserved-col {
    color: #bd3372;
}

.seat-select-col {
    color: #38c172;
}

.seat-available-col {
    color: #1b89ef;
}

.p-0 {
    padding: 0 !important;
}

.m-0 {
    margin: 0 !important;
}

.w-100 {
    width: 100% !important;
}

.m-auto {
    margin: auto;
}

.no-display {
    display: none;
}

.seat-checkbox {
    position: absolute;
    z-index: 999999;
    height: 24px;
    width: 24px;
    padding: 0 !important;
    margin: 0 !important;
    display: none;
    cursor: pointer;
}


/* Authorize.net */
.wrapper-cc {
    display: flex;
    padding: 2rem;
}

@media screen and (max-width: 700px),
(max-height: 500px) {
    .wrapper-cc {
        flex-wrap: wrap;
        flex-direction: column;
    }
}

.card-form {
    max-width: 570px;
    margin: auto;
    width: 100%;
}

@media screen and (max-width: 576px) {
    .card-form {
        margin: 0 auto;
    }
}

.card-form__inner {
    background: #fff;
    box-shadow: 0 30px 60px 0 rgba(90, 116, 148, 0.4);
    border-radius: 10px;
    padding: 35px;
    padding-top: 180px;
}

@media screen and (max-width: 480px) {
    .card-form__inner {
        padding: 25px;
        padding-top: 165px;
    }
}

@media screen and (max-width: 360px) {
    .card-form__inner {
        padding: 15px;
        padding-top: 165px;
    }
}

.card-form__row {
    display: flex;
    align-items: flex-start;
}

@media screen and (max-width: 480px) {
    .card-form__row {
        flex-wrap: wrap;
    }
}

.card-form__col {
    flex: auto;
    margin-right: 35px;
}

.card-form__col:last-child {
    margin-right: 0;
}

@media screen and (max-width: 480px) {
    .card-form__col {
        margin-right: 0;
        flex: unset;
        width: 100%;
        margin-bottom: 20px;
    }

    .card-form__col:last-child {
        margin-bottom: 0;
    }
}

.card-form__col.-cvv {
    max-width: 150px;
}

@media screen and (max-width: 480px) {
    .card-form__col.-cvv {
        max-width: initial;
    }
}

.card-form__group {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

.card-form__group .card-input__input {
    flex: 1;
    margin-right: 15px;
}

.card-form__group .card-input__input:last-child {
    margin-right: 0;
}

.card-form__button {
    width: 100%;
    height: 55px;
    background: #2364d2;
    border: none;
    border-radius: 5px;
    font-size: 22px;
    font-weight: 500;
    box-shadow: 3px 10px 20px 0px rgba(35, 100, 210, 0.3);
    color: #fff;
    margin-top: 20px;
    cursor: pointer;
}

@media screen and (max-width: 480px) {
    .card-form__button {
        margin-top: 10px;
    }
}

.card-item {
    max-width: 430px;
    height: 270px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
    width: 100%;
}

@media screen and (max-width: 480px) {
    .card-item {
        max-width: 310px;
        height: 220px;
        width: 90%;
    }
}

@media screen and (max-width: 360px) {
    .card-item {
        height: 180px;
    }
}

.card-item.-active .card-item__side.-front {
    transform: perspective(1000px) rotateY(180deg) rotateX(0deg) rotateZ(0deg);
}

.card-item.-active .card-item__side.-back {
    transform: perspective(1000px) rotateY(0) rotateX(0deg) rotateZ(0deg);
}

.card-item__focus {
    position: absolute;
    z-index: 3;
    border-radius: 5px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: all 0.35s cubic-bezier(0.71, 0.03, 0.56, 0.85);
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.65);
}

.card-item__focus:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #08142f;
    height: 100%;
    border-radius: 5px;
    filter: blur(25px);
    opacity: 0.5;
}

.card-item__focus.-active {
    opacity: 1;
}

.card-item__side {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 20px 60px 0 rgba(14, 42, 90, 0.55);
    transform: perspective(2000px) rotateY(0deg) rotateX(0deg) rotate(0deg);
    transform-style: preserve-3d;
    transition: all 0.8s cubic-bezier(0.71, 0.03, 0.56, 0.85);
    backface-visibility: hidden;
    height: 100%;
}

.card-item__side.-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transform: perspective(2000px) rotateY(-180deg) rotateX(0deg) rotate(0deg);
    z-index: 2;
    padding: 0;
    height: 100%;
}

.card-item__side.-back .card-item__cover {
    transform: rotateY(-180deg);
}

.card-item__bg {
    max-width: 100%;
    display: block;
    max-height: 100%;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.card-item__cover {
    height: 100%;
    background-color: #1c1d27;
    position: absolute;
    height: 100%;
    background-color: #1c1d27;
    left: 0;
    top: 0;
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
}

.card-item__cover:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(6, 2, 29, 0.45);
}

.card-item__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 40px;
    padding: 0 10px;
}

@media screen and (max-width: 480px) {
    .card-item__top {
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__top {
        margin-bottom: 15px;
    }
}

.card-item__chip {
    width: 60px;
}

@media screen and (max-width: 480px) {
    .card-item__chip {
        width: 50px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__chip {
        width: 40px;
    }
}

.card-item__type {
    height: 45px;
    position: relative;
    display: flex;
    justify-content: flex-end;
    max-width: 100px;
    margin-left: auto;
    width: 100%;
}

@media screen and (max-width: 480px) {
    .card-item__type {
        height: 40px;
        max-width: 90px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__type {
        height: 30px;
    }
}

.card-item__typeImg {
    max-width: 100%;
    object-fit: contain;
    max-height: 100%;
    object-position: top right;
}

.card-item__info {
    color: #fff;
    width: 100%;
    max-width: calc(100% - 85px);
    padding: 10px 15px;
    font-weight: 500;
    display: block;
    cursor: pointer;
}

@media screen and (max-width: 480px) {
    .card-item__info {
        padding: 10px;
    }
}

.card-item__holder {
    opacity: 0.7;
    font-size: 13px;
    margin-bottom: 6px;
}

@media screen and (max-width: 480px) {
    .card-item__holder {
        font-size: 12px;
        margin-bottom: 5px;
    }
}

.card-item__wrapper {
    padding: 25px 15px;
    position: relative;
    z-index: 4;
    height: 100%;
    text-shadow: 7px 6px 10px rgba(14, 42, 90, 0.8);
    user-select: none;
}

@media screen and (max-width: 480px) {
    .card-item__wrapper {
        padding: 20px 10px;
    }
}

.card-item__name {
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
}

@media screen and (max-width: 480px) {
    .card-item__name {
        font-size: 16px;
    }
}

.card-item__nameItem {
    display: inline-block;
    min-width: 8px;
    position: relative;
}

.card-item__number {
    font-weight: 500;
    line-height: 1;
    color: #fff;
    font-size: 27px;
    margin-bottom: 35px;
    display: inline-block;
    padding: 10px 15px;
    cursor: pointer;
}

@media screen and (max-width: 480px) {
    .card-item__number {
        font-size: 21px;
        margin-bottom: 15px;
        padding: 10px 10px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__number {
        font-size: 19px;
        margin-bottom: 10px;
        padding: 10px 10px;
    }
}

.card-item__numberItem {
    width: 16px;
    display: inline-block;
}

.card-item__numberItem.-active {
    width: 30px;
}

@media screen and (max-width: 480px) {
    .card-item__numberItem {
        width: 13px;
    }

    .card-item__numberItem.-active {
        width: 16px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__numberItem {
        width: 12px;
    }

    .card-item__numberItem.-active {
        width: 8px;
    }
}

.card-item__content {
    color: #fff;
    display: flex;
    align-items: flex-start;
}

.card-item__date {
    flex-wrap: wrap;
    font-size: 18px;
    margin-left: auto;
    padding: 10px;
    display: inline-flex;
    width: 80px;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: pointer;
}

@media screen and (max-width: 480px) {
    .card-item__date {
        font-size: 16px;
    }
}

.card-item__dateItem {
    position: relative;
}

.card-item__dateItem span {
    width: 22px;
    display: inline-block;
}

.card-item__dateTitle {
    opacity: 0.7;
    font-size: 13px;
    padding-bottom: 6px;
    width: 100%;
}

@media screen and (max-width: 480px) {
    .card-item__dateTitle {
        font-size: 12px;
        padding-bottom: 5px;
    }
}

.card-item__band {
    background: rgba(0, 0, 19, 0.8);
    width: 100%;
    height: 50px;
    margin-top: 30px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 480px) {
    .card-item__band {
        margin-top: 20px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__band {
        height: 40px;
        margin-top: 10px;
    }
}

.card-item__cvv {
    text-align: right;
    position: relative;
    z-index: 2;
    padding: 15px;
}

.card-item__cvv .card-item__type {
    opacity: 0.7;
}

@media screen and (max-width: 360px) {
    .card-item__cvv {
        padding: 10px 15px;
    }
}

.card-item__cvvTitle {
    padding-right: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 5px;
}

.card-item__cvvBand {
    height: 45px;
    background: #fff;
    margin-bottom: 30px;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    color: #1a3b5d;
    font-size: 18px;
    border-radius: 4px;
    box-shadow: 0px 10px 20px -7px rgba(32, 56, 117, 0.35);
}

@media screen and (max-width: 480px) {
    .card-item__cvvBand {
        height: 40px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 360px) {
    .card-item__cvvBand {
        margin-bottom: 15px;
    }

}

.card-list {
    margin-bottom: -130px;
}

@media screen and (max-width: 480px) {
    .card-list {
        margin-bottom: -120px;
    }

    .site-slogan {
        text-wrap: wrap;
    }
}

.nav-header.header-position .navbar .site-slogan {
    font-size: 0.8rem;
    font-weight: 600;
    margin-left: 3.4rem !important;
    margin-top: 0.2rem !important;
}

.card-input {
    margin-bottom: 20px;
}

.card-input__label {
    font-size: 14px;
    margin-bottom: 5px;
    font-weight: 500;
    color: #1a3b5d;
    width: 100%;
    display: block;
    user-select: none;
}

.card-input__input {
    width: 100%;
    height: 50px;
    border-radius: 5px;
    box-shadow: none;
    border: 1px solid #ced6e0;
    transition: all 0.3s ease-in-out;
    font-size: 18px;
    padding: 5px 15px;
    background: none;
    color: #1a3b5d;
}

.card-input__input:hover,
.card-input__input:focus {
    border-color: #3d9cff;
}

.card-input__input:focus {
    box-shadow: 0px 10px 20px -13px rgba(32, 56, 117, 0.35);
}

.card-input__input.-select {
    -webkit-appearance: none;
    background-image: url('data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAeCAYAAABuUU38AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNrM1sEJwkAQBdCsngXPHsQO9O5FS7AAMVYgdqAd2IGCDWgFnryLFQiCZ8EGnJUNimiyM/tnk4HNEAg/8y6ZmMRVqz9eUJvRaSbvutCZ347bXVJy/ZnvTmdJ862Me+hAbZCTs6GHpyUi1tTSvPnqTpoWZPUa7W7ncT3vK4h4zVejy8QzM3WhVUO8ykI6jOxoGA4ig3BLHcNFSCGqGAkig2yqgpEiMsjSfY9LxYQg7L6r0X6wS29YJiYQYecemY+wHrXD1+bklGhpAhBDeu/JfIVGxaAQ9sb8CI+CQSJ+QmJg0Ii/EE2MBiIXooHRQhRCkBhNhBcEhLkwf05ZCG8ICCOpk0MULmvDSY2M8UawIRExLIQIEgHDRoghihgRIgiigBEjgiFATBACAgFgghEwSAAGgoBCBBgYAg5hYKAIFYgHBo6w9RRgAFfy160QuV8NAAAAAElFTkSuQmCC');
    background-size: 12px;
    background-position: 90% center;
    background-repeat: no-repeat;
    padding-right: 30px;
}

.slide-fade-up-enter-active {
    transition: all 0.25s ease-in-out;
    transition-delay: 0.1s;
    position: relative;
}

.slide-fade-up-leave-active {
    transition: all 0.25s ease-in-out;
    position: absolute;
}

.slide-fade-up-enter {
    opacity: 0;
    transform: translateY(15px);
    pointer-events: none;
}

.slide-fade-up-leave-to {
    opacity: 0;
    transform: translateY(-15px);
    pointer-events: none;
}

.slide-fade-right-enter-active {
    transition: all 0.25s ease-in-out;
    transition-delay: 0.1s;
    position: relative;
}

.slide-fade-right-leave-active {
    transition: all 0.25s ease-in-out;
    position: absolute;
}

.slide-fade-right-enter {
    opacity: 0;
    transform: translateX(10px) rotate(45deg);
    pointer-events: none;
}

.slide-fade-right-leave-to {
    opacity: 0;
    transform: translateX(-10px) rotate(45deg);
    pointer-events: none;
}

.iframe-full iframe {
    width: 100%;
    height: 80vh;
}

.star-active {
    color: #FBC02D;
    margin-top: 10px;
    margin-bottom: 10px
}

.star-active:hover {
    color: #F9A825;
    cursor: pointer
}

.star-inactive {
    color: #CFD8DC;
    margin-top: 10px;
    margin-bottom: 10px
}

.profile-pic {
    width: 10%;
}

.star-rating {
    direction: rtl;
    display: inline-block;
    padding: 20px
}

.star-rating input[type=radio] {
    display: none
}

.star-rating label {
    color: #bbb;
    font-size: 18px;
    padding: 0;
    cursor: pointer;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

.star-rating label:hover,
.star-rating label:hover~label,
.star-rating input[type=radio]:checked~label {
    color: #f2b600
}

#review_modal {
    display: none;
}

.VueCarousel-pagination {
    position: absolute;
    bottom: 2%;
}

#card-element {
    margin-bottom: 2rem;
}

.w-95 {
    width: 95% !important;
}

@media (max-width: 767px) {
    .ticket-title {
        font-size: .7rem;
    }

    .ticket-price {
        font-size: .7rem;
    }

    .w-m-50 {
        width: 50% !important;
    }
}

.ticket-selected-text {
    color: #38c172;
}


/* api-seat-img */
.api-seat-img {
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
    border-radius: 8px;
    border: 2px solid #777;
}

@media (max-width: 768px) {
    .api-seat-img {
        width: unset;
    }

}


/* api-seat-img */

#loading-screen {
    z-index: 99999;
    position: fixed;
    overflow: hidden;
    top: 0;
    display: flex;
    bottom: 0;
    left: 0;
    right: 0;
    justify-content: center;
    width: 100%;
    align-items: center;
    height: 100%;
    background: linear-gradient(155deg, #7f18a8 0%, #1d0475 50%, #7c17a7 100%);
}

.invalid-feedback {
    display: block;
}

.custom-dropdown {
    position: relative;

}

.dropdownmenu {
    list-style: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border: none;
    border-radius: 10px;
    display: inline-block;
    position: absolute;
    width: 208px;
    /* top: 200px; */
    right: 150px;
    z-index: 99999;
}

.dropdownmenu li {
    position: relative;
    left: -30px;
}

.dropdownmenu a {
    width: 200px;
    padding: 1px;
}


/* */

@media only screen and (min-width: 1200px) {
    .dropdownmenu {
        position: absolute;
        /* top: 200px; */
        right: 130px;
    }
}

@media only screen and (max-width: 1200px) {
    .dropdownmenu {
        position: absolute;
        top: -12px;
        right: 90px;
        z-index: 99999;
    }
}
/* CUSTOM CUSTOM */
img.etpay {
    margin-left: .5rem !important;
}
@media (max-width: 575.98px) {
    img.etpay {
        width: 90%;
    }   
    
}
/* CUSTOM CUSTOM */

.nav-header.menu-fixed .navbar .nav-link{
    color: #fff !important;
}

.nav-header.nav-header-classic .navbar .nav-link{
    color: #fff !important;   
}

.nav-header.header-white .navbar .nav-link {
        color: #fff;
    }
    
.Cookie {
    background-color: #000000;
    padding: 10px;
}

.Cookie__button {
    background: linear-gradient(0deg, #ff0183, #ff1b7f) !important;
    border: none;
    border-radius: 50px;
    color: #fff;
    display: inline-block;
    font-family: var(--bs-font-sans-serif);
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    overflow: hidden;
    padding: 10px 35px;
    position: relative;
    text-transform: uppercase;
    vertical-align: middle;
    width: auto;
}

.bg-gradient {
    background: linear-gradient(0deg, #ff0183, #ff1b7f) !important;
    transition: all .3s ease-out;
}
/* Cuando bg-gradient se usa en botones, fondo sólido sin gradiente */
.btn.bg-gradient,
.btn-primary.bg-gradient {
    background: #ff0c81 !important;
    background-image: none !important;
}

.nav-pills-rounded .nav-link.active,.nav-pills-rounded .nav-link:hover {
    background-color: #ff1b7f;
    border-color: #ff1b7f;
    color: #ff0183
}

body {
    -webkit-font-smoothing: antialiased
}

a {
    color: #ff1b7f;
    text-decoration: none
}

a:hover {
    color: #ff1b7f
}

/* CSS para centrar el contenido en dispositivos móviles */
@media (max-width: 768px) {
  .footer .row {
    text-align: center; /* Centra el texto en dispositivos móviles */
  }

  .footer .col-md-3 {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra el contenido horizontalmente */
    margin-bottom: 15px; /* Añade un margen inferior */
  }

  .footer .col-md-3 img {
    margin: 0 auto; /* Centra la imagen horizontalmente */
  }

  .footer .list-group-horizontal {
    justify-content: center; /* Centra la lista de idiomas horizontalmente */
  }
}

.cover-img-bg .cover-img {
    max-height:65vh;
    border-radius: 16px;
    margin: auto;
    margin-top: 50px; /* Espacio de 20px en la parte superior */
    -o-object-fit: contain;
    object-fit: contain;
    position: relative;
    width: 100%;
}


.nav-header.header-white .navbar-toggler .icon-bar {
    background-color: #ff1b7f;
}

/* CSS background header negro / admin / productor evento */
.nav-header.menu-fixed {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-color: #000;
    border-bottom: 0 solid transparent;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    left: 0;
    margin-top: 0 !important;  /* elimina el gap de 12px del tema */
    position: fixed;
    top: 0;
    transition: .3s;
    width: 100%;
    z-index: 1100;  /* por encima de sidebar y toggle */
}

/* Header fijo en el dashboard; siempre encima de sidebar y botón */
#navbar_vue.nav-dashboard {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-top: 0 !important;
    z-index: 1100 !important;
}
/* Color de fondo negro en todas las páginas */
#navbar_vue {
    background-color: #000 !important;
    z-index: 1100 !important;
}

/* Empujar el contenido hacia abajo SOLO en el dashboard (header fixed) */
#navbar_vue.nav-dashboard ~ .db-wrapper {
    padding-top: 68px !important;
}

/* Fondo negro tambi��n para el nav interno (por si hereda fondo blanco) */
#navbar_vue nav.navbar {
    background-color: #000 !important;
}

.nav-header .navbar-brand .header-brand-logo {
    display: block;
    height: 50px;
    width: auto;
    max-height: 50px;
    object-fit: contain;
    transform: scale(1.4);
    transform-origin: left center;
}

.border-info {
    --bs-border-opacity: 1;
    border-color: #ff1b7f !important;
}

.border-success {
    --bs-border-opacity: 1;
    border-color: #ff1b7f !important;
}


.nav-header.nav-header-classic .navbar .nav-link {
    color: #ff1b7f !important;
}


.nav-header.menu-fixed .navbar-toggler .icon-bar {
    background-color: #ff1b7f !important;
}


.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #ff0c81;
    --bs-btn-border-color: #ff0c81;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #e0006e;
    --bs-btn-hover-border-color: #e0006e;
    --bs-btn-focus-shadow-rgb: 255, 12, 129;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #e0006e;
    --bs-btn-active-border-color: #e0006e;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #ff0c81;
    --bs-btn-disabled-border-color: #ff0c81;
    border-radius: 50px;
    font-weight: 600;
    background-image: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: #e0006e !important;
    border-color: #e0006e !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #fff !important;
}

/* Estilos personalizados */
.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgb(255, 12, 129) !important; /* fucsia personalizado */
}

.ms-1 {
    margin-left: 0.25rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

.start-0 {
    left: 0 !important;
}

.top-0 {
    top: 0 !important;
}

.position-absolute {
    position: absolute !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgb(0, 0, 0) !important; /* fondo negro */
    background: #000000 !important; /* respaldo */
}

.pt-10 {
    padding-top: 4.5rem !important;
}


.text-primary {
    --bs-text-opacity: 1;
    color: #ff0c81 !important;
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: #ff0c81 !important;
}

.form-check-input:checked {
    background-color: #ff0c81;
    border-color: #ff0c81;
}

.lgx-single-schedule .schedule-info:hover {
    background: #ff0c81;
    box-shadow: 0 7px 14px rgba(0, 0, 0, .1), 0 3px 6px rgba(0, 0, 0, .1);
    transition: all .1s ease-in;
}
.lgx-single-schedule .schedule-info {
    border: 1px solid #ff0c81;
    border-radius: 1rem;
    transition: all .1s ease-out;
}

.social-icon {
    background-color: #ffffff !important; /* fondo blanco */
    color: #ff0c81 !important;           /* ��cono en fucsia */
    border: 1px solid #ff0c81;           /* opcional: borde fucsia */
    border-radius: 50%;                 /* opcional: ��cono redondo */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font-size: 16px;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.social-icon:hover {
    background-color: #ff0c81 !important;
    color: #fff !important; 
}

.bg-gradient.btn:hover {
    background: #e0006e !important;
    background-image: none !important;
    transition: background-color 0.2s ease !important;
}

.icon-custom{
    background-color: white !important;
    color: #ff0c81 !important;
}

.icon-custom-container{
    background-color: white !important;
}

/* --- Estilos para la sección del organizador --- */
.seccion-organizador {
    position: relative !important;
    overflow: hidden !important;
    background-color: black !important;
    color: white !important;
}

.page-link.active {
    background-color: #ff0c81 !important;
    border-color: #ff0c81 !important;
}

.btn-outline-primary {
    color: #ff0c81 !important;
    border-color: #ff0c81 !important;
    border-radius: 50px;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: #ff0c81 !important;
    border-color: #ff0c81 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.dropdown-item:hover {
    color: #ff0c81 !important;
}


.nav-lb-tab .nav-item .nav-link.active, .nav-lb-tab .nav-item .nav-link:hover {
    color:black;
    border-color:black;
}


.navbar-vertical-compact .navbar-nav .nav-item .nav-link.active .nav-icon {
    background-color: #ff0c81 !important;
}

.page-link {
    color:black !important;
}

.page-link.active {
    color:white !important;
}

/* ============================================================
   DASHBOARD SIDEBAR — drawer overlay (mobile y desktop)
   ============================================================ */

/* Earnings table responsive — solo en móvil */
@media (max-width: 768px) {
    .earnings-table table thead { display: none; }
    .earnings-table table,
    .earnings-table tbody,
    .earnings-table tr,
    .earnings-table td { display: block; width: 100%; }
    .earnings-table tbody tr {
        background: #f8f9fa; border: 2px solid #dee2e6; border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 1.5rem; padding: 1rem;
    }
    .earnings-table tbody tr td {
        display: flex; justify-content: space-between; align-items: center;
        padding: 0.75rem 0 !important; border: none !important; text-align: right;
    }
    .earnings-table tbody tr td:not(:last-child) { border-bottom: 1px solid #dee2e6 !important; }
    .earnings-table tbody tr td:first-child { justify-content: flex-start !important; text-align: left; }
    .earnings-table tbody tr td:before {
        content: attr(data-title); font-weight: 600; color: #666;
        margin-right: 1rem; min-width: 100px; text-align: left; float: left;
    }
    .earnings-table tbody tr td:first-child:before { display: none; }
    .earnings-table tbody tr td:first-child .d-flex { width: 100%; }
    canvas[ref="earningsChart"] { height: 400px !important; max-height: 400px !important; }
}

/* ---- Contenedor sidebar: nunca ocupa espacio en el flujo ---- */
#db-wrapper-two {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    overflow: visible !important;
}

/* ---- Sin transición en la carga inicial ---- */
html body .sidebar-no-anim #db-wrapper-two .navbar-vertical-compact,
html body .sidebar-no-anim #db-wrapper,
html body .sidebar-no-anim #nav-toggle {
    transition: none !important;
}

/* ---- Contenido: transición suave de margin ---- */
html body #db-wrapper {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transition: margin-left 0.28s ease-out, width 0.28s ease-out !important;
}
html body #db-wrapper #page-content-for-mini {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
}
html, body { overflow-x: hidden !important; }

/* ===== DESKTOP (≥992px): sidebar abierto por defecto, contenido se adapta ===== */
@media (min-width: 992px) {
    /* Cuando está toggled en desktop, el contenido se desplaza */
    #db-wrapper-two.toggled ~ #db-wrapper {
        margin-left: 220px !important;
        width: calc(100% - 220px) !important;
        max-width: calc(100% - 220px) !important;
    }
    #db-wrapper-two.toggled ~ #db-wrapper #page-content-for-mini {
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Container-fluid usa todo el ancho disponible */
    #db-wrapper-two.toggled ~ #db-wrapper .container-fluid {
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* ===== MOBILE (<992px): sidebar sigue como overlay ===== */
@media (max-width: 991.98px) {
    html body #db-wrapper {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Sidebar cerrado por defecto en mobile (evita flash al cargar) */
    html body #db-wrapper-two.toggled .navbar-vertical-compact {
        left: -220px !important;
        box-shadow: none !important;
    }
    /* Solo se abre con clase JS explícita */
    html body #db-wrapper-two.toggled.mobile-open .navbar-vertical-compact {
        left: 0 !important;
        box-shadow: 6px 0 28px rgba(0,0,0,0.45) !important;
    }
}

/* ---- Header dashboard: sin gap ni padding extra ---- */
#navbar_vue.nav-dashboard,
.nav-header.menu-fixed {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
#navbar_vue.nav-dashboard nav.navbar,
.nav-header.menu-fixed nav.navbar {
    padding: 0 !important;
}
/* Ocultar nombre/slogan solo en dashboard */
#navbar_vue.nav-dashboard .navbar-brand .my-2 {
    display: none !important;
}
#navbar_vue.nav-dashboard .navbar-brand {
    padding-top: 0 !important;
    padding-left: 0 !important;
}

/* ---- Botón hamburguesa flotante: solo visible con sidebar cerrado ---- */
#nav-toggle {
    position: fixed !important;
    top: 72px !important;
    left: 16px !important;
    z-index: 1050 !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #e8217c !important;
    border: none !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 10px rgba(232,33,124,0.4) !important;
    color: #fff !important;
    opacity: 1;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
}
/* Mobile: hamburguesa semi-transparente cuando scroll está en top */
@media (max-width: 991.98px) {
    #nav-toggle.at-top {
        opacity: 0.35 !important;
    }
    #nav-toggle.at-top:active {
        opacity: 1 !important;
    }
}
#nav-toggle i { color: #fff !important; font-size: 0.95rem !important; }
/* Ocultar hamburguesa cuando sidebar está abierto — desktop: .toggled, mobile: .mobile-open */
@media (min-width: 992px) {
    #db-wrapper-two.toggled ~ #nav-toggle {
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }
}
@media (max-width: 991.98px) {
    #db-wrapper-two.mobile-open ~ #nav-toggle {
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }
}


/* ---- Venue search dropdown options (global, no scoped) ---- */
.multiselect__option {
    padding: 6px 12px !important;
    min-height: 52px !important;
    white-space: normal !important;
}
.multiselect__option--highlight {
    background: #e8217c !important;
}
.multiselect__option--highlight .venue-opt-title,
.multiselect__option--highlight .venue-opt-sub {
    color: #fff !important;
}
.multiselect__option--highlight .venue-opt-badge {
    background: #fff !important;
    color: #e8217c !important;
}
/* Hide "Press enter to select" / "Press enter to remove" labels */
.multiselect__option::after {
    display: none !important;
}
.venue-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0;
    position: relative;
}
.venue-opt-thumb {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f5f5f5;
}
.venue-opt-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.venue-opt-thumb--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 16px;
}
.venue-opt-info {
    flex: 1;
    min-width: 0;
}
.venue-opt-title {
    font-weight: 600;
    font-size: 13px;
    color: #1a3b5d;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.venue-opt-sub {
    font-size: 11px;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.venue-opt-badge {
    font-size: 9px;
    font-weight: 700;
    background: linear-gradient(135deg, #ff0183, #ff1b7f);
    color: #fff;
    padding: 3px 8px;
    border-radius: 20px;
    flex-shrink: 0;
    white-space: nowrap;
    line-height: 1;
}

/* Group header inside venue dropdown */
.venue-group-header {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #999;
    padding: 6px 0 2px;
    pointer-events: none;
    border-bottom: 1px solid #eee;
    margin-bottom: 2px;
}
.multiselect__option:has(.venue-group-header) {
    min-height: 28px !important;
    padding: 0 12px !important;
    background: #fafafa !important;
    cursor: default !important;
}
.multiselect__option--highlight:has(.venue-group-header) {
    background: #fafafa !important;
}

/* ---- Sidebar: drawer de 220px, oculto por defecto ---- */
html body #db-wrapper-two .navbar-vertical-compact {
    position: fixed !important;
    top: 0 !important;
    left: -220px !important;
    width: 220px !important;
    max-width: 220px !important;
    min-width: 220px !important;
    height: 100vh !important;
    background: #111 !important;
    z-index: 1000 !important;
    transition: left 0.28s ease-out !important;
    box-shadow: none !important;
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding-top: 60px !important;
}
/* Scroll interno: el contenedor data-simplebar ocupa el 100% del nav y hace scroll */
html body #db-wrapper-two .navbar-vertical-compact > [data-simplebar],
html body #db-wrapper-two .navbar-vertical-compact .mt-5 {
    margin-top: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}
/* Desktop: toggled = sidebar visible */
@media (min-width: 992px) {
    html body #db-wrapper-two.toggled .navbar-vertical-compact {
        left: 0 !important;
        box-shadow: 6px 0 28px rgba(0,0,0,0.45) !important;
    }
}

/* ---- Ítems del sidebar: filas horizontales ---- */
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item {
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item:first-child {
    margin-top: 16px !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 16px !important;
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    background: transparent !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link:hover,
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link.active {
    color: #e8217c !important;
    background: rgba(232,33,124,0.1) !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link .nav-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    line-height: normal !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link .nav-icon i {
    font-size: 1rem !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link .nav-text {
    display: inline !important;
    font-size: 0.85rem !important;
    line-height: 1.2 !important;
}
html body #db-wrapper-two .navbar-vertical-compact .navbar-nav .nav-item .nav-link .tooltiptext {
    display: none !important;
}

/* ── Sidebar scrollbar — thin & subtle ─────────────── */
#db-wrapper-two .navbar-vertical-compact [data-simplebar],
#db-wrapper-two .navbar-vertical-compact {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.18) transparent;
}
#db-wrapper-two .navbar-vertical-compact [data-simplebar]::-webkit-scrollbar,
#db-wrapper-two .navbar-vertical-compact::-webkit-scrollbar {
    width: 4px !important;
}
#db-wrapper-two .navbar-vertical-compact [data-simplebar]::-webkit-scrollbar-track,
#db-wrapper-two .navbar-vertical-compact::-webkit-scrollbar-track {
    background: transparent !important;
}
#db-wrapper-two .navbar-vertical-compact [data-simplebar]::-webkit-scrollbar-thumb,
#db-wrapper-two .navbar-vertical-compact::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.18) !important;
    border-radius: 4px !important;
}
#db-wrapper-two .navbar-vertical-compact [data-simplebar]::-webkit-scrollbar-thumb:hover,
#db-wrapper-two .navbar-vertical-compact::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.35) !important;
}

/* ======================================================================
   EVENT FORM — Standardized save buttons
   ====================================================================== */
.btn-save-section {
    padding: 8px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    margin-top: 10px;
    letter-spacing: 0.01em;
    display: block !important;
    margin-left: auto !important;
    width: fit-content !important;
}

/* ======================================================================
   EVENT FORM — Desktop two-column grid layout
   Only applies to forms whose direct children are .mb-2 / .mb-3 blocks
   (excludes Timing.vue which uses .row directly)
   ====================================================================== */
@media (min-width: 992px) {
    /* Detail, Seo, Location, Poweredby tags form */
    .lgx-contactform:has(> .mb-3),
    .lgx-contactform:has(> .mb-2) {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 0 20px;
    }
    /* Rich editors, textareas, list-groups, alerts = full width */
    .lgx-contactform .mb-3.text-wrap,
    .lgx-contactform .mb-2.text-wrap,
    .lgx-contactform .mb-3:has(textarea:not([style*="display:none"])),
    .lgx-contactform .mb-3:has(.vue-editor),
    .lgx-contactform .mb-4,
    .lgx-contactform .list-group,
    .lgx-contactform .alert,
    .lgx-contactform > div:has(.row),
    .lgx-contactform > .text-center,
    .lgx-contactform > .d-flex,
    .lgx-contactform > div:has(.multiselect),
    .lgx-contactform > div:has(tag-component),
    .lgx-contactform > div:has(venue-component),
    .lgx-contactform > .mb-3:has(.multiselect) {
        grid-column: 1 / -1;
    }
    /* Hidden inputs at top of form */
    .lgx-contactform > input[type="hidden"] {
        grid-column: 1 / -1;
        height: 0;
        margin: 0;
    }
    /* Hidden-input currency group */
    .lgx-contactform .mb-3:has(input[type="hidden"]:first-child) {
        grid-column: 1 / -1;
    }
    /* URL input groups with long prefixes */
    .lgx-contactform .mb-3:has(.url-input-group),
    .lgx-contactform .mb-3:has(.input-group) {
        grid-column: 1 / -1;
    }
    /* Submit buttons */
    .lgx-contactform > button,
    .lgx-contactform > .btn,
    .lgx-contactform > div > .btn-save-section,
    .lgx-contactform > div:has(> .btn-save-section) {
        grid-column: 1 / -1;
        justify-self: end;
    }
    /* Non-lgx forms inside accordion (Media, Spotify) — no grid, they handle own layout */
}

/* ======================================================
   MODAL z-index FIX: modals above navbar (z-index: 1100)
   ====================================================== */
.modal {
    z-index: 1200 !important;
}
.modal-backdrop {
    z-index: 1150 !important;
}
/* custom_model: Vue-toggled modals rendered inline in cards.
   Bootstrap's JS never fires so we must supply the backdrop and z-index ourselves.
   The card-level opacity fix (content children only) removes the stacking-context
   trap — this rule is the final safety net for z-index + backdrop. */
.custom_model .modal.show {
    z-index: 10500 !important;
    background-color: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
}

/* ============================================================
   MOBILE NAV — menú único estilo sidebar en el navbar superior
   ============================================================ */

/* Bell button: solo visible en móvil */
.mobile-topbar-notification { display: none; }

@media (max-width: 991.98px) {

    /* 1. Ocultar sidebar drawer y su botón flotante en móvil */
    #nav-toggle { display: none !important; }
    #db-wrapper-two { display: none !important; }

    /* 2. Bell visible junto al toggler */
    .mobile-topbar-notification {
        display: flex !important;
        align-items: center;
        margin-right: 12px;
    }
    .mobile-topbar-bell-btn {
        background: transparent;
        border: none;
        padding: 6px 10px;
        cursor: pointer;
        position: relative;
        line-height: 1;
    }
    .mobile-topbar-bell-btn i {
        color: #ff1b7f;
        font-size: 1.25rem;
    }
    .mobile-bell-badge {
        position: absolute;
        top: 2px;
        right: 2px;
        background: #e8217c;
        color: #fff;
        font-size: 0.58rem;
        font-weight: 700;
        min-width: 15px;
        height: 15px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 3px;
        line-height: 1;
    }

    /* Dropdown de notificaciones en la campana del navbar móvil */
    .mobile-notif-dropdown {
        position: absolute !important;
        top: calc(100% + 6px) !important;
        right: 0 !important;
        background: #1a1a1a !important;
        border: 1px solid rgba(232,33,124,0.35) !important;
        border-radius: 12px !important;
        min-width: 260px !important;
        max-width: 90vw !important;
        box-shadow: 0 8px 32px rgba(0,0,0,0.7) !important;
        padding: 6px 0 !important;
        z-index: 1300 !important;
    }
    .mobile-notif-dropdown .dropdown-item {
        display: block !important;
        color: rgba(255,255,255,0.82) !important;
        padding: 10px 18px !important;
        font-size: 0.875rem !important;
        border-bottom: 1px solid rgba(255,255,255,0.06) !important;
        text-decoration: none !important;
    }
    .mobile-notif-dropdown .dropdown-item:last-child {
        border-bottom: none !important;
    }
    .mobile-notif-dropdown .dropdown-item:hover {
        background: rgba(232,33,124,0.14) !important;
        color: #e8217c !important;
    }
    .mobile-notif-dropdown .text-muted {
        color: rgba(255,255,255,0.4) !important;
    }

    /* 3. Collapse del navbar → overlay full-width oscuro */
    #navbarSupportedContent {
        position: fixed !important;
        top: var(--navbar-h, 62px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        max-height: calc(100vh - var(--navbar-h, 62px)) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 1090 !important;
        margin-top: 0 !important;
    }
    #navbarSupportedContent.show,
    #navbarSupportedContent.collapsing {
        background: #111 !important;
        box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
        padding: 0 !important;
        margin-top: 0 !important;
        border-top: 2px solid #e8217c !important;
        border-radius: 0 !important;
    }
    /* Quitar el padding interno del navbar que crea el gap blanco */
    #navbar_vue nav.navbar {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* 4. Fila de usuario al inicio del collapse */
    .mobile-collapse-top {
        width: 100%;
    }
    .mobile-user-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 20px 12px;
        border-bottom: 1px solid rgba(255,255,255,0.12);
        background: #0d0d0d;
    }
    .mobile-user-name {
        color: #fff;
        font-weight: 600;
        font-size: 0.92rem;
    }
    .mobile-profile-link {
        color: #e8217c !important;
        font-size: 0.8rem;
        font-weight: 600;
        text-decoration: none !important;
    }
    .mobile-profile-link:hover { color: #ff1b7f !important; }

    /* 5. Grid de 3 botones cuadrados grandes */
    .mobile-quick-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 9px;
        padding: 12px;
        background: #111;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .mobile-quick-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        aspect-ratio: 1 / 1;
        background: #1c1c1c;
        border: 1px solid rgba(255,255,255,0.13);
        border-radius: 12px;
        color: rgba(255,255,255,0.85) !important;
        text-decoration: none !important;
        gap: 7px;
        font-size: 0.7rem;
        font-weight: 600;
        padding: 6px 4px;
        text-align: center;
        transition: background 0.18s, border-color 0.18s, color 0.18s;
    }
    .mobile-quick-btn i {
        font-size: 1.4rem;
        color: #e8217c;
        display: block;
        transition: color 0.18s;
    }
    .mobile-quick-btn.active,
    .mobile-quick-btn:hover {
        background: rgba(232,33,124,0.15) !important;
        border-color: #e8217c !important;
        color: #e8217c !important;
    }
    .mobile-quick-btn.active i,
    .mobile-quick-btn:hover i { color: #e8217c !important; }
    .mobile-quick-btn--logout i { color: rgba(220,80,80,0.85) !important; }
    .mobile-quick-btn--logout:hover {
        background: rgba(220,53,69,0.15) !important;
        border-color: rgba(220,53,69,0.6) !important;
        color: rgba(220,80,80,0.9) !important;
    }
    .mobile-quick-btn--logout:hover i { color: #dc3545 !important; }

    /* 6. Cada nav-link en la lista inferior: fila estilo sidebar */
    #navbarSupportedContent .navbar-nav .nav-item > .nav-link {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 13px 20px !important;
        color: rgba(255,255,255,0.78) !important;
        font-size: 0.9rem !important;
        font-weight: 500 !important;
        border-bottom: 1px solid rgba(255,255,255,0.07) !important;
        border-radius: 0 !important;
        white-space: nowrap !important;
    }
    #navbarSupportedContent .navbar-nav .nav-item > .nav-link:hover,
    #navbarSupportedContent .navbar-nav .nav-item > .nav-link.active {
        color: #e8217c !important;
        background: rgba(232,33,124,0.12) !important;
    }

    /* 7. Caret del dropdown al extremo derecho */
    #navbarSupportedContent .navbar-nav .nav-item > .nav-link .fa-caret-down {
        margin-left: auto !important;
        opacity: 0.45 !important;
    }

    /* 8. Dropdowns dentro del collapse */
    #navbarSupportedContent .dropdown-menu {
        background: #1a1a1a !important;
        border: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    #navbarSupportedContent .dropdown-item {
        color: rgba(255,255,255,0.72) !important;
        padding: 11px 20px 11px 48px !important;
        border-bottom: 1px solid rgba(255,255,255,0.05) !important;
        font-size: 0.875rem !important;
    }
    #navbarSupportedContent .dropdown-item:hover {
        background: rgba(232,33,124,0.12) !important;
        color: #e8217c !important;
    }
    #navbarSupportedContent .dropdown-item i {
        margin-right: 8px !important;
        opacity: 0.8 !important;
    }

    /* 9. Divisor entre secciones del collapse */
    .mobile-nav-divider {
        border-color: rgba(255,255,255,0.13) !important;
        margin: 0 20px !important;
        opacity: 1 !important;
    }
}


/* ════════════════════════════════════════════════════════════
   ORGANIZER PUBLIC PROFILE  /organizador/{name}
   ════════════════════════════════════════════════════════════ */

/* ── Page shell ─────────────────────────────────────────── */
/* ─────────────────────────────────────────────────────────────
   Página de productor  (organiser/show.blade.php)
───────────────────────────────────────────────────────────────*/
.op-page {
    background: #f4f5f7;
    min-height: 60vh;
    font-size: 0;
}
.op-page > * { font-size: 1rem; }

/* ── Hero ──────────────────────────────────────────────────── */
.op-hero {
    width: 100% !important;
    display: block !important;
    line-height: 0 !important;
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-top: 68px !important;
    background: #111 !important;
    overflow: hidden !important;
}
/* Imagen estática: altura fija con recorte centrado */
.op-hero-cover {
    display: block !important;
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
}
.op-hero-placeholder {
    height: 300px !important;
    display: block !important;
    background: linear-gradient(135deg, #0d0015 0%, #2e0840 60%, #0d0015 100%) !important;
}

/* ── Profile card ──────────────────────────────────────────── */
.op-card {
    background: #fff !important;
    margin: 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.09) !important;
}

/* Dos columnas en desktop: info izq | spotify der */
.op-card-inner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 2.5rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 2.5rem 2rem !important;
    box-sizing: border-box !important;
}
.op-card-left  { flex: 1 !important; min-width: 0 !important; }
.op-card-right {
    flex-shrink: 0 !important;
    width: 320px !important;
    padding-top: 1.5rem !important;
}

/* ── Avatar + meta ─────────────────────────────────────────── */
.op-profile-row {
    display: flex !important;
    align-items: flex-end !important;
    gap: 1.5rem !important;
    padding: 0 0 1.25rem !important;
}

/* Avatar solapado sobre el hero */
.op-avatar-wrap {
    flex-shrink: 0 !important;
    align-self: flex-start !important;
    margin-top: -60px !important;
    position: relative !important;
    z-index: 5 !important;
}
.op-avatar {
    display: block !important;
    width: 160px !important; height: 160px !important;
    min-width: 160px !important; min-height: 160px !important;
    max-width: 160px !important; max-height: 160px !important;
    border-radius: 50% !important;
    border: 5px solid #fff !important;
    object-fit: cover !important;
    box-shadow: 0 4px 22px rgba(0,0,0,.25) !important;
    background: #dde1e7 !important;
    overflow: hidden !important;
}

.op-profile-meta {
    flex: 1 !important;
    min-width: 0 !important;
    padding-top: 1rem !important;
    padding-bottom: 4px !important;
}
.op-name {
    font-size: 1.85rem !important;
    font-weight: 700 !important;
    color: #0f1011 !important;
    line-height: 1.2 !important;
    margin: 0 0 .4rem !important;
}
.op-badge {
    display: inline-block !important;
    background: #fff0f7 !important;
    color: #ff0c81 !important;
    font-size: .75rem !important;
    font-weight: 600 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    padding: 2px 10px !important;
    border-radius: 50px !important;
    margin-bottom: .5rem !important;
}
.op-desc {
    color: #555 !important;
    font-size: .95rem !important;
    line-height: 1.7 !important;
    margin: 0 0 .8rem !important;
}
.op-socials {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.op-socials a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important; height: 38px !important;
    border-radius: 50% !important;
    background: #f0f2f5 !important;
    color: #444 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    transition: background .18s, color .18s, transform .18s !important;
    flex-shrink: 0 !important;
}
.op-socials a:hover {
    background: #ff0c81 !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

/* Stats vacíos: sin borde */
.op-stats-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem 2rem !important;
}

/* ── Spotify card ──────────────────────────────────────────── */
.op-spotify {
    width: 100% !important;
    box-sizing: border-box !important;
    background: #f8f9fa !important;
    border-radius: 16px !important;
    padding: 1rem !important;
    border: 1px solid #eee !important;
}
.op-spotify iframe {
    display: block !important;
    border-radius: 10px !important;
    width: 100% !important;
}

/* ── Sección de eventos ────────────────────────────────────── */
.op-events-section {
    padding: 3rem 0 4rem !important;
    background: #f4f5f7 !important;
}
.organizer-events .row + .row { margin-top: 2.5rem !important; }
.organizer-events .row + .row h2 {
    padding-top: .5rem !important;
    border-top: 1px solid #e5e7eb !important;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 992px) {
    .op-card-inner {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        padding: 0 1.5rem 1.5rem !important;
        position: relative !important;
    }
    .op-card-left  { width: 100% !important; }
    .op-card-right { width: 100% !important; padding-top: 1.25rem !important; }
    .op-spotify { background: transparent !important; border: none !important; padding: 0 !important; border-radius: 0 !important; }
    .organizer-events h2 { text-align: center !important; }
    .op-avatar {
        width: 171px !important; height: 171px !important;
        min-width: 171px !important; min-height: 171px !important;
        max-width: 171px !important; max-height: 171px !important;
    }
    .op-avatar-wrap {
        position: absolute !important;
        top: -43px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-top: 0 !important;
        z-index: 10 !important;
    }
    .op-profile-meta {
        margin-left: 0 !important;
        padding-top: 134px !important;
        text-align: center !important;
        width: 100% !important;
    }
    .op-profile-row   { display: block !important; padding-bottom: .5rem !important; }
    .op-name          { font-size: 1.5rem !important; }
    .op-desc          { text-align: center !important; }
    .op-socials       { justify-content: center !important; }
    .op-stats-row     { justify-content: center !important; }
    .op-badge         { display: block !important; text-align: center !important; }
    .op-hero-cover    { height: 220px !important; }
    .op-hero-placeholder { height: 200px !important; }
}
@media (max-width: 768px) {
    .op-card-inner { padding: 0 1.25rem 1.25rem !important; }
    .op-avatar {
        width: 145px !important; height: 145px !important;
        min-width: 145px !important; min-height: 145px !important;
        max-width: 145px !important; max-height: 145px !important;
    }
    .op-avatar-wrap { top: -36px !important; }
    .op-profile-meta { padding-top: 115px !important; }
    .op-name { font-size: 1.3rem !important; }
    .op-hero-cover { height: 180px !important; }
    .op-hero-placeholder { height: 160px !important; }
}
@media (max-width: 480px) {
    .op-card-inner { padding: 0 1rem 1rem !important; }
    .op-avatar {
        width: 132px !important; height: 132px !important;
        min-width: 132px !important; min-height: 132px !important;
        max-width: 132px !important; max-height: 132px !important;
    }
    .op-avatar-wrap { top: -33px !important; }
    .op-profile-meta { padding-top: 105px !important; }
    .op-name { font-size: 1.2rem !important; }
    .op-hero-cover { height: 160px !important; }
    .op-hero-placeholder { height: 140px !important; }
}

.op-desc-more {
    color: #ff0c81 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.op-desc-more:hover { text-decoration: underline !important; }

/* ── Event card borders ─────────────────────────────────── */
/* Desktop: borde muy sutil sobre el box-shadow existente */
@media (min-width: 768px) {
    .evc {
        border: 1px solid rgba(0,0,0,0.06) !important;
    }
}

/* Móvil: borde sutil + esquinas redondeadas en primero y último */
@media (max-width: 767px) {
    .ev-grid {
        border: 1px solid rgba(0,0,0,0.07) !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
    .ev-grid-cell:first-child .evc-link {
        border-radius: 12px 12px 0 0 !important;
        overflow: hidden !important;
    }
    .ev-grid-cell:last-child .evc-link {
        border-bottom: none !important;
        border-radius: 0 0 12px 12px !important;
        overflow: hidden !important;
    }
    .ev-grid-cell:only-child .evc-link {
        border-radius: 12px !important;
        border-bottom: none !important;
    }
}

/* ── Profile sidebar nav ─────────────────────────────── */
.pnav-item {
    padding: .75rem 1rem;
    font-size: .925rem;
    border-left: 3px solid transparent;
    transition: background .15s, border-color .15s;
}
.pnav-item:hover {
    background: #fff0f7 !important;
    border-left-color: #ffb3d9 !important;
    color: inherit;
}
.pnav-active,
.pnav-item.active {
    background: #fff0f7 !important;
    border-left-color: #ff0c81 !important;
    color: #ff0c81 !important;
    font-weight: 600;
}
.pnav-active i,
.pnav-item.active i {
    color: #ff0c81 !important;
}
