:root {
    --military-gold: #FFCC00;
    --military-dark: #000000;
    --military-zinc: #18181b;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #f9fafb;
    color: #111827;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    transition: background-color 0.5s ease, color 0.5s ease;
}

html.dark body {
    background-color: #000000;
    color: #f8fafc;
}

html.dark .card {
    background-color: #000000 !important;
    border: 1px solid rgba(255, 204, 0, 0.1) !important;
    color: #fff !important;
}

html.dark h1, html.dark h2, html.dark h3, html.dark h4 {
    color: #fff;
}

html.dark h1 span,
html.dark h2 span,
html.dark h3 span,
html.dark h4 span {
    color: inherit;
}

html.dark h1 span.text-\[\#FFCC00\] {
    color: #FFCC00 !important;
}

html.dark .logo-text span.text-\[\#FFCC00\],
html.dark nav span.text-\[\#FFCC00\],
html.dark footer span.text-\[\#FFCC00\] {
    color: #FFCC00 !important;
}

nav .logo-text > span:first-of-type {
    color: #ffffff !important;
}

nav .logo-text > span:first-of-type .text-\[\#FFCC00\] {
    color: #FFCC00 !important;
}

nav .logo-text > span:last-of-type {
    color: #71717a !important;
}

footer .logo-footer-box {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
footer .logo-footer:hover .logo-footer-box {
    transform: scale(1.1);
    box-shadow: 0 0 30px rgba(255, 204, 0, 0.5);
}

html.dark #main-content h1,
html.dark #main-content h2,
html.dark #main-content h3,
html.dark #main-content h4 {
    color: #ffffff !important;
}

html.dark #main-content p,
html.dark #main-content span,
html.dark #main-content li,
html.dark #main-content td,
html.dark #main-content th,
html.dark #main-content div:not(.bg-):not(.border-),
html.dark #main-content label {
    color: #e5e5e5 !important;
}

html.dark #main-content .text-gray-600,
html.dark #main-content .text-gray-500 {
    color: #e5e5e5 !important;
}

html.dark #main-content .text-gray-900,
html.dark #main-content .text-gray-800 {
    color: #ffffff !important;
}

html.dark #main-content .bg-black,
html.dark #main-content .dark\:bg-black {
    background-color: #000000 !important;
}

html.dark #main-content .bg-white,
html.dark #main-content .dark\:bg-black {
    background-color: #000000 !important;
    border-color: #27272a !important;
}

html.dark #main-content .bg-gray-50,
html.dark #main-content .dark\:bg-black {
    background-color: #000000 !important;
}

html.dark #main-content .bg-yellow-500\/20,
html.dark #main-content .bg-orange-500\/20 {
    background-color: rgba(255, 204, 0, 0.1) !important;
}

html.dark #main-content table th {
    color: #a1a1aa !important;
}

html.dark #main-content table td {
    color: #e4e4e7 !important;
}

html.dark #main-content .border-gray-200 {
    border-color: #27272a !important;
}

html.dark #main-content .text-\[\#FFCC00\] {
    color: #FFCC00 !important;
}

html.dark #main-content .text-blue-500 {
    color: #3b82f6 !important;
}

html.dark #main-content .text-green-400,
html.dark #main-content .text-green-500 {
    color: #22c55e !important;
}

html.dark .text-gray-700 { color: #d4d4d8 !important; }
html.dark .text-gray-600 { color: #a1a1aa !important; }
html.dark .text-gray-500 { color: #71717a !important; }
html.dark .text-gray-400 { color: #52525b !important; }

html.dark .dark\:text-gray-300 { color: #d4d4d8 !important; }

html.dark h1 span.text-\[\#FFCC00\] {
    color: #FFCC00 !important;
}

html.dark footer .text-zinc-600 {
    color: #71717a !important;
}
html.dark footer .text-zinc-500 {
    color: #a1a1aa !important;
}

#avisos-dropdown button {
    background: transparent !important;
    border-color: transparent !important;
}
#avisos-menu, #avisos-menu * {
    background: #18181b !important;
    border-color: #3f3f46 !important;
}
#avisos-dropdown .text-zinc-400, #avisos-menu .text-white, #avisos-menu span {
    color: #e4e4e7 !important;
}
#avisos-menu .border-b {
    border-color: #3f3f46 !important;
}

html.dark a:not(.btn):not(.bg-):not(.text-zinc-400):not(.text-[#FFCC00]):not(.text-gray-):not(.text-white) {
    color: #60a5fa !important;
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f3f4f6; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--military-gold); }

html.dark ::-webkit-scrollbar-track { background: #000; }
html.dark ::-webkit-scrollbar-thumb { background: #27272a; }

.card {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    color: #111827 !important;
}

a { text-decoration: none !important; }

.main-content-wrapper {
    flex: 1;
    padding-top: 7rem;
    padding-bottom: 3rem;
    background-color: #ffffff;
}

html.dark .main-content-wrapper {
    background-color: var(--military-dark) !important;
}

.action-button {
    padding: 1rem 2.5rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.action-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: radial-gradient(circle, rgba(255,204,0,0.6) 0%, rgba(255,204,0,0) 70%);
    transition: all 0.5s ease;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    z-index: -1;
}

.action-button:hover::before {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.primary-button {
    background-color: var(--military-gold);
    color: var(--military-dark);
    border: 2px solid var(--military-gold);
    box-shadow: 0 0 15px rgba(255,204,0,0.3);
}

.primary-button:hover {
    color: white;
    box-shadow: 0 0 25px rgba(255,204,0,0.6);
}

.secondary-button {
    background-color: rgba(24, 24, 27, 0.8);
    color: var(--military-gold);
    border: 2px solid rgba(255,204,0,0.4);
    box-shadow: 0 0 10px rgba(255,204,0,0.1);
}

.secondary-button:hover {
    border-color: var(--military-gold);
    color: white;
    box-shadow: 0 0 20px rgba(255,204,0,0.4);
}

.tertiary-button {
    background-color: transparent;
    color: white;
    border: 2px solid rgba(255,255,255,0.3);
    box-shadow: none;
}

.tertiary-button:hover {
    border-color: white;
    color: var(--military-gold);
    box-shadow: 0 0 15px rgba(255,255,255,0.2);
}

@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.animate-fade-in-up {
    animation: fade-in-up 0.8s ease-out forwards;
}

.animate-fade-in {
    animation: fade-in 0.6s ease-out forwards;
}

.delay-200 { animation-delay: 0.2s; }
.delay-400 { animation-delay: 0.4s; }

.btn-shine { position: relative; overflow: hidden; }
.btn-shine::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%);
    transform: rotate(45deg) translate(-100%, 100%);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-shine:hover::after {
    transform: rotate(45deg) translate(100%, -100%);
}

@keyframes pulse-gold {
    0% { box-shadow: 0 0 0 0 rgba(255, 204, 0, 0.4); }
    70% { box-shadow: 0 0 0 15px rgba(255, 204, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 204, 0, 0); }
}
.pulse-gold-active { animation: pulse-gold 2s infinite; }

.logo-container:hover .logo-box {
    transform: translateX(8px) rotate(6deg) scale(1.1);
    box-shadow: 0 0 25px rgba(255, 204, 0, 0.5);
}
.logo-container:hover .logo-icon {
    transform: rotate(0deg);
}

.logo-footer:hover .logo-footer-box {
    transform: scale(1.15) rotate(6deg);
    box-shadow: 0 0 35px rgba(255, 204, 0, 0.6);
}
.logo-container:hover .logo-box {
    transform: translateX(8px) rotate(6deg) scale(1.1);
    box-shadow: 0 0 25px rgba(255, 204, 0, 0.5);
}
.logo-container:hover .logo-icon {
    transform: rotate(0deg);
}

.anim-trigger { opacity: 0; }

@keyframes soft-blur-in {
    0% { opacity: 0; transform: translateY(16px); filter: blur(12px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
.anim-soft-blur-in {
    animation: soft-blur-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-play-state: paused;
}
.anim-soft-blur-in.anim-running { animation-play-state: running; }

@keyframes per-character-rise {
    0% { opacity: 0; transform: translateY(32px); }
    100% { opacity: 1; transform: translateY(0); }
}
.anim-per-char-rise {
    animation: per-character-rise 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    animation-play-state: paused;
}
.anim-per-char-rise.anim-running { animation-play-state: running; }

@keyframes fade-through {
    0% { opacity: 0; transform: translateY(30px); filter: blur(6px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
.anim-fade-through {
    animation: fade-through 1s cubic-bezier(0.2, 0, 0, 1) forwards;
    animation-play-state: paused;
}
.anim-fade-through.anim-running { animation-play-state: running; }

@keyframes stagger-center {
    0% { opacity: 0; transform: translateY(40px) scale(0.95); filter: blur(8px); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
.anim-stagger-center {
    animation: stagger-center 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-play-state: paused;
}
.anim-stagger-center.anim-running { animation-play-state: running; }

@keyframes shimmer-sweep {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}
.anim-shimmer {
    background: linear-gradient(90deg, #fff 0%, #FFCC00 50%, #fff 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer-sweep 3s ease-in-out infinite;
}

.anim-delay-1 { animation-delay: 0.1s; }
.anim-delay-2 { animation-delay: 0.2s; }
.anim-delay-3 { animation-delay: 0.3s; }
.anim-delay-4 { animation-delay: 0.4s; }
.anim-delay-5 { animation-delay: 0.5s; }

@media (prefers-reduced-motion: reduce) {
    .anim-trigger { opacity: 1; }
    [class*="anim-"] { animation: none !important; opacity: 1 !important; }
}

html.dark .bg-white { background-color: #000000 !important; }

html.dark .text-zinc-500 { color: #a1a1aa !important; }
html.dark .text-zinc-400 { color: #c4c4c8 !important; }

.nav-link-item {
    position: relative;
}
.nav-link-item::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 12px;
    width: 0;
    height: 2px;
    background: #FFCC00;
    border-radius: 1px;
    transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link-item:hover::after {
    width: calc(100% - 24px);
}
