#close-modal-button {
display: flex;
align-items: center;
justify-content: center;
overflow: hidden !important;
padding: 0;
margin: 0;
border: 2px solid white;
border-radius: 50%;
background: transparent;
box-sizing: border-box;
cursor: pointer;
width: 30px;
height: 30px;
margin-top: -10px;
}

#close-modal-button img {
display: block;
margin: 0;
padding: 0;
max-width: 65%;
max-height: 65%;
object-fit: contain;
}

html:has(#modal-events) {
overflow: hidden;
}

html.modal-open-events {
overflow: hidden;
}

#modal-events .calendar-container {
overflow: auto;
}

.btn-close.btn-close-custom {
all: unset;
cursor: pointer;
border: 2px solid white;
border-radius: 50%;
padding: 0.5rem;
display: inline-flex;
align-items: center;
justify-content: center;
background: transparent;
}

#loginForm #status, #loginForm #result { display: none !important; }

.zb-toast.toast {
border: 1px solid rgba(255,255,255,0.1);
background: #111; color: #eee;
backdrop-filter: blur(6px);
}

.zb-toast .toast-header {
background: rgba(255,255,255,0.06);
color: #ddd; border-bottom: 1px solid rgba(255,255,255,0.08);
}

.zb-toast .toast-body { color: #eee; }

.zb-toast .status-bar {
width: 4px; height: 100%;
position: absolute; left: 0; top: 0; border-radius: .5rem 0 0 .5rem;
}

.zb-toast[data-kind="success"] .status-bar { background: #1bbb70; }
.zb-toast[data-kind="error"]   .status-bar { background: #e55656; }
.zb-toast[data-kind="info"]    .status-bar { background: #5aa8ff; }
.zb-toast[data-kind="warn"]    .status-bar { background: #ffca55; }

.zb-toast .toast-icon {
display:inline-flex; width: 1.15rem; height: 1.15rem;
align-items:center; justify-content:center; margin-right:.5rem;
opacity:.9;
}

.zb-toast .btn-close { filter: invert(1) grayscale(1); opacity:.7; }

.zb-toast.showing, .zb-toast.fade.show { transform: translateY(0); opacity: 1; }
.zb-toast.fade { transition: all .2s ease; transform: translateY(-6px); opacity: 0; }

.modal.modal-forgot .modal-body .body .needs-validation .container .form-input {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-forgot .modal-body .body .needs-validation .container .form-input .form-label {
margin-top: 10px;
}

.modal.modal-forgot .modal-body .body .needs-validation .container .form-input .invalid-feedback {
color: var(--gold-crayola);
}

.modal.modal-forgot .modal-body .body .needs-validation .container .form-input .form-control {
height: 55px;
border: none; 
color: #fff;
border-radius: 0;
font-size: 1.5rem;
margin-top: -15px;
background-color: transparent;
border-bottom: 2px solid var(--white);
}

.modal.modal-forgot .modal-body .body .needs-validation .container .form-input .form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.modal.modal-forgot .modal-body .body .needs-validation .container .form-input .form-control:focus {
outline: none;
box-shadow: none;
border-bottom-color: var(--gold-crayola);
}

.modal-content.bg-dark-custom {
height: auto;
background-color: var(--eerie-black-1);
}

.modal-content .btn-close {
filter: invert(1);
}

.modal-content input.form-control:focus {
border-color: #0d6efd;
background-color: #111;
color: #fff;
}

.modal.modal-forgot .modal-body .body .needs-validation .container .row .col-md-12 .btn {
height: 35px;
margin: 0 auto; 
width: 100% !important; 
}

.modal.modal-forgot .modal-body .body .needs-validation .container .row .col-md-12 .btn {
height: 35px;
margin: 0 auto; 
width: 100% !important; 
}

.tooltip-password .tooltip-inner {
max-width: 250px;
text-align: left;
font-size: 0.85rem;
background-color: #222;
color: #fff;
border: 1px solid #555;
}

.tooltip-password .tooltip-inner {
max-width: 280px;
text-align: left;
font-size: 1.3rem;
line-height: 1.4;
background-color: #222;
color: #fff;
border: 1px solid #555;
padding: 10px 12px;
}

.text-accepted {
color: var(--gold-crayola) !important;
}

input[type="checkbox"] {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;

width: 20px;
height: 20px;
border: 2px solid #f8f9fa;
border-radius: 4px;
background-color: #f8f9fa;
cursor: pointer;
position: relative;
outline: none;
}

input[type="checkbox"]:checked {
background-color: var(--gold-crayola);
border-color:  var(--gold-crayola);
}

input[type="checkbox"]:checked::after {
color: #fff;
position: absolute;
top: -2px;
left: 3px;
font-size: 16px;
font-weight: bold;
}

.was-validated input[type="checkbox"]:valid,
.was-validated input[type="checkbox"]:invalid {
background-color: transparent !important;
border-color: white !important;
box-shadow: none !important;
}

.was-validated input[type="checkbox"]:valid:checked,
.was-validated input[type="checkbox"]:invalid:checked {
background-color: var(--gold-crayola) !important;
border-color: var(--gold-crayola) !important;
}

.form-label {
margin-top: 10px;
}

.invalid-feedback {
color: var(--gold-crayola);
}

.form-control {
height: 55px;
border: none; 
color: #fff;
border-radius: 0;
font-size: 1.5rem;
margin-top: -15px;
background-color: transparent;
border-bottom: 2px solid var(--white);
}

.form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.form-control:invalid {
background-image: none !important;
}

.form-group:has(.form-control:invalid)::after {
margin-left: 15px;
}

.form-control {
background: transparent !important;
background-color: transparent !important;
border-bottom: 2px solid var(--white) !important;
}

.form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.form-control:focus {
outline: none;
box-shadow: none;
background: transparent !important;
border-bottom: 2px solid var(--gold-crayola) !important;
}

.form-control:invalid {
outline: none !important;
box-shadow: none !important;
background: transparent !important;
background-image: none !important;
border-bottom: 2px solid var(--white);
}

.form-control:valid {
outline: none !important;
box-shadow: none !important;
background: transparent !important;
}

input.form-control:-webkit-autofill, input.form-control:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0px 1000px transparent inset !important; box-shadow: 0 0 0px 1000px transparent inset !important; -webkit-text-fill-color: #fff !important; }

.class-slider {
position: relative;
width: 100%;
height: 300px;          /* altura fixa do slider */
border-radius: 10px;
overflow: hidden;
}

.slider-item {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
display: none;
opacity: 0;
transition: opacity 0.6s ease;
background-size: cover;       /* cobre o pai */
background-position: center;  /* centraliza */
background-repeat: no-repeat;
}

.slider-item.active {
display: block;
opacity: 1;
}

.slider-content {
position: relative;
z-index: 2;
background: rgba(0, 0, 0, 0.6);
padding: 20px;
border-radius: 12px;
max-width: 800px;
margin: auto;
text-align: center;
}

.d-block.mx-auto.mb-3 {
opacity: 0.8;
}

.class-slider.mb-4.no-scroll-force {
height: 650px;
}

.class-slider.mb-4.no-scroll-force img {
opacity: 0.6;
}

.class-slider.mb-4.no-scroll-force::-webkit-scrollbar {
display: none;
}

.class-slider {
position: relative;
height: 700px;
max-height: 750px;
overflow: hidden;
}

.slider-item {
position: absolute;
inset: 0;
opacity: 0;
background-size: cover;
background-position: center;
transition: transform .65s cubic-bezier(.22,.61,.36,1), opacity .4s ease;
transform: translateX(100%);
z-index: 1;
}

.slider-item.active {
transform: translateX(0);
opacity: 1;
z-index: 2;
}

.slider-item.exiting-forward { transform: translateX(-100%); opacity: 0; }
.slider-item.exiting-backward { transform: translateX(100%);  opacity: 0; }
.slider-item.enter-forward    { transform: translateX(100%); }
.slider-item.enter-backward   { transform: translateX(-100%); }

.slide-overlay {
position: relative;
padding: 3rem 4rem;
border-radius: 20px;
text-align: center;
max-width: 900px;
max-height: 100%;
overflow: hidden;
margin: auto;
}

.slide-overlay h5 {
font-size: 2rem;
font-weight: bold;
margin-bottom: 1.2rem;
text-transform: uppercase;
color: #ffd700;
}

.slide-overlay img {
display: block;
margin: 0 auto;
max-height: 600px;
width: auto;
opacity: 0.8;
}

.slide-overlay p {
font-size: 2rem;
line-height: 1.6;
color: #e6e6e6;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
margin: 0;
padding: .75rem 1rem;
border-radius: 12px;
}

.thumbs .class-thumb {
text-align: center;
cursor: pointer;
transition: transform 0.3s;
}

.thumbs .class-thumb img {
width: 60px;
height: 60px;
object-fit: contain;
border: none;
box-shadow: none;
}

.thumbs .class-thumb span {
display: block;
margin-top: 5px;
color: var(--white);
}

.thumbs .class-thumb:hover {
transform: scale(1.1);
}

.thumbs .class-thumb.active {
transform: scale(1.25);
}

.thumbs .class-thumb.active img {
border: none;
border-radius: 10px;
}

@media (max-width: 768px) {
.class-slider {
height: 400px;
max-height: 400px;
}

.slide-overlay {
padding: 2rem;
}

.slide-overlay img {
max-height: 220px;
}

.slide-overlay p {
font-size: 1.3rem;
}
}

.thumbs .class-thumb span {
display: block;
margin-top: 5px;
color: #fff;
transition: color 0.3s;
}

.thumbs .class-thumb.active span {
color: #ffd700;
}

.form-label {
margin-top: 10px;
}

.invalid-feedback {
color: var(--gold-crayola);
}

.form-control {
height: 55px;
border: none; 
color: #fff;
border-radius: 0;
font-size: 1.5rem;
margin-top: -15px;
background-color: transparent;
border-bottom: 2px solid var(--white);
}

.form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.form-control:invalid {
background-image: none !important;
}

.form-group:has(.form-control:invalid)::after {
margin-left: 15px;
}

.form-control {
background: transparent !important;
background-color: transparent !important;
border-bottom: 2px solid var(--white) !important;
}

.form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.form-control:focus {
outline: none;
box-shadow: none;
background: transparent !important;
border-bottom: 2px solid var(--gold-crayola) !important;
}

.form-control:invalid {
outline: none !important;
box-shadow: none !important;
background: transparent !important;
background-image: none !important;
border-bottom: 2px solid var(--white);
}

.form-control:valid {
outline: none !important;
box-shadow: none !important;
background: transparent !important;
}

input.form-control:-webkit-autofill, input.form-control:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0px 1000px transparent inset !important; box-shadow: 0 0 0px 1000px transparent inset !important; -webkit-text-fill-color: #fff !important; }

.custom-dropdown {
background: #000 !important;
border: none !important;
box-shadow: none !important;
min-width: 90% !important;
width: 90% !important;
}

.custom-dropdown .dropdown-item {
color: white;
text-transform: uppercase;
}

.dropdown-item:hover {
color: var(--gold-crayola-2) !important;
background-color: transparent !important;
}

.pricing-card {
display: flex;
flex-direction: column;
}

.pricing-card ul {
flex-grow: 1;
}

.pricing-card .btn {
margin-top: auto;
align-self: stretch;
}

.pricing-card .price-box {
margin-bottom: 1rem;
}

/* preço antigo riscado */
.pricing-card .old-price {
font-size: 1rem;
color: #888;
text-decoration: line-through;
}

/* preço final */
.pricing-card .final-price {
font-size: 1.8rem;
font-weight: bold;
color: #000;
}

/* desconto destacado em verde */
.pricing-card .final-price .discount {
font-size: 1rem;
font-weight: 600;
color: #28a745;
margin-left: 5px;
}

.pricing-card .old-price {
font-size: 1.8rem;
color: var(--white);
text-decoration: line-through;
}

.pricing-card .final-price {
font-size: 2rem;
font-weight: 800;
color: var(--gold-crayola);
}

.pricing-card .final-price .discount {
font-size: 1.4rem;
font-weight: 600;
color: #28a745;
margin-left: 6px;
}

.pricing-card ul li {
font-size: 1.7rem;
margin-bottom: 0.5rem;
}

.pricing-card .btn {
font-size: 1.1rem;
font-weight: 600;
padding: 12px;
}