.bg-pattern-light {
    background-image: linear-gradient(rgba(211, 211, 255, 0.85), rgba(255, 255, 255, 0.85)), url('https://lh3.googleusercontent.com/aida/AP1WRLu6c1eOBycoOhr8d1SXuiHHJ2p6UFS7W2aOZkBXjny6fvIs_6xymLzH0UsMR7FkOSpmq8iA3Rgj70jVG88PGuJNINDzY5gsPYOgnDgBh3IcKArWymKf-uL7T7agVDPUQUJOCSw0gvHUm-wOQkE9H9OVVAAbstEFTKz5Z8_Lg8OSzO2KJuFfVFtK3doqWktfqKKktFzNLf_TzWkD-TcfU94V1-qBjNCjlurGOnhw60gdCD9fBNRYgHzWMpMp') !important;
    background-repeat: repeat;
    background-size: 400px;
    background-attachment: fixed;
}

.bg-pattern-dark {
    background-image: linear-gradient(rgba(7, 24, 43, 0.85), rgba(7, 24, 43, 0.85)), url('https://lh3.googleusercontent.com/aida/AP1WRLu_foWMwnMlqlxq-jsEwNaqub3k215L_EAy1g9btiAZtZ-vC6ctgnJDoX8wnoedlLjZLvxGBbofAjGnMf_dRJvEe1l5avwp0Eo5waH3l_00K1ufBPSmlJVaGf7Cct4WRPY63LuqnSJ6HUc0hkcppk5dzmsmrPaiapy336v6Yh3lNvvAXDOcQtNm0p5hZVT5IuPV1iLZpy57dRptdN6lHBnOX9SlAwnVO4c48uoRoPg_s27yUgpT632cGXFn') !important;
    background-repeat: repeat;
    background-size: 400px;
    background-attachment: fixed;
    background-color: #07182b !important;
}

.hero-pattern { position: relative; }
.hero-pattern::before {
    content: ''; position: absolute; inset: 0;
    background-image: url('https://lh3.googleusercontent.com/aida/AP1WRLu_foWMwnMlqlxq-jsEwNaqub3k215L_EAy1g9btiAZtZ-vC6ctgnJDoX8wnoedlLjZLvxGBbofAjGnMf_dRJvEe1l5avwp0Eo5waH3l_00K1ufBPSmlJVaGf7Cct4WRPY63LuqnSJ6HUc0hkcppk5dzmsmrPaiapy336v6Yh3lNvvAXDOcQtNm0p5hZVT5IuPV1iLZpy57dRptdN6lHBnOX9SlAwnVO4c48uoRoPg_s27yUgpT632cGXFn');
    background-repeat: repeat; background-size: 400px; background-attachment: fixed;
    opacity: 0.25; pointer-events: none; z-index: 1;
}

.footer-pattern { position: relative; }
.footer-pattern::before {
    content: ''; position: absolute; inset: 0;
    background-image: url('https://lh3.googleusercontent.com/aida/AP1WRLu_foWMwnMlqlxq-jsEwNaqub3k215L_EAy1g9btiAZtZ-vC6ctgnJDoX8wnoedlLjZLvxGBbofAjGnMf_dRJvEe1l5avwp0Eo5waH3l_00K1ufBPSmlJVaGf7Cct4WRPY63LuqnSJ6HUc0hkcppk5dzmsmrPaiapy336v6Yh3lNvvAXDOcQtNm0p5hZVT5IuPV1iLZpy57dRptdN6lHBnOX9SlAwnVO4c48uoRoPg_s27yUgpT632cGXFn');
    background-repeat: repeat; background-size: 400px; background-attachment: fixed;
    opacity: 0.25; pointer-events: none; z-index: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   NAVBAR – OVERRIDE Tailwind spacing + force single-line layout
   ═══════════════════════════════════════════════════════════════════ */

/* Kill Tailwind space-x-8 (adds margin between children – must reset) */
nav .hidden.md\:flex.items-center.space-x-8 {
    display: flex !important;
    gap: 2.25rem !important;          /* 36px – generous spread */
    flex-shrink: 0 !important;        /* Do NOT shrink – force spacing */
    min-width: 0;
    align-items: center;
}
/* Override Tailwind space-x-8 margins on direct children */
nav .hidden.md\:flex.items-center.space-x-8 > a {
    margin-left: 0 !important;
    margin-right: 0 !important;
    white-space: nowrap !important;
    flex-shrink: 0;
    font-size: 0.9375rem !important;
    line-height: 1.25;
}

/* Kill Tailwind space-x-4 on right-side actions */
nav > div > div:last-child {
    flex-shrink: 0;
    gap: 1rem !important;              /* 16px – balanced with wider nav gap */
    flex-wrap: nowrap;
    align-items: center;
}
nav > div > div:last-child > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Brand text: never wrap, never shrink */
nav a.font-headline-sm {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Profile / Inbox / Register / Reservations buttons */
nav a[data-i18n="nav-register"],
nav a[data-i18n="nav-reservations"],
nav a[data-i18n="nav-inbox"],
nav a#nav-inbox-link {
    white-space: nowrap !important;
    flex-shrink: 0;
    font-size: 0.875rem !important;
    padding: 0.4rem 1rem !important;
}
/* Inbox link text color on white navbar */
nav.fixed a#nav-inbox-link,
nav.fixed a#nav-inbox-link span[data-i18n] {
    color: #5f5e5e !important;
}
nav.fixed a#nav-inbox-link:hover,
nav.fixed a#nav-inbox-link:hover span[data-i18n] {
    color: #001736 !important;
}
/* Unread badge */
nav.fixed #inbox-badge-nav {
    background-color: #ef4444 !important;
}

/* Language flags */
nav img[style*="border-radius"] {
    flex-shrink: 0;
    width: 1.75rem !important;
    height: 1.75rem !important;
}

/* Hamburger button */
nav button.md\:hidden {
    padding: 0.375rem !important;
}

/* User icon */
nav a[href="login.html"] .material-symbols-outlined,
nav a[href="profile.html"] .material-symbols-outlined {
    font-size: 24px !important;
}

/* ═══════════════════════════════════════════════════════════════════
   DARK NAVBAR – Consistent dark theme for all pages
   ═══════════════════════════════════════════════════════════════════ */
nav.fixed {
    background-color: rgba(10, 16, 25, 0.95) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}
nav.fixed a.text-primary { color: #ffffff !important; }
nav.fixed a.text-secondary { color: #9ca3af !important; }
nav.fixed a.text-secondary:hover { color: #ffffff !important; }
nav.fixed button.text-primary,
nav.fixed button { color: #ffffff !important; }
nav.fixed a.text-gray-400 { color: #9ca3af !important; }
nav.fixed a.text-gray-400:hover { color: #ffffff !important; }
nav.fixed a#nav-inbox-link,
nav.fixed a#nav-inbox-link span[data-i18n] { color: #9ca3af !important; }
nav.fixed a#nav-inbox-link:hover,
nav.fixed a#nav-inbox-link:hover span[data-i18n] { color: #ffffff !important; }
nav.fixed #inbox-badge-nav { background-color: #ef4444 !important; }

/* ═══════════════════════════════════════════════════════════════════
   GLOSSY BLACK CART BUTTON
   ═══════════════════════════════════════════════════════════════════ */
.nav-cart-btn,
a.nav-cart-btn,
a.nav-cart-btn.text-white,
a[href="cart.html"].nav-cart-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #1a1a2e 0%, #0a0a15 50%, #1a1a2e 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 9999px !important;
    padding: 10px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transition: all 0.25s ease-in-out !important;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
}
.nav-cart-btn::after {
    content: '';
    position: absolute; top: 0; left: -100%;
    width: 50%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.5s ease;
    pointer-events: none;
}
.nav-cart-btn:hover::after { left: 100%; }
.nav-cart-btn:hover,
a.nav-cart-btn:hover,
a.nav-cart-btn.text-white:hover,
a[href="cart.html"].nav-cart-btn:hover {
    background: linear-gradient(145deg, #2a2a4e 0%, #15152a 50%, #2a2a4e 100%) !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
    color: #ffffff !important;
    transform: scale(1.08) !important;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════════════
   MISC
   ═══════════════════════════════════════════════════════════════════ */
[data-i18n] {
    transition: none;
    word-break: normal;
    overflow-wrap: normal;
}
footer .max-w-max-width {
    overflow: hidden;
}
