/* ==========================================================================
   THEME — inspirace restaurantzimmerl.at
   petrolejová + měď, verzálkové nadpisy, rozmazané záře, monogram v kruhu
   (načítá se po style.css a přepisuje ho)
   ========================================================================== */

body {
  font-family: var(--f-body);
  font-size: 19px;
  line-height: 1.65;
  background: var(--green-900);
  color: rgba(241, 235, 225, .86);
}

/* --- soft ambient glows behind everything --- */
.glow {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.glow i {
  position: absolute;
  width: 70vw;
  height: 70vw;
  border-radius: 50%;
  filter: blur(110px);
  opacity: .55;
  animation: drift 26s ease-in-out infinite alternate;
}
.glow i:nth-child(1) { left: -32vw; top: 10vh; background: radial-gradient(circle, #4a7a44 0%, transparent 65%); }
.glow i:nth-child(2) { right: -34vw; top: -12vh; background: radial-gradient(circle, #8c875f 0%, transparent 65%); animation-duration: 32s; animation-direction: alternate-reverse; }
.glow i:nth-child(3) { right: -24vw; bottom: -45vh; background: radial-gradient(circle, #3b6a55 0%, transparent 65%); animation-duration: 38s; opacity: .4; }
@keyframes drift {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(8vw, 12vh) scale(1.15); }
}
main, .footer { position: relative; z-index: 1; }
.grain { opacity: .05; }

/* sections let the glow breathe through */
.quote,
.hgallery,
.events,
.timeline-teaser,
.visit,
.footer,
.page-hero,
.imperial,
.atmo,
.teaser,
.choco,
.reviews,
.menu,
.story,
.contact { background: transparent; }

/* --- typography --- */
.display,
.title,
.cat__title,
.chapter__title,
.year__title,
.room__name,
.event__name,
.menu-card__title,
.feature__name,
.choco__big,
.page-hero__title {
  font-family: var(--f-display);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--gold);
}
.title { font-size: clamp(44px, 4vw, 72px); line-height: 1.08; }
.title--sm { font-size: clamp(36px, 3vw, 54px); }
.title em,
.display em,
.cat__title em,
.event__name em,
.feature__name em,
.menu-card__title em,
.on-paper .title em,
.on-paper .display em {
  text-transform: none;
  font-family: var(--f-serif);
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0;
  color: var(--cream);
}

.eyebrow,
.on-paper .eyebrow {
  font-family: var(--f-sans);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .1em;
  color: var(--gold);
}
.eyebrow::before,
.eyebrow::after { display: none; }

.lead,
.on-paper .lead { font-size: 21px; line-height: 1.65; color: rgba(241, 235, 225, .82); }

/* --- buttons: solid sage, copper caps --- */
.btn,
.btn--dark {
  background: var(--sage);
  border: 0;
  color: var(--gold-light);
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .12em;
  padding: 16px 26px;
}
.btn::before,
.btn--dark::before { background: var(--sage-light); }
.btn:hover,
.btn--dark:hover { color: var(--cream); }
.btn--small { padding: 12px 18px; font-size: 12px; }

/* --- monogram --- */
.mono {
  width: 80px;
  height: 80px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--f-display);
  font-size: 40px;
  line-height: 1;
  color: var(--gold);
  padding-top: 4px;
  background: transparent;
  transition: width .5s, height .5s, font-size .5s, background .4s, color .4s;
}
a.mono:hover { background: var(--gold); color: var(--green-900); }

/* --- navigation: monogram left, links right --- */
.nav { grid-template-columns: auto 1fr; padding-top: 20px; padding-bottom: 20px; }
.nav.is-scrolled { background: rgba(31, 45, 45, .88); padding-top: 12px; padding-bottom: 12px; border-bottom-color: rgba(211, 153, 105, .15); }
.nav.is-scrolled .mono { width: 58px; height: 58px; font-size: 29px; }
.nav__links { justify-content: flex-end; align-items: center; gap: 34px; }
.nav__link {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .1em;
  color: var(--gold);
}
.nav__link.is-active { color: var(--gold-light); }

/* --- hero wordmark --- */
.hero__title {
  font-family: var(--f-display);
  font-size: 10.5vw;
  letter-spacing: .06em;
  gap: .35em;
  text-transform: uppercase;
  color: var(--gold);
  text-shadow: 0 10px 60px rgba(0, 0, 0, .35);
}
.hero__title .t-left { font-family: var(--f-display); font-style: normal; font-weight: 400; color: var(--gold); }
.hero__tag { font-family: var(--f-body); font-style: normal; font-size: 20px; }
.hero__eyebrow { color: var(--gold-light); }
.hero__side { font-family: var(--f-sans); letter-spacing: .1em; font-size: 13px; }
.hero__side strong { color: var(--gold); font-weight: 400; }
.hero__scroll { font-family: var(--f-sans); letter-spacing: .2em; }
.hero__pattern { display: none; }

/* --- big number overlapping a photo (à la „23 Gänge“) --- */
.bignum {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: flex-end;
  gap: 16px;
  pointer-events: none;
  line-height: .8;
}
.bignum b {
  font-family: var(--f-display);
  font-weight: 400;
  font-size: 190px;
  color: var(--gold);
  letter-spacing: -.02em;
}
.bignum span {
  font-family: var(--f-display);
  font-size: 44px;
  text-transform: uppercase;
  color: var(--gold);
  padding-bottom: 4px;
}

/* --- vertical line with dots --- */
.dotline {
  position: absolute;
  width: 13px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.dotline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6px;
  width: 1px;
  background: var(--gold);
  transform-origin: top;
}
.dotline i {
  position: relative;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--gold);
}
.dotline i:first-child,
.dotline i:last-child { width: 13px; height: 13px; }

/* --- atmosphere: offset image + big number + dot line --- */
.atmo__facts { border-top-color: rgba(211, 153, 105, .3); }
.atmo__fact b { font-family: var(--f-display); color: var(--gold); font-size: 46px; }
.atmo__fact span { font-family: var(--f-sans); letter-spacing: .1em; color: rgba(241, 235, 225, .6); }
.atmo__img--main { border-radius: 0; box-shadow: none; }
.atmo__img--small { border: 0; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .5); }
.atmo .bignum { top: -80px; left: 8%; text-shadow: 0 6px 30px rgba(0, 0, 0, .45); }
.atmo { padding-bottom: 150px; }
.atmo .dotline { right: -50px; top: 60px; bottom: 200px; }
.atmo__badge { display: none; }

/* --- gallery frames --- */
.room__frame { border-radius: 0; }
.room:nth-child(3n+2) .room__frame { border-radius: 999px 999px 0 0; }
.room__frame::after { border-color: rgba(211, 153, 105, .35); }
.room__name { font-size: 30px; }
.room__num { font-family: var(--f-display); font-style: normal; font-size: 18px; }
.room__desc { font-family: var(--f-body); font-style: normal; font-size: 17px; }
.hgallery__hint { font-family: var(--f-sans); letter-spacing: .1em; }

/* --- imperial: big number over the bag --- */
.imperial__visual { height: 760px; }
.imperial__year {
  top: -30px;
  left: -10px;
  transform: none;
  z-index: 3;
  font-size: 190px;
  color: var(--gold);
  -webkit-text-stroke: 0;
  font-family: var(--f-display);
}
.imperial__bag { inset: 110px 0 0 10%; }
.imperial__list li { border-color: rgba(211, 153, 105, .25) !important; font-size: 20px; }
.imperial__list li span { font-family: var(--f-display); font-style: normal; font-size: 16px; }

/* --- menu card --- */
.menu-card { background: var(--surface-2); box-shadow: none; }
.menu-card::before { border-color: rgba(211, 153, 105, .55); }
.menu-card::after { border-color: rgba(211, 153, 105, .2); }
.menu-card__title { font-size: 34px; }
.menu-card .ornament { color: var(--gold); }
.mi__name { font-family: var(--f-body); font-size: 20px; color: var(--cream); }
.mi__note { font-family: var(--f-body); font-style: italic; font-size: 15px; color: rgba(241, 235, 225, .5); }
.mi__dots { border-bottom-color: rgba(211, 153, 105, .35); }
.mi__price { font-family: var(--f-display); color: var(--gold); font-size: 21px; }
.cake { background: #f1ebe1; }
.cake figcaption { font-family: var(--f-body); font-size: 16px; color: #3a3a33; }

/* --- events --- */
.event__name { font-size: 36px; color: var(--cream); }
.event__name em { color: var(--gold); }
.event__num { font-family: var(--f-display); font-style: normal; font-size: 16px; }
.event__type { font-family: var(--f-sans); letter-spacing: .1em; }
.event::before { background: var(--sage); }
.event:hover .event__name,
.event:hover .event__name em,
.event:hover .event__num,
.event:hover .event__type { color: var(--gold-light); }
.marquee__item { font-family: var(--f-display); text-transform: uppercase; font-size: 64px; color: var(--gold); }
.marquee__item em { color: var(--cream); text-transform: none; }
.marquee__item svg { fill: var(--sage-light); }

/* --- chocolate --- */
.choco__big { font-size: 10vw; color: var(--gold); letter-spacing: .04em; }
.choco__big em { color: var(--cream); }
.choco__img { border-radius: 0; }
.choco__info { border-left-color: rgba(211, 153, 105, .3); }
.choco__info dt { font-family: var(--f-sans); letter-spacing: .1em; color: var(--gold); font-size: 13px; }
.choco__info dd { font-size: 20px; color: var(--cream); }
.choco__info a { border-bottom-color: var(--gold); }

/* --- history teaser: copper dots --- */
.year__num { font-family: var(--f-display); color: var(--gold); font-size: 120px; }
.year__dot { border-radius: 50%; transform: none; background: var(--gold); border: 0; width: 13px; height: 13px; }
.year__title { color: var(--cream); font-size: 24px; }
.year__text { font-size: 18px; }

/* --- reviews --- */
.review { background: var(--surface-2); }
.review::before { border-color: rgba(211, 153, 105, .25); }
.review__mark { color: var(--gold); }
.review__text { font-family: var(--f-body); font-style: italic; font-size: 19px; color: rgba(241, 235, 225, .8); }
.review__name { font-family: var(--f-sans); letter-spacing: .1em; color: var(--gold); border-top-color: rgba(211, 153, 105, .25); }

/* --- hours table in wide caps --- */
.hours__row { border-bottom-color: rgba(211, 153, 105, .18); }
.hours__row span:first-child,
.hours__row b {
  font-family: var(--f-sans);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 18px;
  color: var(--gold);
}
.hours__row span:first-child { color: rgba(241, 235, 225, .75); }
.hours__row i { border-bottom-color: rgba(211, 153, 105, .25); }
.hours__row.is-today span:first-child,
.hours__row.is-today b { color: var(--gold-light); }
.status { font-family: var(--f-sans); letter-spacing: .1em; }
.map iframe { filter: invert(.92) hue-rotate(180deg) grayscale(.5) sepia(.25) saturate(.8) brightness(.85) contrast(.95); }

/* --- welcome card with monogram on its top edge --- */
.welcome {
  position: relative;
  max-width: none;
  margin: 40px auto 0;
  background: var(--surface-2);
  padding: 110px 60px 100px;
  text-align: center;
}
.welcome .mono {
  position: absolute;
  top: -40px;
  left: 50%;
  margin-left: -40px;
  background: var(--green-900);
}
.welcome .title { font-size: clamp(40px, 3.6vw, 62px); margin-bottom: 30px; }
.welcome__addr { font-size: 19px; line-height: 1.5; color: rgba(241, 235, 225, .8); margin-bottom: 40px; }
.welcome__hours {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 4px 40px;
  text-align: left;
  font-family: var(--f-sans);
  font-size: 19px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 44px;
}
.welcome__actions { display: flex; justify-content: center; gap: 14px; }

/* --- minimal footer --- */
.footer { padding: 120px var(--pad) 50px; }
.footer__min {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
  margin-top: 110px;
  font-size: 17px;
  line-height: 1.6;
  color: rgba(241, 235, 225, .75);
}
.footer__min > div:nth-child(2) { text-align: center; }
.footer__min > div:nth-child(3) { text-align: right; }
.footer__min ul { list-style: none; }
.footer__min li { font-size: 17px; line-height: 1.6; }
.footer__min a:hover { color: var(--gold-light); }
.footer__word {
  font-family: var(--f-display);
  font-size: 38px;
  letter-spacing: .1em;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 14px;
}
.footer__min .footer__social { margin-top: 22px; }
.footer__social a { border-color: rgba(211, 153, 105, .4); }
.footer__social svg { fill: var(--gold); }
.footer__bottom { font-family: var(--f-sans); letter-spacing: .08em; margin-top: 70px; color: rgba(241, 235, 225, .35); }

/* --- sub pages --- */
.page-hero__title { font-size: clamp(80px, 7.5vw, 150px); line-height: 1; }
.page-hero__arch { border-radius: 0; }
.page-hero__arch::after { border: 1px solid rgba(211, 153, 105, .45); }
.page-hero__scroll { font-family: var(--f-sans); letter-spacing: .1em; }

.menu__nav h3 { font-family: var(--f-sans); letter-spacing: .1em; color: var(--gold); font-size: 13px; }
.menu__nav ol { border-left-color: rgba(211, 153, 105, .25); }
.menu__nav ol a { font-family: var(--f-body); font-size: 20px; color: rgba(241, 235, 225, .5); }
.menu__nav ol a span { font-family: var(--f-display); font-style: normal; font-size: 13px; color: var(--gold); }
.menu__nav ol a:hover,
.menu__nav ol a.is-active { color: var(--cream); }
.menu__nav ol a::before { background: var(--gold); }
.cat__head { border-bottom-color: rgba(211, 153, 105, .55); }
.cat__head::after { background: rgba(211, 153, 105, .2); }
.cat__num { font-family: var(--f-display); font-style: normal; font-size: 22px; color: var(--gold); }
.cat__title { font-size: 72px; }
.cat__icon { background: var(--gold) !important; opacity: .8; }
.cat .mi { border-bottom-color: rgba(211, 153, 105, .12); }
.cat .mi__name,
.cat .mi__price { font-size: 22px; }
.cat__aside { border-radius: 0; }
.feature { background: var(--sage); }
.feature::before { border-color: rgba(233, 191, 152, .35); }
.feature__label { font-family: var(--f-sans); letter-spacing: .1em; color: var(--gold-light); }
.feature__name,
.feature__price { color: var(--gold-light); }
.feature__price { font-family: var(--f-display); }
.menu-band__text p { font-family: var(--f-display); font-style: normal; font-weight: 400; text-transform: uppercase; font-size: 52px; color: var(--gold); }
.menu-band__text > span { font-family: var(--f-sans); letter-spacing: .1em; }
.menu-band::after { background: linear-gradient(90deg, rgba(23, 34, 34, .85), rgba(23, 34, 34, .15)); }

.story__line { background: rgba(211, 153, 105, .18); }
.story__line i { background: var(--gold); }
.chapter__dot { border-radius: 50%; transform: none; background: var(--gold); border: 0; width: 13px; height: 13px; margin: -6px 0 0 -6px; }
.chapter__year { font-family: var(--f-display); color: var(--gold); font-size: 190px; }
.chapter__year em { font-family: var(--f-display); font-style: normal; font-weight: 400; color: var(--cream); }
.chapter__label { font-family: var(--f-sans); letter-spacing: .1em; color: var(--gold); font-size: 14px; }
.chapter__title { font-size: 46px; }
.chapter__text { font-size: 19px; color: rgba(241, 235, 225, .78); }

.contact__card { border-right-color: rgba(211, 153, 105, .2); }
.contact__card h3 { font-family: var(--f-sans); letter-spacing: .1em; color: var(--gold); font-size: 13px; }
.contact__big { font-family: var(--f-display); font-size: 34px; color: var(--cream); }
a.contact__big:hover { color: var(--gold); }
.contact__card p { color: rgba(241, 235, 225, .75); }
.contact__card .hours__row b,
.contact__card .hours__row.is-today b,
.contact__card .hours__row.is-today span:first-child { color: var(--gold); }
.contact__card .status { color: rgba(241, 235, 225, .75); }

/* --- cursor, preloader, curtain --- */
.cursor__dot { background: var(--gold); }
.cursor__ring { border-color: var(--gold); }
.cursor.is-view .cursor__ring { background: var(--gold); border-color: var(--gold); }
/* ==========================================================================
   Revize 2 — bílé nadpisy v jednom fontu, bez Cormorantu, nové tlačítko
   ========================================================================== */

/* --- headings: white, one font, accent words only change colour --- */
.display,
.title,
.cat__title,
.chapter__title,
.year__title,
.room__name,
.event__name,
.menu-card__title,
.feature__name,
.choco__big,
.page-hero__title,
.hero__title,
.hero__title .t-left,
.welcome .title,
.menu-band__text p,
.marquee__item,
.contact__big,
.mi__name { color: var(--white); }

.title em,
.display em,
.cat__title em,
.event__name em,
.feature__name em,
.menu-card__title em,
.choco__big em,
.page-hero__title em,
.marquee__item em,
.on-paper .title em,
.on-paper .display em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: var(--gold);
}

/* quote: same uppercase display face as the headings */
.quote__text {
  font-family: var(--f-display);
  font-style: normal;
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(46px, 4.4vw, 84px);
  line-height: 1.12;
  letter-spacing: .02em;
  color: var(--white);
}
.quote__mark,
.review__mark { font-family: var(--f-display); color: var(--gold); }
.quote__mark { font-size: 180px; height: 80px; }

/* --- preloader: Federo, lining figures --- */
.preloader__mono text {
  fill: var(--gold);
  font-family: var(--f-sans);
  font-style: normal;
  font-size: 50px;
}
.preloader__name { font-family: var(--f-sans); letter-spacing: .3em; color: var(--white); opacity: .8; }
.preloader__count {
  font-family: var(--f-sans);
  font-size: 72px;
  letter-spacing: .08em;
  color: rgba(211, 153, 105, .35);
}

/* --- buttons: centred label, soft fill + looping arrow on hover --- */
.btn,
.btn--dark {
  justify-content: center;
  gap: 14px;
  line-height: 1;
  padding: 18px 28px 14px;
  color: var(--white);
  transition: color .45s var(--ease-out);
}
.btn--small { padding: 16px 22px 12px; }

/* fill sweeps in from the left… */
.btn::before,
.btn--dark::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--sage-light);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .7s var(--ease-out);
}
.btn:hover,
.btn--dark:hover { background: var(--sage); color: var(--white); box-shadow: none; }
.btn:hover::before,
.btn--dark:hover::before { transform: scaleX(1); transform-origin: left center; }

/* …while the label rolls up and a copy rolls in from below */
/* tall enough for Czech accents above the caps; the copy waits a full line below */
.btn__label {
  display: inline-block;
  overflow: hidden;
  height: 1.8em;
  line-height: 1.8em;
  margin: -.25em 0;
}
.btn__label > span {
  display: block;
  position: relative;
  transition: transform .65s var(--ease-out);
}
.btn__label > span::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 100%;
}
.btn:hover .btn__label > span { transform: translateY(-100%); }

.btn__arrow {
  display: inline-block;
  line-height: 1;
  transform: translateY(-1px);
}
.btn:hover .btn__arrow {
  transform: translateY(-1px);
  animation: arrow-loop .7s var(--ease-out);
}
@keyframes arrow-loop {
  0%   { transform: translate(0, -1px); opacity: 1; }
  45%  { transform: translate(16px, -1px); opacity: 0; }
  46%  { transform: translate(-16px, -1px); opacity: 0; }
  100% { transform: translate(0, -1px); opacity: 1; }
}

/* ==========================================================================
   Revize 3
   ========================================================================== */

/* headings stay one colour (white) — only the events keep their copper accent */
.title em,
.display em,
.cat__title em,
.feature__name em,
.menu-card__title em,
.choco__big em,
.page-hero__title em,
.marquee__item em,
.on-paper .title em,
.on-paper .display em { color: inherit; }
.event__name em { color: var(--gold); }

/* eyebrows, nav, labels: Newsreader (same as body text) */
.eyebrow,
.on-paper .eyebrow {
  font-family: var(--f-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nav__link { font-weight: 500; letter-spacing: .14em; }
.btn,
.btn--dark { font-weight: 600; letter-spacing: .16em; }

/* prices: lining figures instead of Marcellus' old-style digits */
.mi__price,
.feature__price {
  font-family: var(--f-sans);
  font-weight: 500;
  letter-spacing: .04em;
  font-variant-numeric: lining-nums tabular-nums;
}
.mi__price,
.cat .mi__price { font-size: 19px; }
.feature__price { font-size: 46px; }

/* coffee bean instead of the stars in the marquee */
.marquee__item svg.bean {
  width: 22px;
  height: 30px;
  fill: none;
  stroke: var(--gold);
  stroke-width: 1.4;
}

/* director avatar next to the quote */
.quote__author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
.quote__avatar {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid var(--gold);
  overflow: hidden;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.quote__avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.quote__avatar i {
  font-family: var(--f-display);
  font-style: normal;
  font-size: 20px;
  letter-spacing: .06em;
  color: var(--gold);
}
.quote__who { text-align: left; }
.quote__who span { display: block; margin: 4px 0 0; }

/* timeline wave runs straight through the dots (dot centre = 120 + 30 + 6.5) */
.year__num { line-height: 1; }
.years__line { top: 136.5px; }

/* hero: original CAFE BAJER logo */
.hero__logo {
  width: 34vw;
  max-width: 660px;
  line-height: 0;
  transform-origin: center center;
}
.hero__logo img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 12px 40px rgba(0, 0, 0, .45));
}

/* chocolate shop: storefront photo, quarter-arc crop + corner flourish */
.choco__photo { position: relative; }
.choco__img {
  height: 640px;
  border-radius: 80% 0 0 0 / 62% 0 0 0;
}
.choco__flourish {
  position: absolute;
  top: -46px;
  right: -46px;
  width: 132px;
  height: 132px;
  background: var(--gold);
  -webkit-mask: url(../assets/img/kirvka.svg) center / contain no-repeat;
  mask: url(../assets/img/kirvka.svg) center / contain no-repeat;
  pointer-events: none;
}

/* footer credit — text only, right side of the bottom row, no underline */
.footer__bottom { align-items: center; }
.footer__credit {
  margin-left: auto;
  font-family: var(--f-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(251, 248, 242, .55);
  transition: color .4s;
}
.footer__credit:hover { color: var(--white); }

/* ==========================================================================
   Revize 4 — původní logo CAFE BAJER uprostřed navigace
   ========================================================================== */
.nav { grid-template-columns: 1fr auto 1fr; }
.nav__links--left { justify-content: flex-start; }
.nav__links--right { justify-content: flex-end; }
.nav__logo {
  display: block;
  line-height: 0;
  padding: 0 40px;
}
.nav__logo img {
  height: 66px;
  width: auto;
  transition: height .5s var(--ease-out), opacity .3s;
}
.nav__logo:hover img { opacity: .82; }
.nav.is-scrolled .nav__logo img { height: 46px; }

/* ==========================================================================
   Revize 5 — výkon (plynulý scroll)
   ========================================================================== */

/* glows: the radial gradients are already soft — drop the costly blur filter
   and keep the drift on the compositor */
.glow i {
  filter: none;
  opacity: .42;
  will-change: transform;
}

/* grain: static, viewport-sized layer instead of an animated 4× canvas */
.grain {
  inset: 0;
  animation: none;
  opacity: .045;
}

/* cursor: no full-page blend mode */
.cursor { mix-blend-mode: normal; will-change: transform; }
.cursor__dot,
.cursor__ring { will-change: transform; }

/* nav: solid tint instead of backdrop blur over the video */
.nav.is-scrolled {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(27, 41, 41, .96);
}

/* hero: promote the animated layers */
.hero__media { will-change: clip-path; transform: translateZ(0); }
.hero__video,
.hero__title span { will-change: transform; }
.hero__title { text-shadow: none; }

/* nav without border */
.nav,
.nav.is-scrolled { border-bottom: 0; }

/* ==========================================================================
   Revize 6 — elegantnější tlačítka, rámeček vítací karty, bez eyebrows
   ========================================================================== */

/* eyebrows hidden for now (kept in markup) */
.eyebrow { display: none !important; }

/* --- buttons: slimmer type, wider tracking, hairline arrow --- */
.btn,
.btn--dark {
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .26em;
  padding: 19px 32px 16px;
  gap: 18px;
}
.btn--small { padding: 16px 24px 13px; font-size: 11px; }

/* hairline arrow drawn in CSS — grows on hover */
.btn__arrow {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 9px;
  font-size: 0;
  color: inherit;
  transform: translateY(-1px);
  transition: width .6s var(--ease-out);
}
.btn__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 1px;
  top: 50%;
  height: 1px;
  background: currentColor;
}
.btn__arrow::after {
  content: "";
  position: absolute;
  right: 1px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btn:hover .btn__arrow {
  width: 34px;
  animation: none;
  transform: translateY(-1px);
}

/* secondary: transparent with a hairline frame */
.btn--ghost {
  background: transparent;
  color: var(--white);
  box-shadow: inset 0 0 0 1px rgba(251, 248, 242, .32);
  transition: color .45s var(--ease-out), box-shadow .45s var(--ease-out);
}
.btn--ghost::before { background: rgba(251, 248, 242, .08); }
.btn--ghost:hover {
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(251, 248, 242, .7);
}

/* light: white button, dark label */
.btn--light {
  background: var(--white);
  color: var(--green-900);
}
.btn--light::before { background: var(--gold-light); }
.btn--light:hover { background: var(--white); color: var(--green-900); }

/* --- welcome: no fill, double hairline frame with ornamental corners --- */
.welcome {
  background: transparent;
  box-shadow:
    inset 0 0 0 1px rgba(211, 153, 105, .45),
    inset 0 0 0 9px transparent,
    inset 0 0 0 10px rgba(211, 153, 105, .18);
}
.welcome .mono { background: var(--green-900); }
.welcome__corner {
  position: absolute;
  width: 74px;
  height: 74px;
  background: var(--gold);
  -webkit-mask: url(../assets/img/kirvka.svg) center / contain no-repeat;
  mask: url(../assets/img/kirvka.svg) center / contain no-repeat;
  pointer-events: none;
}
/* kirvka.svg is drawn as a top-right corner */
.welcome__corner--tr { top: 18px; right: 18px; }
.welcome__corner--tl { top: 18px; left: 18px; transform: scaleX(-1); }
.welcome__corner--br { bottom: 18px; right: 18px; transform: scaleY(-1); }
.welcome__corner--bl { bottom: 18px; left: 18px; transform: scale(-1, -1); }

/* welcome frame: true double hairline */
.welcome {
  box-shadow: none;
  border: 1px solid rgba(211, 153, 105, .45);
  outline: 1px solid rgba(211, 153, 105, .2);
  outline-offset: -11px;
}

/* visit section: real photo in an arch frame (old cut-out PNG replaced) */
.visit__img {
  overflow: hidden;
  border-radius: 999px 999px 0 0;
}
.visit__img img {
  object-fit: cover;
  object-position: center;
}
.visit__img::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(233, 191, 152, .45);
  border-bottom: 0;
  border-radius: inherit;
  pointer-events: none;
}

/* ==========================================================================
   Revize 7 — fotky a video bez filtrů
   ========================================================================== */
.grain { display: none; }

/* hero video: no darkening/vignette; the type carries its own soft shadow */
.hero__media::after { display: none; }
.hero__title,
.hero__tag,
.hero__scroll { text-shadow: 0 2px 24px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .35); }

/* gallery photos in their true colours */
.room__frame img,
.room:hover .room__frame img { filter: none; }

/* menu band: only a light scrim under the text on the left */
.menu-band::after { background: linear-gradient(90deg, rgba(23, 34, 34, .62) 0%, rgba(23, 34, 34, .25) 45%, transparent 70%); }
.menu-band__text p { text-shadow: 0 2px 20px rgba(0, 0, 0, .4); }

/* nav over the unfiltered video: legible without darkening the footage */
.nav:not(.is-scrolled) .nav__link { color: var(--white); text-shadow: 0 1px 14px rgba(0, 0, 0, .6), 0 1px 2px rgba(0, 0, 0, .45); }
.nav:not(.is-scrolled) .nav__link.is-active { color: var(--gold-light); }
.nav:not(.is-scrolled) .nav__logo img { filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .45)); }
.nav:not(.is-scrolled) .nav__burger i { box-shadow: 0 1px 6px rgba(0, 0, 0, .5); }

/* marquee: full viewport width, breaking out of the section padding */
.marquee {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* reviews: draggable / swipeable row */
.reviews__row[data-drag] {
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.reviews__row.is-dragging { cursor: grabbing; }
