:root {
/*** COLORS ***/
--quick-white: white;
--gold-crayola-2: #f0c040;
--black: hsla(0, 0%, 0%, 1);
--white: hsla(0, 0%, 100%, 1);
--gold-crayola: hsl(38, 61%, 73%);
--davys-grey: hsla(30, 3%, 34%, 1);
--quick-silver: hsla(0, 0%, 65%, 1);
--smoky-black-3: hsla(0, 3%, 7%, 1);
--eerie-black-4: hsla(0, 0%, 13%, 1);
--smoky-black-2: hsla(30, 8%, 5%, 1);
--eerie-black-3: hsla(180, 2%, 8%, 1);
--smoky-black-1: hsla(40, 12%, 5%, 1);
--eerie-black-1: hsla(210, 4%, 9%, 1);
--eerie-black-2: hsla(210, 4%, 11%, 1);
--black-alpha-80: hsla(0, 0%, 0%, 0.8);
--black-alpha-15: hsla(0, 0%, 0%, 0.15);
--white-alpha-20: hsla(0, 0%, 100%, 0.2);
--white-alpha-10: hsla(0, 0%, 100%, 0.1);

/*** GRADIENT COLOR ***/
--gradient-1: linear-gradient(to top,hsla(0, 0%, 0%, 0.9),hsla(0, 0%, 0%, 0.7),transparent);
--loading-text-gradient: linear-gradient(90deg, transparent 0% 16.66%, var(--smoky-black-3) 33.33% 50%,  transparent 66.66% 75%);

/*** TYPOGRAPHY ***/
/*** font-family ***/
--fontFamily-forum: 'Forum', cursive;
--fontFamily-dm_sans: 'DM Sans', sans-serif;

/*** font-size ***/
--fontSize-body-1: 2.4rem;
--fontSize-body-2: 1.6rem;
--fontSize-body-3: 1.8rem;
--fontSize-body-4: 1.6rem;
--fontSize-label-1: 1.4rem;
--fontSize-label-2: 1.2rem;
--fontSize-label-3: 2.0rem;
--fontSize-label-4: 1.7rem;
--fontSize-label-5: 1.4rem;
--fontSize-title-2: 2.2rem;
--fontSize-title-3: 2.1rem;
--fontSize-title-1: calc(1.6rem + 1.2vw);
--fontSize-title-4: calc(1.6rem + 1.2vw);
--fontSize-headline-1: calc(2rem + 2.5vw);
--fontSize-display-1: calc(1.3rem + 4.7vw);
--fontSize-display-2: calc(2.3rem + 8.7vw);
--fontSize-headline-2: calc(1.3rem + 2.4vw);

/*** font-weight ***/
--weight-bold: 700;
--weight-regular: 400;

/*** line-height ***/
--lineHeight-1: 1em;
--lineHeight-6: 1.4em;
--lineHeight-2: 1.2em;
--lineHeight-3: 1.5em;
--lineHeight-4: 1.6em;
--lineHeight-5: 1.85em;

/*** letter-spacing ***/
--letterSpacing-5: 3px;
--letterSpacing-2: 0.4em;
--letterSpacing-3: 0.2em;
--letterSpacing-4: 0.3em;
--letterSpacing-1: 0.005em;

/*** SPACING ***/
--section-space: 70px;

/*** SHADOW ***/
--shadow-1: 0px 0px 25px 0px hsla(0, 0%, 0%, 0.25);

/*** BORDER RADIUS ***/
--radius-24: 24px;
--radius-circle: 50%;

/*** TRANSITION ***/
--transition-1: 250ms ease;
--transition-2: 500ms ease;
--transition-3: 1000ms ease;
}

*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
font-size: 10px;
scroll-behavior: smooth;
}

body {
margin: 0;
height: 300vh;
overflow-y: auto;
overflow-x: hidden;
color: var(--white);
line-height: var(--lineHeight-5);
font-size: var(--fontSize-body-4);
font-weight: var(--weight-regular);
background-color: var(--eerie-black-1);
font-family: 'Times New Roman', serif;
}

html {
scroll-behavior: smooth;
}

html, body {
overflow: auto;
scrollbar-width: none;
-ms-overflow-style: none;
}

body::-webkit-scrollbar {
display: none;
}

#mainHeader {
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
transition: all 0.4s ease;

background-color: transparent;
-webkit-box-shadow: 0 2px 10px transparent;
box-shadow: 0 2px 10px transparent;
}

#mainHeader.scrolled {
backdrop-filter: none;
-webkit-backdrop-filter: none;

background-color: rgba(0,0,0,.3);
-webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

#mainHeader .top-container.remove {
opacity: 0;
display: none;
}

/* Estilo ao dar scroll */
#mainHeader.scrolled .top-container {
height: 0;
padding: 0;
opacity: 0;
overflow: hidden;
}

#mainHeader.scrolled .logo-title-small {
opacity: 1;
transform: translateX(0);
}

/* Logo grande inicial (centralizado) */
.top-container {
display: flex;
justify-content: center;
align-items: center;
padding: 25px 0;
transition: all 0.4s ease;
}

.logo-title {
display: flex;
flex-direction: column;
align-items: center;
transition: all 0.4s ease;
}

.logo-img {
height: 80px;
width: 300px; 
height: 300px; 
margin-top: -70px;
transition: all 0.4s ease;
}

.site-title {
font-size: 28px;
margin: 10px 0 0;
text-align: center;
transition: all 0.4s ease;
}

.logo-title-small {
display: flex;
align-items: center;
gap: 10px;
position: absolute;
left: 30px;
opacity: 0;
transform: translateX(-30px);
transition: all 0.4s ease;
}

.logo-img-small {
height: 40px;
}

.site-title-small {
font-size: 16px;
font-weight: bold;
}

/* Navbar com menu centralizado */
.navbar {
height: 90px;
display: flex;
align-items: center;
justify-content: center; /* mantém centralizado */
padding: 10px 30px;
position: relative;
transition: all 0.4s ease;
background-color: rgba(0,0,0,.05);
-webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Menu horizontal centralizado */
.nav-links {
list-style: none;
display: flex;
gap: 30px;
margin: 0 auto;
padding: 0;
}

.nav-links li a {
color: white;
text-decoration: none;
font-size: 16px;
transition: color 0.3s ease;
}

.nav-links li a:hover {
color: var(--gold-crayola-2);
}

.nav-links .nav-item a.active {
color: var(--gold-crayola-2);
}

@media (min-width: 992px) {
.navbar-nav {
align-items: center;
justify-content: center;
}

.separator {
width: 8px;
height: 8px;
transform: rotate(45deg);
border: 1px solid var(--gold-crayola);
}

.nav-link .separator {
left: 0;
top: 50%;
opacity: 0;
position: absolute;
transition: var(--transition-1);
transform: translateY(-50%) rotate(45deg);
}

.nav-link {
margin: 0 15px;
max-width: unset;
position: relative;
padding-block: 10px;
color: var(--white);
text-transform: uppercase;
font-size: var(--fontSize-label-1);
}

.nav-link::after { 
display: none; 
}

.nav-link:is(:hover, :focus-visible, .active) .span {
color: var(--gold-crayola);
}

.nav-link .separator {
left: 0;
top: 50%;
opacity: 0;
position: absolute;
transition: var(--transition-1);
transform: translateY(-50%) rotate(45deg);
}

.nav-link:is(:hover, :focus-visible, .active) .separator { 
opacity: 1; 
}

.nav-link:is(:hover, :focus-visible, .active) .span {
transform: unset;
}

.nav-link {
font-weight: var(--weight-bold);
letter-spacing: var(--letterSpacing-1);
}

.nav-link::after { 
display: block; 
}

.nav-link.active::after {
opacity: 1;
transform: scaleX(1);
}

.hover-underline {
position: relative;
max-width: max-content;
}

.hover-underline::after {
left: 0;
bottom: 0;
opacity: 0;
width: 100%;
height: 5px;
content: "";
position: absolute;
transform: scaleX(0.2);
transition: var(--transition-2);
border-block: 1.5px solid var(--gold-crayola-2);
}

.hover-underline:is(:hover, :focus-visible)::after {
opacity: 1;
transform: scaleX(1);
}

.nav-item .nav-link .separator {
display: none;
}
}

.offcanvas .logo.logo-nav {
margin-top: 120px;
}

.offcanvas .offcanvas-header .btn-close {
top: -10px;
right: 25px;
width: 25px;
height: 25px;
border-radius: 50%;
position: absolute;
z-index: 9999 !important;
background: none !important;
box-shadow: none !important; 
background-color: transparent;
background-color: transparent !important;
}

.offcanvas .offcanvas-header .btn-close img {
width: 25px; 
height: 25px; 
margin-top: -7px;
margin-left: 0px; 
}

.offcanvas .offcanvas-body .support {
margin-top: -50px;
}

.offcanvas .offcanvas-body .support ul li a {
color: var(--white);
position: relative;
max-width: max-content;
}

.offcanvas .offcanvas-body .support ul li a:hover {
color: var(--gold-crayola);
}

.offcanvas .offcanvas-body .support ul li a.::after {
left: 0;
bottom: 0;
opacity: 0;
width: 100%;
height: 5px;
content: "";
position: absolute;
transform: scaleX(0.2);
transition: var(--transition-2);
border-block: 1px solid var(--gold-crayola);
}

.offcanvas .offcanvas-body .support ul li a:is(:hover, :focus-visible)::after {
opacity: 1;
transform: scaleX(1);
}

offcanvas .offcanvas-body .midia {
margin-top: -50px;
}

.offcanvas .offcanvas-body .midia .d-flex a {
width: 40px; 
height: 40px; 
margin-right: 10px;
color: var(--white);
}

.offcanvas .offcanvas-body .midia .d-flex a:hover {
width: 40px; 
height: 40px; 
margin-right: 10px;
color: var(--gold-crayola);
}

.offcanvas .offcanvas-body .midia .d-flex a img {
width: 40px; 
height: 40px;
}

@media (max-width: 991.5px) {
.navbar .container-fluid {
margin-top: -10px;
}

.logo.logo-nav {
display: block;
}

.offcanvas-body {
min-height: 120%;
}

.offcanvas-body .navbar-nav .nav-item a:hover .span {
margin-left: 20px;
}

.offcanvas-body .navbar-nav .nav-item a.active .span {
margin-left: 20px;
}

.separator {
width: 8px;
height: 8px;
transform: rotate(45deg);
border: 1px solid var(--gold-crayola);
}

.sidebar {
top: 0;
bottom: 0;
width: 100%;
left: -360px;
position: fixed;
max-width: 360px;
overflow-y: auto;
visibility: hidden;
padding-inline: 30px;
padding-block-end: 50px;
transition: var(--transition-2);
background-color: var(--smoky-black-1);
}

.sidebar.active {
visibility: visible;
transform: translateX(360px);
}

.sidebar .btn-close {
padding: 4px;
color: var(--white);
margin-block: 30px 20px;
margin-inline-start: auto;
border: 1px solid currentColor;
border-radius: var(--radius-circle);
}

.sidebar .btn-close ion-icon { 
--ionicon-stroke-width: 40px; 
}

.sidebar .btn-close:is(:hover, :focus-visible) { 
color: var(--gold-crayola); 
}

.sidebar .logo {
margin-inline: auto;
margin-block-end: 60px;
max-width: max-content;
}

.nav-list {
margin-block-end: 100px;
border-block-end: 1px solid var(--white-alpha-20);
}

.nav-item { 
border-block-start: 1px solid var(--white-alpha-20); 
}

.nav-link {
color: white;
max-width: unset;
position: relative;
padding-block: 10px;
text-transform: uppercase;
font-size: var(--fontSize-label-2);
}

.nav-link::after { 
display: none; 
}

.nav-link .span { 
transition: var(--transition-1); 
}

.nav-link:is(:hover, :focus-visible, .active) .span {
color: var(--gold-crayola);
transform: translateX(20px);
}

.nav-link .separator {
left: 0;
top: 50%;
opacity: 0;
position: absolute;
transition: var(--transition-1);
transform: translateY(-50%) rotate(45deg);
}

.nav-link:is(:hover, :focus-visible, .active) .separator { 
opacity: 1; 
}

.navbar-title { 
margin-block-end: 15px; 
}

.navbar-text { 
margin-block: 10px; 
}

.navbar .body-4 { 
color: var(--quick-silver); 
}

.nav-link { 
transition: var(--transition-1); 
}

.nav-link:is(:hover, :focus-visible) { 
color: var(--gold-crayola); 
}

.text-center .separator {
margin-block: 30px;
margin-inline: auto;
}

.sidebar::-webkit-scrollbar-thumb { 
background-color: var(--white-alpha-10); 
}

.hover-underline {
position: relative;
max-width: max-content;
}

.hover-underline::after {
left: 0;
bottom: 0;
opacity: 0;
width: 100%;
height: 5px;
content: "";
position: absolute;
transform: scaleX(0.2);
transition: var(--transition-2);
border-block: 1px solid var(--gold-crayola);
}

.hover-underline:is(:hover, :focus-visible)::after {
opacity: 1;
transform: scaleX(1);
}
}

#header-spacer {
transition: height 0.4s ease;
}

@media (min-width: 992px) {
#mainHeader .top-container {
display: none;
}
}

@media (max-width: 991.5px) {
body {
overflow-y: auto;
overflow-x: hidden;
}

#mainHeader .top-container {
display: none;
}

.d-lg-none.p-2.d-flex {
margin-right: 50px;
}

.navbar-toggler {
margin-top: 15px;
padding: 12px;
padding-inline-end: 0;
}

.nav-open-btn .line {
width: 30px;
height: 2px;
margin-block: 4px;
transform-origin: left;
background-color: var(--white);
animation: menuBtn 400ms ease-in-out alternate infinite;
}

@keyframes menuBtn {
0% { 
transform: scaleX(1); 
}

100% { 
transform: scaleX(0.5); 
}
}

.nav-open-btn .line-2 { 
animation-delay: 150ms; 
}

.nav-open-btn .line-3 { 
animation-delay: 300ms; 
}

.line.line-1 {
width: 40px; 
height: 4px;
display: block;
margin-top: -5px;
}

.line.line-2 {
width: 40px; 
height: 4px;
display: block;
}

.line.line-3 {
width: 40px; 
height: 4px;
display: block;
}

.hero-slider {
width: 100vw;
height: 100vh;
position: relative;
overflow: hidden;
}

.hero-slider .hero-img {
object-fit: cover;
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
}

.overlay-content {
z-index: 1;
}
}

.hero-slider .start-0 .logo-title .logo-img {
width: 100px;
}

@media (min-width: 1224px) {
#mainHeader .top-container {
display: block;
}

.nav-links.flex-grow-10 {
margin-left: 360px;
}

.hero-slider .overlay-content .logo-title {
display: none;
}
}

@media (max-width: 1223.5px) {
.hero-slider .overlay-content .logo-title {
display: block;
}
}

@media (min-width: 300px) and (max-width: 1223.5px) {
.navbar .logo-title-small {
display: none;
}
}

.hero-slider .overlay-content .navbar li a {
color: var(--white);
font-weight: var(--weight-bold);
font-size: var(--fontSize-label);
}

.hero-slider .overlay-content .navbar li a:hover {
color: var(--gold-crayola-2);
}

.hero-slider .overlay-content .navbar li a.active {
color: var(--gold-crayola-2);
}

.hero-slider .overlay-content .navbar li a.hover-underline {
position: relative;
max-width: max-content;
}

.hero-slider .overlay-content .navbar li a.hover-underline::after {
left: 0;
bottom: 0;
opacity: 0;
width: 100%;
height: 5px;
content: "";
position: absolute;
transform: scaleX(0.2);
transition: var(--transition-2);
border-block: 1.5px solid var(--gold-crayola-2);
}

.hero-slider .overlay-content .navbar li a.hover-underline:is(:hover, :focus-visible)::after {
opacity: 1;
transform: scaleX(1);
}

#mainHeader {
transition: background-color 0.3s ease, color 0.3s ease;
}

#mainHeader.over-hero {
background-color: var(--eerie-black-1);
}

#mainHeader:not(.over-hero) {
background-color: transparent;
}

#news {
margin-top: -30px;
}

#news .col-12 {
margin-top: 40px;
}

#news .top-container {
backdrop-filter: none;
-webkit-backdrop-filter: none;
background-color: rgba(0,0,0,.4);
-webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

#news .col-12 .top-container {
margin-top: -40px;
}

#news .main-container .row .mb-4 {
margin-top: 30px;
}

.server {
color: #0C0;
}

.main-container {
padding: 20px;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}

.left-container {
background: url('../img/img_noticias.jpg') no-repeat center center;
background-size: cover;
height: 550px;
max-height: 550px;
border-radius: 8px;
position: relative;
color: white;
overflow: hidden;
object-fit: cover;
}

.left-container::before {
content: "";
position: absolute;
inset: 0;
border-radius: 8px;
}

@media (max-width: 991.98px) {
.overflow-md-down-auto {
overflow-y: auto !important;
}

#news .left-container .left-container-content {
margin-top: 460px;
}

#news .left-container {
overflow: auto;
scrollbar-width: none;
-ms-overflow-style: none;
}

#news .left-container::-webkit-scrollbar {
display: none;
}
}

.left-container-content {
position: relative;
padding: 20px;
z-index: 1;
}

.right-container,
.new-container {
border: 1px solid #dee2e6;
border-radius: 8px;
padding: 20px;
}

.right-container {
height: 550px;
position: relative;
border-radius: 8px;
color: white;
overflow: hidden;
}

.right-container::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;

background: url('../img/ranking-2.png') no-repeat center center;
background-size: cover;
opacity: 0.5;
z-index: 0;
}

.right-container > * {
position: relative;
z-index: 1;
}

.right-container .d-flex.justify-content-center {
	height: 50vh;
}

.new-container {
min-height: 150px;
}
@media (max-width: 576px) {
.left-container,
.right-container,
.new-container {
min-height: 200px;
}
}

.my-ranking .list-group-item {
border: none;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
padding-top: 0.75rem;
padding-bottom: 0.75rem;
transition: border-color 0.3s;
}

.my-ranking .list-group-item:last-child {
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.my-ranking .list-group-item:hover {
border-bottom-color: rgba(255, 255, 255, 0.5);
}

.class-box {
width: 50px;
height: 50px;
border: 1px solid #ced4da;
border-radius: 4px;
transition: transform 0.2s, background-color 0.2s;
cursor: pointer;
}

.class-box:hover {
color: var(--gold-crayola-2);			
transform: scale(1.1);
}

@media (max-width: 768px) {
.mobile-item span {
flex: 1;
}

.mobile-item {
display: flex;
align-items: center;
gap: 1rem;
}

.mobile-item span:first-child {
text-align: left;
}

.mobile-item span:last-child {
text-align: right;
}
}

.popover {
max-width: 320px;
width: 100%;
font-size: 0.95rem;
padding: 0.5rem 0.75rem;
}

.popover {
max-width: 260px;
background-color: #222;
border: 1px solid #555;
color: #fff;
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
font-size: 14px;
}

.popover-header {
background-color: #111;
color: #ffcc00;
font-weight: bold;
border-bottom: 1px solid #444;
}

.popover-body {
padding: 12px;
}

.popover-body img {
display: block;
margin: 0 auto 8px auto;
border: 2px solid #fff;
}

.popover-body span {
display: block;
margin-top: 4px;
color: var(--white);
}

span.popover-title {
margin-top: 20px;
margin-bottom: 10px;
}

.class-box.selected span {
font-weight: bold;
color: var(--gold-crayola-2);
}

.class-box.selected img {
transform: scale(1.2);
}

.my-ranking li.list-group-item img,
.my-ranking li.list-group-item .fw-bold,
.my-ranking li.list-group-item .text-white {
transition: all 0.3s ease;
}

.my-ranking li.list-group-item:hover .fw-bold,
.my-ranking li.list-group-item:hover .text-white {
color: var(--gold-crayola-2) !important;
}

.my-ranking li.list-group-item:hover img {
transform: scale(1.2);
}

.modal-custom {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1055;
background: #1a1a1a;
border: 1px solid #333;
border-radius: 12px;
padding: 20px;
width: 95%;
max-width: 920px;
box-shadow: 0 0 25px rgba(255, 255, 255, 0.05);
}

.modal-header-custom {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #333;
padding-bottom: 10px;
margin-bottom: 15px;
}

.modal-header-custom h5 {
color: #f0c040;
font-weight: bold;
font-size: 2.2rem;
}

.modal-header-custom button {
width: 34px; 
height: 34px; 
border-radius: 50%; 
background-color: transparent !important; 
border: 1px solid white;
}

.modal-header-custom button img {
width: 25px; 
border-radius: 50%; 
margin-left: -8px; 
margin-top: -10px;
}

.btn-close-custom {
background-color: #ff4d4d;
border: none;
padding: 6px 12px;
border-radius: 6px;
color: white;
font-weight: bold;
}

.calendar-container {
overflow-y: unset;
}

.calendar-table {
table-layout: fixed;
width: 100%;
border-collapse: collapse;
}

.calendar-table th, .calendar-table td {
text-align: center;
vertical-align: top;
height: 70px;
width: 14.28%;
border: 1px solid #444;
background-color: #111;
font-weight: bold;
font-size: 18px;
padding: 4px;
color: #f0c040;
position: relative;
border-radius: 10px;
}

.calendar-table td .day-number {
font-size: 1.8rem;
display: block;
}

.today {
border: 2px solid #f0c040 !important;
box-shadow: 0 0 8px #f0c04055;
background-color: #1a1a1a !important;
}

.event-tag {
display: block;
background-color: #f0c040;
color: #fff;
font-size: 0.65rem;
margin: 4px auto 0 auto;
padding: 2px 6px;
border-radius: 6px;
font-weight: 500;
text-align: center;
max-width: 90%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.tooltip-calendar + .tooltip .tooltip-inner {
background-color: #000 !important;
color: #fff !important;
font-size: 1.5rem;
font-weight: normal;
padding: 8px 12px;
max-width: 220px;
text-align: left;
white-space: pre-wrap;
border-radius: 6px;
box-shadow: 0 0 8px #00000088;
}

.tooltip-calendar + .tooltip[data-popper-placement^="top"] .tooltip-arrow::before {
border-top-color: #000 !important;
}
.tooltip-calendar + .tooltip[data-popper-placement^="bottom"] .tooltip-arrow::before {
border-bottom-color: #000 !important;
}
.tooltip-calendar + .tooltip[data-popper-placement^="left"] .tooltip-arrow::before {
border-left-color: #000 !important;
}
.tooltip-calendar + .tooltip[data-popper-placement^="right"] .tooltip-arrow::before {
border-right-color: #000 !important;
}

.tooltip-calendar {
font-size: 1.5rem;
}

.modal-backdrop.show {
opacity: 0 !important;
}

.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-login .modal-body .body {
width: 100vw;
}

.modal.modal-login .modal-body .body .needs-validation .container {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-login .modal-body .body .needs-validation .container .row .col-md-12 {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-login .modal-body .body .needs-validation .container .row .col-md-12 .btn {
height: 35px;
margin: 0 auto; 
width: 100% !important; 
}

.modal.modal-login .modal-body .body .needs-validation .container .form-input {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-login .modal-body .body .needs-validation .container .form-input .form-label {
margin-top: 10px;
}

.modal.modal-login .modal-body .body .needs-validation .container .form-input .invalid-feedback {
color: var(--gold-crayola);
}

.modal.modal-login .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-login .modal-body .body .needs-validation .container .form-input .form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.modal.modal-login .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-register .modal-body .body {
width: 100vw;
}

.modal.modal-register .modal-body .body .needs-validation .container {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-register .modal-body .body .needs-validation .container .row .col-md-12 {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-register .modal-body .body .needs-validation .container .row .col-md-12 .btn {
height: 35px;
margin: 0 auto; 
width: 100% !important; 
}

.modal.modal-register .modal-body .body .needs-validation .container .form-input {
margin: 0 auto;
width: 100% !important;
}

.modal.modal-register .modal-body .body .needs-validation .container .form-input .form-label {
margin-top: 10px;
}

.modal.modal-register .modal-body .body .needs-validation .container .form-input .invalid-feedback {
color: var(--gold-crayola);
}

.modal.modal-register .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-register .modal-body .body .needs-validation .container .form-input .form-control::placeholder {
font-size: 1.5rem;
color: #bbb;
opacity: 1;
}

.modal.modal-register .modal-body .body .needs-validation .container .form-input .form-control:focus {
outline: none;
box-shadow: none;
border-bottom-color: var(--gold-crayola);
}

.was-validated .form-group .form-control:invalid {
background-image: none !important;
}

.was-validated .form-group:has(.form-control:invalid)::after {
margin-left: 15px;
}

a.position-absolute.top-0 {
width: 30px; 
height: 30px;
margin-top: 12px;   
border-radius: 50%; 
margin-right: -14px;
border: 2px solid var(--white);
}

a.position-absolute.top-0 img {
width: 20px; 
height: 20px; 
margin-left: 3.5px; 
margin-top: -5.5px;
}

.btn,
.btn * {
overflow: hidden !important;
white-space: nowrap;
overflow: hidden !important;
}

.btn {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--gold-crayola);
font-size: var(--fontSize-label-2);
font-weight: var(--weight-bold);
text-transform: uppercase;
letter-spacing: var(--letterSpacing-5);
max-width: max-content;
border: 2px solid var(--gold-crayola);
padding: 12px 45px;
z-index: 1;

touch-action: none;
overscroll-behavior: contain;
overflow: hidden !important;
}

.btn::before {
content: "";
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
width: 200%;
height: 200%;
border-radius: var(--radius-circle);
background-color: var(--gold-crayola);
transition: var(--transition-2);
z-index: -1;
overflow: hidden !important;
}

.btn .text {
display: inline-block;
position: relative;
transition: var(--transition-1);
overflow: hidden !important;
}

.btn .text::after {
content: attr(data-text);
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
min-width: max-content;
color: var(--smoky-black-1);
transition: var(--transition-1);
overflow: hidden !important;
}

.btn:is(:hover, :focus-visible)::before {
bottom: -50%;
overflow: hidden !important;
}

.btn:is(:hover, :focus-visible) .text::after {
top: 50%;
transform: translate(-50%, -50%);
overflow: hidden !important;
}

.btn-secondary {
min-width: 100%;
background-color: var(--gold-crayola);
color: var(--black);
overflow: hidden !important;
}

.btn-secondary::before {
background-color: var(--smoky-black-1);
overflow: hidden !important;
}

.btn-secondary .text::after {
color: var(--white);
overflow: hidden !important;
}

/* Anti-scroll definitivo para botões */
.btn {
overflow: clip !important;          /* mais forte que hidden para não criar área rolável */
overflow-clip-margin: 0;
-ms-overflow-style: none;           /* IE/Edge legado */
scrollbar-width: none;              /* Firefox */
touch-action: none;                 /* bloqueia rolagem por gesto */
overscroll-behavior: none;          /* sem bounce/propagação */
appearance: none;                   /* remove aparências nativas que podem gerar “ruelas” */
overflow: hidden !important;
}

/* WebKit/Blink (Chrome/Edge/Safari): esconde qualquer barra residual */
.btn::-webkit-scrollbar {
display: none;
width: 0;
height: 0;
overflow: hidden !important;
}

/* Garante que nenhum filho force scroll */
.btn * {
overflow: hidden !important;
overflow: clip !important;
white-space: nowrap;
}

/* Pequeno ajuste: evita que a tradução vertical crie área rolável em alguns engines */
.btn .text,
.btn .text::after {
overflow: hidden !important;	
will-change: transform;
backface-visibility: hidden;
}

/* Força cor branca no texto do hover */
.btn-secondary:is(:hover, :focus-visible) .text::after {
overflow: hidden !important;
color: var(--white) !important;
}

#mainHeader .navbar,
#mainHeader.scrolled .navbar {
transition: none !important;
animation: none !important;
}

#mainHeader .navbar {
margin-top: -100px !important;
}

#mainHeader.scrolled .navbar {
margin-top: 0px !important;
}

#modal-events {
margin-top: 40px;
}

#home .logo-title img {
width: 300px;
}

.pricing-section {
color: #fff;
padding: 80px 0;
}

.pricing-section .col-lg-12 {
margin-top: -30px;
}

.pricing-section .col-lg-12 h1 {
font-size: 28px;
}

.pricing-section .col-lg-12 h3 {
font-size: 20px;
}

.pricing-section .col-lg-12 h3.pt-0 {
margin-top: 25px; 
font-size: 20px;
}

.pricing-section .spacer {
	width: 100vw; 
	height: 40px;
}

.pricing-card {
padding: 30px;
text-align: center;
border-radius: 10px;
background-color: #fff;
transition: transform 0.3s;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}


.pricing-card h3 {
color: #333;
}

.pricing-card .price {
color: #333;
font-size: 2rem;
margin-bottom: 20px;
}

.pricing-card ul {
padding: 0;
margin-bottom: 20px;
list-style-type: none;
}

.pricing-card ul li {
color: #666;
margin-bottom: 15px;
}

.pricing-card .btn {
margin-top: 20px;
}

.pricing-card {
flex: 1;
padding: 30px;
text-align: center;
border-radius: 16px;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
border: 1px solid rgba(255, 255, 255, 0.05);
background: linear-gradient(145deg, #1f1f1f, #232323);
}

.pricing-card:hover {
transform: translateY(-8px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6), 0 0 15px rgba(212, 175, 55, 0.3);
}

.pricing-card h3 {
color: #f5d78b;
font-size: 3rem;
margin-bottom: 10px;
}

.pricing-card .price {
color: #ffffff;
font-size: 2rem;
margin-bottom: 20px;
}

.pricing-card ul {
padding: 0;
list-style: none;
margin-bottom: 25px;
}

.pricing-card ul li {
color: #fff;
padding: 8px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

footer p {
font-size: 18px;
}

.fade-delay {
opacity: 0;
animation: fadeIn 1s ease-in-out forwards;
animation-delay: 1s; /* tempo para começar a aparecer */
}

@keyframes fadeIn {
to {
opacity: 1;
}
}