.fixed-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: transparent;
    z-index: 1000;
    transition: background-color 0.3s ease;
}

body.scroll-section-two .fixed-nav {
    background-color: transparent;
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 53px;
}

/* Desktop Menu - visible by default */
.nav-desktop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Mobile Menu - hidden by default */
.nav-mobile {
    display: none;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.logo a {
    font-size: 24px;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.logo .colon {
    color: #ff0000;
}

body.scroll-section-two .logo a {
    color: #1a1a1a;
}

.menu .brasil-menu-item {
    opacity: 0;
    visibility: hidden;
    margin-right: 20px;
}

body.scroll-section-three .menu .brasil-menu-item {
    opacity: 1;
    visibility: visible;
    max-width: 300px;
    margin-right: 40px;
}

.menu .brasil-menu-item a {
    color: var(--ODDSGATE-RED, #FD4950);
    font-family: "MD Nichrome", sans-serif;
    font-size: 25px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    white-space: nowrap;
}

body.scroll-section-three .menu .brasil-menu-item a {
    color: #FD4950 !important;
    font-family: "MD Nichrome", sans-serif !important;
    font-size: 25px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 40px;
}

.menu {
    display: flex;
    list-style: none;
    gap: 40px;
}

.menu li a {
    text-decoration: none;
    color: #380131;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    transition: color 0.3s ease, opacity 0.3s ease;
}

.menu li a.active {
    color: #380131;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.menu li a:hover {
    opacity: 0.8;
}

body.scroll-section-two .menu li a {
    color: #380131;
}

.search {
    position: relative;
    display: flex;
    align-items: center;
}

.search input {
    padding: 8px 0 10px 17px;
    border: none;
    border-radius: 50px;
    font-size: 13px;
    font-family: Inter;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    outline: none;
    background-color: #FDFFDA;
    width: 175px;
    height: 23.993px;
    color: rgba(56, 1, 49, 0.30);
}

.search input::placeholder {
    color: rgba(56, 1, 49, 0.30);
    transition: color 0.3s ease;
}

body.scroll-section-two .search input::placeholder {
    color: rgba(253, 255, 218, 0.30);
}

.search-icon {
    position: absolute;
    right: 15px;
    width: 11.936px;
    height: 11.93px;
    color: #380131;
    pointer-events: none;
    transition: color 0.3s ease;
}

/* When search input has background #FDFFDA, icon should be #380131 */
.search input[style*="background-color: #FDFFDA"],
.search input[style*="background-color:#FDFFDA"],
.search:has(input[style*="background-color: #FDFFDA"]) .search-icon,
.search:has(input[style*="background-color:#FDFFDA"]) .search-icon {
    color: #380131;
}

body.scroll-section-two .search-icon {
    color: #380131;
}

.nav-separator {
    width: 100%;
    height: 1.333px;
    background-color: #FDFFDA;
    margin-top: 0;
    transition: background-color 0.3s ease;
}

body.scroll-section-two .nav-separator,
body.scroll-section-three .nav-separator {
    background-color: #FD4950;
}

/* Apply nav-separator color to hamburger icon and border */
body.scroll-section-two .hamburger-icon,
body.scroll-section-three .hamburger-icon {
    color: #FD4950;
}

body.scroll-section-two .mobile-hamburger-box,
body.scroll-section-three .mobile-hamburger-box {
    border-left-color: #FD4950;
}

/* Scroll-based color changes for nav */
body.scroll-section-two .menu .brasil-menu-item a {
    color: var(--ODDSGATE-RED, #FD4950);
    transition: color 0.25s ease;
}

body.scroll-section-two .menu li a {
    color: #380131;
    transition: color 0.25s ease;
}

body.scroll-section-two .menu li a.active {
    color: var(--ODDSGATE-EGG, #FDFFDA);
    font-weight: 800;
}

body.scroll-section-two .logo a {
    color: var(--ODDSGATE-EGG, #FDFFDA);
}

body.scroll-section-two .search-icon {
    color: var(--ODDSGATE-EGG, #FDFFDA);
}

body.scroll-section-two .search input {
    background-color: #380131;
    color: rgba(253, 255, 218, 0.30);
}

body.scroll-section-two .search input::placeholder {
    color: rgba(253, 255, 218, 0.30);
}


body.scroll-section-three .logo a {
    color: var(--ODDSGATE-EGG, #FDFFDA);
}

body.scroll-section-three .menu li a {
    color: #380131;
}

body.scroll-section-three .menu li a.active {
    color: var(--ODDSGATE-EGG, #FDFFDA);
    font-weight: 800;
}


body.scroll-section-three .search-icon {
    color: var(--ODDSGATE-EGG, #FDFFDA);
}

body.scroll-section-three .search input {
    background-color: #380131;
    color: rgba(253, 255, 218, 0.30);
}

body.scroll-section-three .search input::placeholder {
    color: rgba(253, 255, 218, 0.30);
}

/* Mobile Menu Styles */
.nav-mobile-left,
.nav-left-mobile {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1; /* Grow to fill available space */
    min-width: 0; /* Allow flex item to shrink below content size */
}

.nav-mobile-right {
    display: flex;
    align-items: center;
    flex-shrink: 0; /* Don't shrink, keep fixed size */
}

.mobile-hamburger-box {
    display: none;
    align-items: center;
    justify-content: center;
    height: 47px;
    padding: 21px 14px 18px 14px;
    border-left: 1px solid;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
}

.mobile-nav-right {
    display: none;
    align-items: center;
    gap: 20px;
}

.mobile-search-icon {
    display: none; /* Hidden by default on desktop */
    align-items: center;
    cursor: pointer;
    margin-left: auto; /* Push to the right side of nav-mobile-left */
    margin-right: 20px; /* 20px margin from the right edge */
}

.mobile-search-icon svg {
    width: 20px;
    height: 20px;
    transition: color 0.3s ease;
}

.hamburger-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    width: 24px;
    height: 24px;
    cursor: pointer;
    position: relative;
}

.hamburger-icon {
    width: 24px;
    height: 24px;
    display: block;
}

.hamburger-line {
    stroke: currentColor;
    transition: all 0.3s ease;
}

/* Hamburger to X animation */
/* SVG is 24x24px, center is at x=12px, y=12px */
/* Lines are extended to cross the diagonal when rotated */
/* Diagonal of 24x24 square = √(24² + 24²) = √1152 ≈ 33.94px */
/* To cross diagonal when rotated 45°, line length needs to be ≈ 34px */
/* Both lines rotate around the center point (12px, 12px) */
.hamburger-line-1,
.hamburger-line-2 {
    transform-origin: 12px 12px;
}

.hamburger-menu.active .hamburger-line-1 {
    transform: translateY(4px) translateX(-4px) rotate(45deg);
}

.hamburger-menu.active .hamburger-line-2 {
    transform: translateY(-6px) translateX(-3px) rotate(-45deg);
}

/* Mobile search and hamburger colors - same as menu text colors */
/* Colors are defined in page-specific CSS files to match .menu li a */

.mobile-menu-overlay {
    position: fixed;
    top: 48.333px; /* nav height (47px) + separator height (1.333px) */
    right: 0; /* Aligned to right border */
    width: 201px; /* Fixed width */
    height: auto; /* Height based on content */
    background-color: transparent;
    transform: scaleY(0); /* Start with zero height (grow from top) */
    transform-origin: top; /* Grow from top border */
    transition: transform 0.3s ease, visibility 0.3s ease, opacity 0.3s ease;
    z-index: 999;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    visibility: hidden; /* Hidden by default */
    opacity: 0; /* Fully transparent when hidden */
    pointer-events: none; /* Disable interactions when hidden */
}

.mobile-menu-overlay.active {
    transform: scaleY(1); /* Grow to full height */
    visibility: visible; /* Show when active */
    opacity: 1; /* Fully opaque when active */
    pointer-events: auto; /* Enable interactions when active */
}

/* Menu card container */
.mobile-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    background-color: #FDFFDA; /* Light yellow background */
    border-radius: 20px 0 20px 20px; /* Top-left, bottom-right, bottom-left: 20px */
    width: 100%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

.mobile-menu li {
    position: relative;
}

.mobile-menu li:not(:last-child)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #380131; /* Dark purple separator */
}

.mobile-menu li a {
    color: #380131; /* Dark purple text */
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    display: block;
    padding: 16px 20px; /* Adjusted padding for ~137px height with current items */
    text-align: center;
    transition: background-color 0.2s ease;
}

.mobile-menu li a:hover {
    background-color: rgba(56, 1, 49, 0.05); /* Light purple hover */
}

.mobile-menu li a.active {
    background-color: #FD4950; /* Red background when active */
    color: #FDFFDA; /* Light yellow text when active */
    font-weight: 800;
}

/* Mobile menu colors when section background is #FDFFDA */
/* Applied when scroll-section-two or scroll-section-three is active */
/* Pages with different section backgrounds can override these rules */
body.scroll-section-two .mobile-menu,
body.scroll-section-three .mobile-menu {
    background-color: #380131; /* Dark purple background */
}

body.scroll-section-two .mobile-menu li a,
body.scroll-section-three .mobile-menu li a {
    color: #FDFFDA; /* Light yellow text */
}

body.scroll-section-two .mobile-menu li:not(:last-child)::after,
body.scroll-section-three .mobile-menu li:not(:last-child)::after {
    background-color: #FD4950; /* Red separator lines */
}

body.scroll-section-two .mobile-menu li a:hover,
body.scroll-section-three .mobile-menu li a:hover {
    background-color: rgba(253, 255, 218, 0.1); /* Light yellow hover */
}

body.scroll-section-two .mobile-menu li a.active,
body.scroll-section-three .mobile-menu li a.active {
    background-color: #FD4950; /* Red background when active */
    color: #FDFFDA; /* Light yellow text when active */
    font-weight: 800;
}

/* Mobile Search Overlay Styles */
.mobile-search-overlay {
    position: fixed;
    top: 48.333px; /* nav height (47px) + separator height (1.333px) */
    left: 0; /* Start from left edge */
    right: 0; /* Extend to right edge */
    width: 100%; /* Full width */
    height: auto; /* Height based on content */
    background-color: transparent;
    transform: scaleY(0); /* Start with zero height (grow from top) */
    transform-origin: top; /* Grow from top border */
    transition: transform 0.3s ease, visibility 0.3s ease, opacity 0.3s ease;
    z-index: 999;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    visibility: hidden; /* Hidden by default */
    opacity: 0; /* Fully transparent when hidden */
    pointer-events: none; /* Disable interactions when hidden */
}

.mobile-search-overlay.active {
    transform: scaleY(1); /* Grow to full height */
    visibility: visible; /* Show when active */
    opacity: 1; /* Fully opaque when active */
    pointer-events: auto; /* Enable interactions when active */
}

.mobile-search-content {
    background-color: #FDFFDA; /* Light yellow background */
    border-radius: 0 0 20px 20px; /* Bottom corners: 20px */
    width: 100%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.mobile-search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    height: 43px; /* Fixed height */
    padding: 0 33px; /* Lateral padding */
    box-sizing: border-box;
}

.mobile-search-input-icon {
    position: absolute;
    left: 33px; /* Match lateral padding */
    width: 20px;
    height: 20px;
    color: #380131;
    pointer-events: none;
    z-index: 1;
}

.mobile-search-input {
    width: 100%;
    padding: 0 12px 0 48px; /* Left padding for icon, no vertical padding */
    border: none;
    background-color: transparent;
    color: #380131;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 18px;
    font-weight: 500;
    outline: none;
    box-sizing: border-box;
    height: 100%; /* Fill wrapper height */
    line-height: 43px; /* Match wrapper height for vertical centering */
}

.mobile-search-input::placeholder {
    color: rgba(56, 1, 49, 0.5);
}

.mobile-search-divider {
    height: 1px;
    background-color: #380131;
    margin: 0;
}

/* Hide divider below CTA by default, show only when there are suggestions */
.mobile-search-divider-after-cta {
    display: none !important; /* Hidden by default - this is the divider below CTA */
}

.mobile-search-divider-after-cta.show {
    display: block !important; /* Show when class 'show' is added */
}

.mobile-search-cta-wrapper {
    display: flex;
    justify-content: center;
    padding: 11px 33px 16px 33px; /* Outer padding: top 11px, lateral 33px, bottom 16px */
    box-sizing: border-box;
}

.mobile-search-cta {
    padding: 6px 33px; /* Inner padding: vertical 6px (calculated: (32px - 20px line-height) / 2 = 6px), lateral 33px */
    border: none;
    background-color: #FB7880;
    color: #380131;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease;
    height: 32px; /* Total height */
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap; /* Prevent text wrapping */
}

.mobile-search-cta:hover {
    background-color: rgba(56, 1, 49, 0.05);
}

.mobile-search-suggestions {
    max-height: 300px;
    overflow-y: auto;
    padding: 0;
}

.mobile-search-suggestions::-webkit-scrollbar {
    width: 6px;
}

.mobile-search-suggestions::-webkit-scrollbar-track {
    background: transparent;
}

.mobile-search-suggestions::-webkit-scrollbar-thumb {
    background: rgba(56, 1, 49, 0.2);
    border-radius: 3px;
}

.mobile-search-suggestions::-webkit-scrollbar-thumb:hover {
    background: rgba(56, 1, 49, 0.3);
}

.mobile-search-suggestion-category {
    padding: 8px 20px;
    font-family: "MD Nichrome", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #FD4950;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-color: rgba(253, 73, 80, 0.05);
}

.mobile-search-suggestion-item {
    padding: 12px 20px;
    border-bottom: 1px solid rgba(56, 1, 49, 0.1);
    transition: background-color 0.2s ease;
    cursor: pointer;
}

.mobile-search-suggestion-item:last-child {
    border-bottom: none;
}

.mobile-search-suggestion-item:hover {
    background-color: rgba(56, 1, 49, 0.05);
}

.mobile-search-suggestion-item.no-results {
    color: rgba(56, 1, 49, 0.5);
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
    text-align: center;
    padding: 20px;
    cursor: default;
}

.mobile-search-suggestion-item.no-results:hover {
    background-color: transparent;
}

.mobile-search-suggestion-title {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #380131;
    line-height: 1.4;
    margin-bottom: 4px;
}

.mobile-search-suggestion-title mark {
    background-color: #FD4950;
    color: #FDFFDA;
    padding: 0 2px;
}

.mobile-search-suggestion-excerpt {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 12px;
    color: rgba(56, 1, 49, 0.7);
    line-height: 1.4;
}

.mobile-search-suggestion-excerpt mark {
    background-color: #FD4950;
    color: #FDFFDA;
    padding: 0 2px;
}

/* Mobile search colors when section background is #FDFFDA */
body.scroll-section-two .mobile-search-content,
body.scroll-section-three .mobile-search-content {
    background-color: #380131; /* Dark purple background */
}

body.scroll-section-two .mobile-search-input-icon,
body.scroll-section-three .mobile-search-input-icon {
    color: #FDFFDA; /* Light yellow icon */
}

body.scroll-section-two .mobile-search-input,
body.scroll-section-three .mobile-search-input {
    color: #FDFFDA; /* Light yellow text */
}

body.scroll-section-two .mobile-search-input::placeholder,
body.scroll-section-three .mobile-search-input::placeholder {
    color: rgba(253, 255, 218, 0.5);
}

body.scroll-section-two .mobile-search-divider,
body.scroll-section-three .mobile-search-divider {
    background-color: #FD4950; /* Red separator */
}

body.scroll-section-two .mobile-search-cta,
body.scroll-section-three .mobile-search-cta {
    color: #FDFFDA; /* Light yellow text */
}

body.scroll-section-two .mobile-search-cta:hover,
body.scroll-section-three .mobile-search-cta:hover {
    background-color: rgba(253, 255, 218, 0.1);
}

body.scroll-section-two .mobile-search-suggestion-category,
body.scroll-section-three .mobile-search-suggestion-category {
    color: #FD4950;
    background-color: rgba(253, 73, 80, 0.1);
}

body.scroll-section-two .mobile-search-suggestion-item,
body.scroll-section-three .mobile-search-suggestion-item {
    border-bottom-color: rgba(253, 255, 218, 0.1);
}

body.scroll-section-two .mobile-search-suggestion-item:hover,
body.scroll-section-three .mobile-search-suggestion-item:hover {
    background-color: rgba(253, 255, 218, 0.1);
}

body.scroll-section-two .mobile-search-suggestion-title,
body.scroll-section-three .mobile-search-suggestion-title {
    color: #FDFFDA;
}

body.scroll-section-two .mobile-search-suggestion-excerpt,
body.scroll-section-three .mobile-search-suggestion-excerpt {
    color: rgba(253, 255, 218, 0.7);
}

/* Bootstrap Breakpoints - Navigation */

/* Mobile - Menu Hambúrguer (< 768px) */
@media (max-width: 767px) {
    .nav-container {
        padding: 0;
        height: 47px;
    }
    
    /* Esconder menu desktop completamente */
    .nav-desktop {
        display: none !important;
    }
    
    /* Mostrar menu mobile */
    .nav-mobile {
        display: flex !important;
    }
    
    .nav-mobile-left {
        display: flex;
        align-items: center;
        gap: 20px;
    }
    
    .nav-mobile-left .logo {
        padding: 16px 0;
        padding-left: 24px;
        width: auto; /* Let it size based on SVG + padding */
        box-sizing: content-box; /* Padding is additional, not included in width */
    }
    
    .nav-mobile-left .logo svg {
        width: 100px; /* Logo SVG is exactly 100px */
        height: auto;
        display: block; /* Remove inline spacing */
    }
    
    .nav-mobile-right {
        display: flex;
        align-items: center;
    }
    
    .mobile-hamburger-box {
        display: flex !important;
    }
    
    /* Show mobile search icon on mobile */
    .mobile-search-icon {
        display: flex !important;
    }
    
    /* Mobile hamburger and search colors - default (Section 1) */
    /* Colors will be overridden by page-specific CSS */
    .mobile-search-icon svg {
        color: #FDFFDA;
    }
    
    .hamburger-icon {
        color: #FDFFDA;
    }
    
    .mobile-hamburger-box {
        border-left-color: #FDFFDA;
    }
}

/* Desktop - Menu Desktop (≥ 768px) */
@media (min-width: 768px) {
    /* Esconder menu mobile completamente */
    .nav-mobile {
        display: none !important;
    }
    
    /* Mostrar menu desktop */
    .nav-desktop {
        display: flex !important;
    }
    
    /* Esconder elementos mobile no desktop */
    .mobile-search-icon {
        display: none !important;
    }
    
    .mobile-hamburger-box {
        display: none !important;
    }
}

/* Mobile pequeno (xs: < 576px) */
@media (max-width: 575px) {
    .nav-container {
        padding: 0;
    }
    
    .logo {
        width: 100px;
        padding: 16px 0;
        padding-left: 24px;
    }
    
    .logo svg {
        width: 100px;
    }
    
    .mobile-menu li a {
        font-size: 16px;
    }
    
    .mobile-menu .brasil-menu-item a {
        font-size: 22px;
    }
}

/* Mobile grande / Tablet pequeno (sm: ≥ 576px e < 768px) */
@media (min-width: 576px) and (max-width: 767px) {
    .nav-container {
        padding: 0;
    }
    
    /* Apenas estilos para elementos mobile nesta faixa */
    .nav-mobile-left .logo {
        padding: 16px 0;
        padding-left: 24px;
        width: auto; /* Let it size based on SVG + padding */
        box-sizing: content-box; /* Padding is additional, not included in width */
    }
    
    .nav-mobile-left .logo svg {
        width: 100px; /* Logo SVG is exactly 100px */
        height: auto;
        display: block; /* Remove inline spacing */
    }
    
    /* Nota: .nav-right, .menu, .search não devem estar visíveis nesta faixa */
    /* Eles são parte do .nav-desktop que está escondido abaixo de 768px */
}

/* Tablet (md: ≥ 768px) */
@media (min-width: 768px) and (max-width: 991px) {
    .nav-container {
        padding: 0 30px;
    }
    
    .nav-right {
        gap: 30px;
    }
    
    .menu {
        gap: 30px;
    }
    
    .menu li a {
        font-size: 17px;
    }
    
    .search input {
        width: 160px;
    }
}

/* Desktop pequeno (lg: ≥ 992px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .nav-container {
        padding: 0 35px;
    }
}

/* Desktop (xl: ≥ 1200px) */
@media (min-width: 1200px) and (max-width: 1399px) {
    .nav-container {
        padding: 0 40px;
    }
}

/* Desktop grande (xxl: ≥ 1400px) */
@media (min-width: 1400px) {
    .nav-container {
        padding: 0 calc((100vw - 1400px) / 2);
        max-width: none;
    }
}