body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.content {
    flex: 1;
}

.fixed-footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
}

.footer-space {
    height: 10px; /* Adjust height according to the footer height */
}

.navbar-nav .nav-item .nav-link .language-selector {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    font-size: inherit !important;
    padding: 0 !important;
    appearance: none !important;; /* Remove default select styling */
    -webkit-appearance: none !important;; /* Remove default select styling */
}

.navbar-nav .nav-item .nav-link .language-selector:focus {
    outline: none !important;
}

.navbar-nav .nav-item .nav-link .language-selector option {
    background-color: white !important;
    color: black !important;
}

.language-selector-container {
    display: flex !important;
    align-items: center !important;
}

.language-selector-container img {
    width: 20px !important;
    height: 10px !important;
    margin-right: 8px !important;
}

/* Estilos adicionais para ícones e texto no menu mobile */
.navbar .nav-link {
    color: #000;
    font-size: 14px;
}

.navbar .nav-link i {
    font-size: 24px;
    display: block;
}

.navbar .nav-link span {
    font-size: 12px;
    display: block;
}


.img-card {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.widget-title {
    height: 3em;
    /*margin-bottom: 1em;*/
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.event-page {
    color: #fff !important;
    background-color: #d9416c;
    border-color: #d9416c;
}
.event-page:hover {
    background-color: #b23257;
    border-color: #b23257;
    color: #fff !important;
}
.event-page:active,
.event-page.active {
    background-color: #b23257;
    border-color: #b23257;
    color: #fff !important;
}

.register {
    color: #fff !important;
    background-color: #34c38f;
    border-color: #34c38f;
    margin-top: 15px;
}

.register:hover {
    background-color: #2ea27d;
    border-color: #2ea27d;
    color: #fff !important;
}
.register:active,
.register.active {
    background-color: #2ea27d;
    border-color: #2ea27d;
    color: #fff !important;
}

.follow {
    color: #fff !important;
    background-color: #50a5f1;
    border-color: #50a5f1;
    margin-top: 15px;
}
.follow:hover {
    background-color: #1c7ed6;
    border-color: #1c7ed6;
    color: #fff !important;
}
.follow:active,
.follow.active {
    background-color: #1c7ed6;
    border-color: #1c7ed6;
    color: #fff !important;
}

.payment-method {
    font-size: 0.95em;
    margin-right: 5px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.payment-method i {
    margin-right: 4px;
}

.tags-status {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;

}
.tag-status {
    padding: 5px 4px;
    border-radius: 5px;
    font-size: 0.7em;
    margin-bottom: 5px;
    margin-right: 5px;
}

/* Ajustes para diferentes tamanhos de tela */
@media (max-width: 1200px) {
    .tag-status {
        font-size: 0.7em;
    }
}

@media (max-width: 992px) {
    .tag-status {
        font-size: 0.8em;
    }
}

@media (max-width: 768px) {
    .tag-status {
        font-size: 0.7em;
    }
}

@media (max-width: 576px) {
    .tag-status {
        font-size: 0.7em;
    }
    .payment-method {
        font-size: 0.8em;
    }
    .info-date {
        font-size: 0.8em;
    }
}

.event-badge {
    position: absolute;
    top: 5px;
    z-index: 2;
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    font-weight: 600;
    border: 1.5px solid;
    background-color: white;
}

/* Versões do badge por status */
.event-badge.status_aberta {
    background: #148e81;
    color: #ffffff;
    animation: pulse-green 2s infinite;
}

.event-badge.status_esgotadas {
    background: #dc3545;
    color: #ffffff;
    animation: pulse-red 2s infinite;
}

.event-badge.status_encerrada {
    background: #dc3545;
    color: #ffffff;
    animation: pulse-red 2s infinite;
}

.event-badge.status_aguarde {
    background: #f39c12;
    color: #ffffff;
    animation: pulse-orange 2s infinite;
}

/* Efeitos de pulsação por status */
@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(20, 142, 129, 0.4); }
    70% { box-shadow: 0 0 0 8px rgba(20, 142, 129, 0); }
    100% { box-shadow: 0 0 0 0 rgba(20, 142, 129, 0); }
}

@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.4); }
    70% { box-shadow: 0 0 0 8px rgba(220, 53, 69, 0); }
    100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
}

@keyframes pulse-orange {
    0% { box-shadow: 0 0 0 0 rgba(243, 156, 18, 0.4); }
    70% { box-shadow: 0 0 0 8px rgba(243, 156, 18, 0); }
    100% { box-shadow: 0 0 0 0 rgba(243, 156, 18, 0); }
}

.status-aguarde, .status-presencial, .status-esgotadas, .status-aberta, .status-encerrada, .status-fechada, .status-online {
    color: #fff;
    min-width: 180px;
    display: inline-block;
    text-align: center;
    padding: 4px;
    margin: 5px;
    border-radius: 5px;
    border: 1.5px solid;
    background-color: transparent;
}

.status-aguarde {
    border-color: #f39c12;
    color: #f39c12;
}
.status-presencial {
    border-color: #1ec1b8;
    color: #1ec1b8;
}
.status-esgotadas {
    border-color: #dc3545;
    color: #dc3545;
}
.status-aberta {
    border-color: #148e81;
    color: #148e81;
}
.status-encerrada {
    border-color: #e74c3c;
    color: #e74c3c;
}
.status-fechada {
    border-color: #ffc107;
    color: #ffc107;
}
.status-online {
    border-color: #d8334a;
    color: #d8334a;
}

.details i {
    margin-right: 5px;
}


.main-content {
    flex: 1;
}
.navbar-header {
    background-color: #448cf8 !important;
}
.navbar-brand-center {
    margin: 0 auto;
}

/* Estilos personalizados para a navbar */
.navbar-brand-container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 991.98px) {
    .navbar-brand-container {
        position: static;
        transform: none;
        margin-right: auto;
    }

    .navbar-brand img {
        width: 80px !important;
    }
}

.navbar {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.bg-gradient-info {
    background: linear-gradient(135deg, #448cf8 0%, #3a7bd5 100%);
    color: white;
    border: none;
}

.op-topbar {
    position: fixed;
    top: 0;
    width: 100%;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    z-index: 999;
    padding: 0.8rem 0;
}

.op-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.op-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.op-logo img {
    height: 80px;
}

.op-title {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    font-size: 14px;
    color: #222;
}

.op-title strong {
    font-size: 22px;
    color: #000;
}

.op-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.op-btn {
    background-color: #3f8efc;
    color: white;
    padding: 10px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(63, 142, 252, 0.4);
    transition: background 0.3s;
}

.op-btn:hover {
    background-color: #1e73e8;
}

.op-lang {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #555;
}

.op-lang img {
    width: 20px;
    height: auto;
}


.op-footer {
    background: #f7f9fb;
    color: #333;
    font-size: 12px;
    padding: 1.2rem 1rem;
    border-top: 1px solid #e1e6ec;
    margin-top: 2rem;
}

.op-footer-container {
    max-width: 1320px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.op-footer-left p,
.op-footer-right p {
    margin: 0;
}

.op-footer a {
    color: #3f8efc;
    font-weight: 500;
    text-decoration: inherit;
}

.op-footer a:hover {
    text-decoration: inherit;
}

/* Estilos gerais da navbar */
.op-navbar {
    background-color: #fff;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    padding: 0.5rem 0;
    position: sticky;
    top: 0;
    z-index: 1030;
}

/* Container da navbar */
.navbar-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    height: 70px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Logo centralizada */
.navbar-brand-centered {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.navbar-brand img {
    height: auto;
    width: 80px !important;
    transition: all 0.3s ease;
}

/* Botão de acesso */
.login-btn {
    background: linear-gradient(135deg, #448cf8 0%, #3a7bd5 100%);
    color: white !important;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 500;
    border: none;
    box-shadow: 0 2px 8px rgba(68, 140, 248, 0.3);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    text-decoration: none !important;
}

.login-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(68, 140, 248, 0.4);
}

.login-btn i {
    margin-right: 8px;
    font-size: 1rem;
}

/* Responsividade */
@media (max-width: 768px) {
    .navbar-brand-centered img {
        height: 40px;
    }

    .login-btn {
        padding: 6px 12px;
        font-size: 0.8125rem;
    }

    .login-btn i {
        margin-right: 6px;
    }
}


.actions {
    position: relative;
    z-index: 10;
}

.data-evento {
    margin-bottom: 10px;
    font-size: 0.9rem;
    color: #555;
}

.data-evento i {
    margin-right: 5px;
    color: #6c757d;
}

.tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}
.payment-method {
    display: inline-flex;
    align-items: center;
    padding: 0 5px;
    background: white;
    border-radius: 6px;
    font-size: 12px;
    /*box-shadow: 0 2px 5px rgba(0,0,0,0.05);*/
    border: 1px solid #eee;
}

/* Efeitos nos botões */
.btn-hover-scale {
    transition: all 0.3s ease;
}

.btn-hover-scale:hover {
    transform: translateY(-2px) scale(1.02);
}

.rounded-xl {
    border-radius: 12px !important;
}

.rounded-lg {
    border-radius: 10px !important;
}



@media (max-width: 576px) {
    .navbar {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .navbar .btn {
        font-size: 12px;
        padding: 6px 12px;
        white-space: nowrap;
    }

}

.header-login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.5rem;
    padding: 0.375rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 0;
}