/* Base Dark Texture Background */
        body {
            background-color: #080809;
            background-image: 
                radial-gradient(circle at 50% 0%, rgba(255, 85, 0, 0.15), transparent 40%),
                radial-gradient(circle at 80% 60%, rgba(255, 85, 0, 0.08), transparent 30%),
                url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");
            color: #efefef;
            font-family: 'Inter', sans-serif;
        }

        .font-heading {
            font-family: 'Oswald', sans-serif;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        /* Ember Particles Canvas overlay */
        #embers-canvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 1;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #0d0d0e;
        }
        ::-webkit-scrollbar-thumb {
            background: #ff5500;
            border-radius: 4px;
        }

        /* Card Hover Effects */
        .food-card {
            background-color: #111113;
            border: 1px solid rgba(255, 85, 0, 0.25);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
            overflow: hidden;
        }
        .food-card:hover {
            border-color: #ff5500;
            transform: translateY(-4px);
            box-shadow: 0 10px 30px -10px rgba(255, 85, 0, 0.35);
        }
        .food-card img {
            transition: transform 0.5s ease;
        }
        .food-card:hover img {
            transform: scale(1.06);
        }

        /* Neon Fire Text Effect */
        .text-glow {
            text-shadow: 0 0 15px rgba(255, 85, 0, 0.6), 0 0 30px rgba(255, 85, 0, 0.2);
        }

        .border-glow {
            box-shadow: 0 0 15px rgba(255, 85, 0, 0.3);
        }

        /* Hide Horizontal Scrollbars */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        /* Flame animation for brush logo */
        @keyframes pulseGlow {
            0%, 100% { opacity: 0.8; filter: drop-shadow(0 0 10px rgba(255,85,0,0.8)); }
            50% { opacity: 1; filter: drop-shadow(0 0 20px rgba(255,120,0,1)); }
        }
        .logo-glow {
            animation: pulseGlow 3s infinite ease-in-out;
        }
    
/* Keep keyboard focus visible and anchor headings below the fixed navigation. */
:focus-visible { outline: 2px solid #ff5500; outline-offset: 4px; }
#domov, #jedilnik, #o-nas, #kontakt { scroll-margin-top: 9rem; }
@media (max-width: 639px) { body { padding-bottom: 5.5rem; } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    #embers-canvas { display: none; }
}

/* Desktop keeps the original grid and spacing. */
.category-content { display: contents; }
.category-content[hidden] { display: none !important; }
@media (min-width: 768px) {
  .category-content > :first-child { margin-top: 1.5rem; }
}
@media (max-width: 767px) {
  #jedilnik.mobile-accordion > div > .menu-category { margin-top: 0.75rem; }
  .mobile-accordion .menu-category > div:first-child { position: relative; min-height: 64px; padding: 1rem; border: 1px solid rgba(255,85,0,.3); border-radius: .75rem; background: #111113; }
  .mobile-accordion .menu-category h3 { flex: 1; font-size: 1.35rem; }
  .category-toggle { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; text-align: left; font: inherit; color: inherit; }
  .category-toggle::before { content: ''; position: absolute; inset: 0; border-radius: .75rem; }
  .category-toggle::after { content: ''; width: .55rem; height: .55rem; border-right: 2px solid #ff5500; border-bottom: 2px solid #ff5500; transform: rotate(45deg); flex-shrink: 0; }
  .category-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
  .category-content { display: block; }
  .category-content > * + * { margin-top: 1.5rem; }
  .mobile-drink-prices > summary { display: none; }
}

/* Drink destinations stay below both sticky navigation bars. */
.drink-price-heading { scroll-margin-top: 9rem; }
.mobile-action-bar { display: none; }
@media (max-width: 639px) {
  body { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)); }
  .mobile-action-bar { position: fixed; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); left: 1rem; right: 1rem; z-index: 50; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #ff883f; border-radius: 1rem; background: transparent; box-shadow: 0 12px 30px rgba(255,85,0,.35); }
  .mobile-action-bar a { display: flex; align-items: center; justify-content: center; min-height: 56px; color: white; font-size: 1.4rem; background: #ff5500; border-radius: 0; }
  .mobile-action-bar a + a { border-left: 1px solid rgba(255,255,255,.3); }
  .mobile-action-bar a:first-child { border-radius: 1rem 0 0 1rem; }
  .mobile-action-bar a:last-child { border-radius: 0 1rem 1rem 0; }
  .mobile-action-bar a:nth-child(2) { background: rgba(18,18,20,.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
  .mobile-action-bar a:nth-child(2):hover { background: rgba(18,18,20,.65); }
  .mobile-action-bar a:nth-child(2):active { background: rgba(18,18,20,.75); }
  .mobile-action-bar a:hover { background: #c94300; }
  .mobile-action-bar a:active { background: #a63800; }
  .mobile-action-bar img { display: block; width: 40px; height: 40px; object-fit: contain; }
  .mobile-action-bar a:focus-visible { outline-color: white; outline-offset: -4px; }
}

/* Official Instagram post, framed to match the site. */
.instagram-panel { width: 100%; max-width: 590px; margin-left: auto; margin-right: auto; padding: 24px; border: 1px solid rgba(255,85,0,.4); border-radius: 20px; background: #121214; box-shadow: 0 8px 28px rgba(255,85,0,.12); }
.instagram-panel h3 { margin: 0; }
.instagram-profile { display: inline-block; margin: 8px 0 20px; color: #ff5500; overflow-wrap: anywhere; }
.instagram-profile:hover { text-decoration: underline; }
.instagram-embed { width: 100%; min-width: 0; text-align: left; }
.instagram-embed .instagram-media { width: 100% !important; min-width: 0 !important; max-width: 540px !important; margin: 0 auto !important; }
.instagram-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; min-height: 48px; padding: 12px 20px; border-radius: 12px; color: #fff; background: #ff5500; font-weight: 700; }
.instagram-link:hover { background: #e04800; }
@media (max-width: 479px) {
  .instagram-panel { padding: 18px 0; }
  .instagram-panel h3, .instagram-profile, .instagram-link { margin-left: 8px; margin-right: 8px; }
}

/* Small layout refinements; retain the original colours and effects. */
.food-card { min-width: 0; }
.food-card h4 { overflow-wrap: anywhere; }
.food-card h4 + span { white-space: nowrap; flex-shrink: 0; }
#kebab .food-card > .flex { min-width: 0; }
#kebab .food-card > img, #kebab .food-card > .relative { flex-shrink: 0; }
.vegi-badge { position: absolute; top: .5rem; right: .5rem; z-index: 1; border-radius: .25rem; background: #ff5500; color: white; padding: .25rem .5rem; font-size: .75rem; font-weight: 700; }
@media (min-width: 768px) { .kebab-grid > .food-card:last-child:nth-child(odd) { grid-column: 1 / -1; } }
@media (min-width: 768px) and (max-width: 1023px) { #kebab .food-card, #jufka .food-card { flex-direction: column; } #kebab .food-card img, #jufka .food-card img { width: 100%; } }

/* Let long contact names wrap on narrow phones instead of widening the page. */
#kontakt .grid > *, #kontakt a > div:last-child { min-width: 0; }
#kontakt a p { overflow-wrap: anywhere; }

@media (min-width: 768px) and (max-width: 1023px) {
  #main-header nav a { white-space: nowrap; }
  #main-header nav a + a { margin-left: 1rem; }
  #main-header .hidden.sm\:flex { gap: .5rem; }
  #main-header .hidden.sm\:flex a[href^="tel:"] { padding-left: .75rem; padding-right: .75rem; white-space: nowrap; }
}

/* Native disclosure: usable with touch, keyboard and without JavaScript. */
.opening-hours { align-self: start; min-width: 0; border: 1px solid #27272a; border-radius: 1rem; background: #18181b; overflow: hidden; }
.opening-hours summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 76px; padding: 1.5rem; color: #fff; font-size: 1.25rem; font-weight: 700; cursor: pointer; list-style: none; }
.opening-hours summary::-webkit-details-marker { display: none; }
.opening-hours summary > span { display: flex; align-items: center; gap: .75rem; }
.opening-hours summary i { color: #ff5500; }
.opening-hours summary:hover { background: rgba(255,85,0,.06); }
.opening-hours summary:focus-visible { outline-offset: -4px; border-radius: 1rem; }
.opening-hours-chevron { font-size: .875rem; transition: transform .2s ease; }
.opening-hours[open] .opening-hours-chevron { transform: rotate(180deg); }
.opening-hours-list { margin: 0; padding: 0 1.5rem 1rem; }
.opening-hours-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-top: 1px solid #27272a; font-size: .875rem; }
.opening-hours-list dt { color: #d1d5db; }
.opening-hours-list dd { margin: 0; color: #ff5500; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.opening-hours-list .opening-hours-closed { color: #9ca3af; }

/* A shared heading above both top-aligned contact columns. */
.contact-heading { margin-bottom: 2rem; }
.contact-layout { align-items: start; }

.category-scroll-arrow { display: none; }
@media (max-width: 767px) {
 .category-scroll-track { padding-inline: 42px; }
 .category-scroll-track > a { flex-shrink: 0; }
 .category-scroll-arrow { display: grid; place-items: center; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 36px; height: 40px; border: 1px solid #ff550066; border-radius: 10px; background: #111113; color: #ff5500; font-size: 32px; line-height: 1; box-shadow: 0 0 12px #080809; }
 .category-scroll-arrow.is-left { left: 2px; }
 .category-scroll-arrow.is-right { right: 2px; }
 .category-scroll-arrow[hidden] { display: none; }
}

/* Portion prices for Nuggets, matching existing orange price badges. */
.product-price-options { display:flex; flex-direction:column; gap:6px; flex-shrink:0; color:#ff5500; font-size:20px; font-weight:800; }
.product-price-options > span { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 10px; border:1px solid rgba(255,85,0,.3); border-radius:8px; background:rgba(255,85,0,.1); white-space:nowrap; }
.product-price-options small { font-size:12px; font-weight:600; }
