/* The real sign sets the palette: cherry red, amber and electric blue. */
:root{--bg:#0c090d;--panel:#191018;--text:#fff6ed;--muted:#d7bec5;--red:#f6344b;--wine:#751328;--gold:#ffc66d;--cream:#fff5e6;--line:#ff667940;--neon-blue:#70d9ff;--header:112px;--glow-red:0 0 2px #fff0ec,0 0 12px #ff244788,0 0 38px #ed16424d}
html{scroll-padding-top:132px}body{background:var(--bg)}
.site-header{height:var(--header);grid-template-columns:1fr 180px 1fr;gap:32px;padding-inline:var(--page-pad);background:#0c090df2;border-bottom:1px solid #fe55606b;box-shadow:0 1px 0 #ffb3aa88,0 4px 24px #e3173d2b;backdrop-filter:blur(14px)}
.site-header::before{inset:auto 5% -1px;height:1px;background:#ff7984;border:0;box-shadow:0 0 13px 2px #ff3153}
.brand{align-self:center;margin:0}.brand img{width:180px;filter:drop-shadow(0 0 8px #ff325554) drop-shadow(0 0 20px #ec941827)}
.site-header nav{padding-top:0;gap:clamp(20px,3vw,48px);font-size:14px;letter-spacing:.055em}.site-header nav a,.site-menu summary{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;text-shadow:0 0 8px #ff5b7770}
.site-header nav a:hover,.site-menu summary:hover{color:#fff;text-shadow:var(--glow-red)}.site-header .header-contact{min-width:122px;min-height:44px;padding:9px 18px;border:1px solid #ff6174;box-shadow:inset 0 0 14px #ff1e4320,0 0 14px #ff1e4325;border-radius:2px}
.site-header .menu-panel{left:0;top:calc(100% + 21px);width:min(300px,calc(100vw - 32px));background:#160c14;border:1px solid #ff697e;box-shadow:0 12px 40px #0009,0 0 20px #ff224433;max-height:calc(100svh - 135px)}.site-header .menu-panel a{justify-content:flex-start;text-align:left;white-space:normal;border-color:var(--line)}
:is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid var(--neon-blue)!important;outline-offset:5px!important}.skip-link{z-index:110}
.scene-shade{background:linear-gradient(90deg,#100812ed,#140b14aa 42%,#120c1520 85%),linear-gradient(0deg,#0c090de6,transparent 60%)}
.hero{padding-top:170px;align-items:center}.hero-copy{width:min(960px,100%);max-width:960px}.hero h1{font-size:clamp(60px,7.1vw,112px);color:#fff1e9;text-shadow:0 0 2px #fff,0 0 10px #ff33467a,0 0 42px #ff1b3b59}
.hero h1 span{color:#ffe9df;-webkit-text-stroke:1px #ffced1;text-shadow:0 0 3px #fff,0 0 13px #ff264ea6,0 0 45px #ed153b80}
.hero-description{color:#f1dce0;max-width:385px}.hero .eyebrow{color:#ffd095;font-size:14px}.hero-location{border-color:#61d5ff;color:#e7e2ec}.hero-location strong{color:#a4e7ff;text-shadow:0 0 14px #36bff766}
.primary-link,.call-link,.text-link,.back-home,.menu-search button,.lightbox-bottom button,.lightbox-close,.dialog-close{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:52px;padding:12px 25px;font-size:14px;line-height:1.35;font-weight:700;letter-spacing:.035em;border-radius:2px;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.primary-link{display:flex;width:fit-content;max-width:100%;margin-inline:auto;background:#5b1426c9;border:1px solid #ff8e9d;color:#fff4ee;box-shadow:inset 0 0 15px #ff2c4d2b,0 0 16px #ff365139,0 0 35px #ff15311a}.primary-link:hover{background:#8d2039;box-shadow:inset 0 0 18px #ff6d7338,0 0 25px #ff3a5566}.primary-link:active,.header-contact:active{transform:translateY(1px)}
.hero .primary-link{margin-top:34px}.text-link{color:var(--gold)!important;text-decoration:none;border-bottom:1px solid #ffc66d77;padding-inline:12px}.text-link:hover{color:#fff6e4!important;box-shadow:0 9px 12px -12px #ffc66d}.link-mark{display:none}.link-mark:empty::after{content:none}.call-link{display:flex;width:fit-content;margin-inline:auto;font-size:clamp(22px,2.3vw,34px);color:#ffe0a4;border:1px solid #ffc66d;box-shadow:0 0 22px #f9a73c29;padding:16px 25px}
.hero-copy .primary-link{margin-left:0} /* overridden by the centered copy surface below */
.hero-copy{max-width:870px;text-align:center;margin-inline:auto}.hero-copy .eyebrow{justify-content:center}.hero-description{margin-inline:auto}.hero-copy .primary-link{margin-inline:auto}
.visit-details>.text-link{display:flex;width:fit-content;margin-inline:auto}
.story-copy h2,.atmosphere h2,.section-heading h2,.home-saloon h2,.home-history h2,.visit h2,.page-intro h1,.about-feature h2,.history-section h2,.news-now h2,.event-archive>h2{color:#fff0e9;text-shadow:var(--glow-red)}
.story-copy::before{border-color:#ff8793;box-shadow:0 0 13px #ff334e}.story-panel .scene-shade{background:linear-gradient(90deg,#100811ed,#190d17b3 36%,transparent 85%),linear-gradient(0deg,#100b12e8,transparent 55%)}
.journey-dock{background:#100b12f5;border-color:#df345a77;box-shadow:0 -2px 22px #da18471f}.journey-progress span{background:#ff7795;box-shadow:0 0 12px #ff315c}.journey-dock a[aria-current='location']::after{background:#7de4ff;box-shadow:0 0 10px #54d1ff}.journey-dock a[aria-current='location']{color:#bdefff}.motion-toggle{color:#ddc9d6}
.home-offer,.lunch-section,.atmosphere,.home-history,.history-section,.event-archive,.visit,.page-intro{background:#120b13;color:var(--text);border-top:1px solid #f0486866;border-bottom:0;position:relative}
.home-offer,.page-intro,.visit{background:radial-gradient(ellipse at 0 0,#54112d5c,transparent 70%),#100b12}
.lunch-section,.home-history,.history-section,.event-archive{background:#191019}.atmosphere::before{border-color:#ffc66d44}.atmosphere .eyebrow,.lunch-section .eyebrow,.home-history .eyebrow,.about-feature .eyebrow,.history-section .eyebrow,.news-now .eyebrow,.event-archive .eyebrow{color:var(--gold)}
.section-heading h2,.home-history h2{color:#ffece8}.offer-links>a{border:1px solid #fa5d7566;padding:30px;box-shadow:inset 0 0 40px #dc1d3510,0 0 14px #ec244516;border-radius:3px;background:#1b1019}.offer-links>a:hover{border-color:#ff9dad;box-shadow:0 0 24px #ff365138}.offer-links img{border:1px solid #fc849171}.offer-links h3{color:#fff3eb;text-shadow:0 0 15px #ff3c5566}.offer-links span{font-size:13px}
.lunch-day{border-color:#ff587e80}.lunch-day h3{color:#ffe1d8;text-shadow:0 0 12px #ff235752}.lunch-day li{border-color:#ff74802d}.soup,.lunch-footnote,.lunch-expired{color:#d7bec5}.soup span{color:#ffdda6}.today-label{background:#68314a;color:#fff7ea}.lunch-day.is-today{border-color:var(--gold)}.lunch-period{border-color:#ffbe7477}.lunch-day li strong{color:#ffd89c}.lunch-expired{background:#271420;border:1px solid #84405d}
.home-saloon{background:#0f0b11}.home-saloon>img{border-block:1px solid #ff50775c}.photo-tile,.panorama-photo,.about-feature>img,.archive-photo img{border:1px solid #ff768775;outline:0;box-shadow:0 0 22px #dd21451c}.photo-plus{background:#261020;border-color:#ff8195}.panorama-heading h3{color:#ffe1d7;text-shadow:var(--glow-red)}
.visit-heading{text-align:center}.visit-heading .eyebrow{justify-content:center}.visit-details p,.hours dl,.email-link,.visit-heading>p:last-child{color:#e2c9d4}.hours dl>div{border-color:#ff5a7929}.closing-rule{height:2px;border:0;background:#ff8294;box-shadow:0 0 11px #ff245f}.closing-brand img,.footer-logo{filter:drop-shadow(0 0 15px #ff40683b)}
.subpage{background:#100c13;color:var(--text)}.page-intro{padding-top:165px;padding-bottom:65px}.page-intro h1{max-width:1100px}.page-lead,.back-home{color:#e2c9d4}.back-home{padding-inline:0;margin-bottom:20px}.menu-switch{background:#211220;border-color:#f5587955;justify-content:center}.menu-switch a{color:var(--gold);min-height:44px;display:flex;align-items:center;text-align:center}.menu-sidebar h2{color:var(--gold);font-size:14px}.menu-sidebar a{border-color:#ff6b8729}.menu-sidebar a:hover{color:#ffaab9}
.menu-search label,.menu-category h2{color:#ffe2e8;text-shadow:0 0 12px #ff3e674d}.menu-search input{background:#1c1320;border-color:#8b4b68;color:var(--text)}.menu-search input::placeholder{color:#c7b0bd}.menu-search button{background:#672039;color:#fff0ed;border-color:#ed8da3}.menu-description,.menu-quantity,.category-description,#menu-results,.menu-source,.contact-person,.album>p,.album summary small,.archive-photo>span,.event-date{color:#ccb3c1}.menu-item{border-color:#ed72902e}.menu-price{color:#ffcf87}.menu-source{border-color:#ff628470}.source-detail summary,.history-timeline strong{color:var(--gold)}.meal-star{color:#ffc66d}.menu-search{border-color:#b05a793b}
.album{border-color:#bc58776b}.album summary,.event-story h3{color:#ffe3e8;text-shadow:0 0 15px #ff3e674d}.album summary:hover{color:#fff6f3}.archive-photo:hover>span{color:#ffd294}.history-timeline li{border-color:#f05b7977}.event-story,.about-feature{border-color:#ec729342}.page-bottom-link,.gallery-more{text-align:center}.inline-links{justify-content:center}.content-footer{background:#09080d;border-color:#ff627c66}.content-footer h2{color:#ffdbb0;text-shadow:0 0 9px #ed5e4240}.content-colophon{font-size:13px}.content-footer .text-link{padding:0;text-align:left;justify-content:flex-start}.payment-row>div>span{font-size:12px}
.photo-dialog,.content-lightbox{background:#100a12;border-color:#ff8198;box-shadow:0 0 35px #f93b6629}.lightbox-close,.dialog-close{min-height:44px;padding:8px 12px}.photo-dialog::backdrop,.content-lightbox::backdrop{background:#08060beb}.lightbox-bottom button{min-height:44px;height:44px;padding:0}
.hosting-login{max-width:680px;min-height:100svh;margin:auto;padding:70px 25px;text-align:center;display:flex;flex-direction:column;justify-content:center}.hosting-login img{width:210px;margin:0 auto 35px}.hosting-login .eyebrow{justify-content:center}.hosting-login h1{font-size:clamp(32px,6vw,58px);text-shadow:var(--glow-red)}.hosting-login>p{color:var(--muted)}.hosting-login .primary-link{margin-top:20px}
/* Only the intro animates light. A CSS deadline removes it even if JS breaks. */
.neon-intro{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#09070c;pointer-events:none;animation:intro-deadline 6.2s forwards}
.neon-intro-inner{width:min(660px,90vw);position:relative;aspect-ratio:510/346}.neon-intro svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:tubes-to-logo 6.2s linear forwards}.neon-intro .original-logo{position:absolute;inset:14.45% 9.8%;width:80.4%;height:71.1%;object-fit:contain;opacity:0;animation:sign-settle 6.2s ease-in-out forwards}
.neon-intro path{stroke-dasharray:1;stroke-dashoffset:1;animation:tube-draw 1s cubic-bezier(.25,.1,.25,1) forwards;animation-delay:var(--delay)}.neon-intro .tube-glow{filter:blur(2px);opacity:.85;stroke-width:5}.neon-intro .tube-color{stroke-width:1.8}.neon-intro .tube-core{stroke:#fff4e8;stroke-width:.55}
.neon-circuit{animation-duration:6.2s;animation-timing-function:linear;animation-fill-mode:forwards}.circuit-0{animation-name:contact-a}.circuit-1{animation-name:contact-b}.circuit-2{animation-name:contact-c}
/* Two separated contact failures, never a repeating flash or a full-screen exposure change. */
@keyframes contact-a{0%,42%{opacity:1}43%,47%{opacity:.13}48%,61%{opacity:1}62%,65%{opacity:.24}66%,100%{opacity:1}}
@keyframes contact-b{0%,43%{opacity:1}44%,49%{opacity:.28}50%,100%{opacity:1}}
@keyframes contact-c{0%,44%{opacity:1}45%,46%{opacity:.38}47%,59%{opacity:1}60%,66%{opacity:.1}67%,100%{opacity:1}}
@keyframes tube-draw{to{stroke-dashoffset:0}}
@keyframes tubes-to-logo{0%,72%{opacity:1}82%,100%{opacity:0}}
@keyframes sign-settle{0%,72%{opacity:0}82%,100%{opacity:1}}
@keyframes intro-deadline{0%,89%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(max-width:1100px){.site-header{grid-template-columns:1fr 160px 1fr;gap:20px}.brand img{width:160px}.site-header nav{gap:20px}.offer-links{gap:22px}.offer-links>a{padding:23px}}
@media(max-width:767px){:root{--header:90px}.site-header{grid-template-columns:1fr 128px 1fr;padding-inline:16px;gap:8px}.brand img{width:128px}.site-header nav{font-size:12px;letter-spacing:0}.site-header .header-contact{min-width:0;padding:8px 9px;min-height:42px}.site-header .menu-panel{left:0;top:calc(100% + 20px);width:min(320px,calc(100vw - 32px));font-size:16px}.site-menu summary{font-size:14px}.site-header::before{inset-inline:16px}.hero{align-items:flex-end;padding-top:145px;padding-bottom:calc(var(--dock) + 90px)}.hero-copy{text-align:center}.hero h1{font-size:clamp(37px,9.3vw,70px);line-height:1.14;-webkit-text-stroke:0}.hero .eyebrow{font-size:12px;letter-spacing:.05em}.hero-description{font-size:17px}.hero-location{left:0;right:0;text-align:center;bottom:calc(var(--dock) + 22px)}.scene-shade{background:linear-gradient(0deg,#100812fa 4%,#160a16bd 49%,#150c192b 90%)}.story-panel .scene-shade{background:linear-gradient(0deg,#100812f5 5%,#160a16ab 44%,transparent 88%)}.story-copy h2{font-size:clamp(33px,8vw,58px)}.primary-link{font-size:13px;min-height:52px}.eyebrow{font-size:12px}.motion-toggle{background:#160c1cee;font-size:12px}.journey-dock nav a{font-size:13px}.offer-links>a{padding:24px 20px}.offer-links img{width:94px;flex-basis:94px}.offer-links span{font-size:12px}.section-heading h2,.home-history h2{font-size:clamp(35px,9vw,50px)}.page-intro{padding-top:125px}.page-intro h1{font-size:clamp(36px,10vw,64px)}.menu-switch{gap:18px;padding-inline:20px;font-size:14px}.menu-search button{padding-inline:15px}.home-saloon>div{padding-inline:24px}.lightbox-bottom{gap:10px}.visit h2{font-size:clamp(46px,12vw,75px)}.content-colophon{font-size:12px}.neon-intro-inner{width:96vw}}
@media(max-width:360px){.site-header{grid-template-columns:1fr 116px 1fr;padding-inline:12px}.brand img{width:116px}.site-header .header-contact{font-size:11px;padding-inline:7px}.hero h1{font-size:34px}.hero .eyebrow{font-size:11px}.offer-links img{width:80px;flex-basis:80px}.journey-dock nav a{font-size:12px}}

/* Keep the photographic walkthrough on screen throughout its scroll track. */
.motion-enabled .walkthrough { height: 720svh; }
.motion-enabled .walkthrough-stage { position: sticky; top: 0; height: 100svh; }
@media (max-width: 767px) {
  .motion-enabled .walkthrough { height: 600svh; }
}

/* Section photography stays behind a dark scrim, never fading the content. */
.home-offer {
  --section-photo: url("assets/sal-1440.webp");
}
.lunch-section {
  --section-photo: url("assets/boxy-1440.webp");
  --photo-shade-top: .78;
  --photo-shade-bottom: .84;
}
.atmosphere {
  --section-photo: url("assets/vstup-1440.webp");
  --photo-shade-top: .74;
  --photo-shade-bottom: .82;
}
.home-saloon > div {
  --section-photo: url("assets/napoje-1440.webp");
  --photo-shade-top: .74;
  --photo-shade-bottom: .82;
}
.home-history {
  --section-photo: url("assets/route66-1440.webp");
}
.visit {
  --section-photo: url("assets/exterier-1440.webp");
  --photo-shade-top: .74;
  --photo-shade-bottom: .84;
}
.content-footer {
  --section-photo: url("assets/bar-1440.webp");
  --photo-shade-top: .8;
  --photo-shade-bottom: .85;
}
:is(.home-offer, .lunch-section, .atmosphere, .home-saloon > div,
    .home-history, .visit, body:not(.subpage) .content-footer) {
  background-color: #100c10;
  background-image: linear-gradient(to bottom,
    #100c10 0, transparent 90px, transparent calc(100% - 90px), #100c10 100%
  ), linear-gradient(
    rgb(10 8 12 / var(--photo-shade-top, .76)),
    rgb(10 8 12 / var(--photo-shade-bottom, .82))
  ), var(--section-photo);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* Shared edge color joins adjacent photographs without a hard divider. */
:is(.home-offer, .lunch-section, .atmosphere, .home-saloon,
    .home-history, .visit, body:not(.subpage) .content-footer) {
  border-block: 0;
}
.atmosphere::before { content: none; }
.home-saloon { position: relative; background: #100c10; }
.home-saloon > img { border-block: 0; }
.scene::after, .home-saloon::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to bottom,
    #100c10, transparent 90px, transparent calc(100% - 90px), #100c10);
}
.home-history h2 { margin-inline: auto; }
@media (max-width: 767px) {
  .home-offer { --section-photo: url("assets/sal-768.webp"); }
  .lunch-section { --section-photo: url("assets/boxy-768.webp"); }
  .atmosphere { --section-photo: url("assets/vstup-768.webp"); }
  .home-saloon > div { --section-photo: url("assets/napoje-768.webp"); }
  .home-history { --section-photo: url("assets/route66-768.webp"); }
  .visit { --section-photo: url("assets/exterier-768.webp"); }
  .content-footer { --section-photo: url("assets/bar-768.webp"); }
}

/* Yellow marquee bulbs frame the main titles, following the hand-drawn reference. */
:is(.hero h1, .story-copy h2, .atmosphere h2, .section-heading h2,
    .home-saloon h2, .home-history h2, .visit h2, .page-intro h1,
    .about-feature h2, .history-section h2, .news-now h2,
    .event-archive > h2, .menu-category h2, .panorama-heading h3) {
  --bulb-size: 8px;
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding: 24px 32px;
  overflow-wrap: anywhere;
}
:is(.hero h1, .story-copy h2, .atmosphere h2, .section-heading h2,
    .home-saloon h2, .home-history h2, .visit h2, .page-intro h1,
    .about-feature h2, .history-section h2, .news-now h2,
    .event-archive > h2, .menu-category h2, .panorama-heading h3)::after {
  content: "";
  position: absolute;
  inset: 0;
  border: var(--bulb-size) dotted #ffe637;
  border-radius: 3px;
  filter: drop-shadow(0 0 3px #ffd82b) drop-shadow(0 0 8px #ffb80080);
  pointer-events: none;
}
.hero h1, .visit h2 { margin-inline: auto; }
/* Draw the zoom mark geometrically so font metrics cannot shift its center. */
.photo-plus {
  font-size: 0;
  color: #fff;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.photo-plus::before, .photo-plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.photo-plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.site-header .header-contact {
  position: relative;
  border-color: transparent;
  box-shadow: none;
}
.site-header .header-contact::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 4px dotted #ffe637;
  border-radius: 2px;
  filter: drop-shadow(0 0 3px #ffd82b) drop-shadow(0 0 5px #ffb80080);
  pointer-events: none;
}
@media (max-width: 767px) {
  :is(.hero h1, .story-copy h2, .atmosphere h2, .section-heading h2,
      .home-saloon h2, .home-history h2, .visit h2, .page-intro h1,
      .about-feature h2, .history-section h2, .news-now h2,
      .event-archive > h2, .menu-category h2, .panorama-heading h3) {
    --bulb-size: 6px;
    padding: 18px 20px;
  }
}

/* SVG bulbs retain the static CSS frame as a no-script fallback. */
.marquee-ready::after { display: none; }
.marquee-lights {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  fill: #ffe637;
  filter: drop-shadow(0 0 3px #ffd82b) drop-shadow(0 0 8px #ffb80080);
}
.site-header .marquee-lights {
  filter: drop-shadow(0 0 3px #ffd82b) drop-shadow(0 0 5px #ffb80080);
}
.motion-reduced .marquee-lights circle { opacity: 1 !important; }

/* The walkthrough fills a row of bulbs from left to right. */
.journey-dock { border-top: 0; box-shadow: 0 -8px 24px #0006; }
.journey-progress { height: 8px; top: -4px; }
.journey-progress span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 12px;
  background: none;
  box-shadow: none;
  transform: none;
}
.journey-progress i {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #57451f;
  box-shadow: inset 0 0 0 1px #88703966;
  transition: background .15s, box-shadow .15s;
}
.journey-progress i.is-lit {
  background: #ffe637;
  box-shadow: 0 0 4px #ffd82b, 0 0 10px #ffb80099;
}


/* Classic fruit-machine symbols, arranged from Cougarmint's CC BY 3.0 pack. */
.site-header {
  background-color: #100b10;
  background-image: linear-gradient(180deg, #100a10df, #100a10eb 48%, #100a10df),
    url("assets/slots/header-pattern.svg");
  background-size: auto, 420px 132px;
  background-position: center, center;
  background-repeat: no-repeat, repeat;
}
.site-header nav a, .site-menu summary {
  text-shadow: 0 1px 4px #000, 0 0 10px #000;
}
@media (max-width: 767px) {
  .site-header { background-size: auto, 336px 106px; }
}

/* Required CC BY 3.0 credit for the header symbols, tucked away at the bottom of the site menu. */
.site-header .menu-panel .menu-credit { display: block; padding: 12px 0 4px; font-size: 10px; line-height: 1.5; color: #fff5e659; letter-spacing: 0; text-transform: none; }
.site-header .menu-panel .menu-credit a { display: inline; padding: 0; border: 0; color: inherit; text-decoration: underline; text-decoration-color: #fff5e633; }
