/* Seasonal page styles, isolated from the main site. */
.wild-body { background: #e9e2d4; }
.wild-header { background: rgba(0,55,39,.92); }
.wild-page { overflow: hidden; color: #e9e2d4; background: #092d23; }
.wild-gold { color: #e0ae5a; }

.wild-hero {
  position: relative;
  min-height: min(920px, 100svh);
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 33%, rgba(195,137,51,.18), transparent 23%),
    linear-gradient(115deg, #06271e 0%, #07382a 48%, #09291f 100%);
}
.wild-forest {
  position: absolute;
  inset: 0;
  opacity: .35;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(4,25,19,.7) 8.2% 9.5%, transparent 9.7% 18%, rgba(4,25,19,.55) 18.2% 20%, transparent 20.2%),
    radial-gradient(ellipse at 8% 0, #56705c 0 2%, transparent 2.2%),
    radial-gradient(ellipse at 18% 4%, #476750 0 4%, transparent 4.2%),
    radial-gradient(ellipse at 89% 1%, #60775f 0 4%, transparent 4.2%),
    radial-gradient(ellipse at 77% 2%, #49634e 0 3%, transparent 3.2%);
  mask-image: linear-gradient(to bottom, #000, transparent 80%);
}
.wild-forest::after {
  content: "";
  position: absolute;
  inset: auto -10% -22% -10%;
  height: 48%;
  border-radius: 50% 50% 0 0;
  background: #041f18;
  box-shadow: 0 -35px 120px rgba(0,0,0,.24);
}
.wild-hero-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(350px,.62fr);
  align-items: center;
  gap: clamp(50px,7vw,120px);
  padding-block: 135px 80px;
}
.wild-hero-copy { max-width: 770px; }
.wild-hero h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(74px,8vw,132px);
  font-weight: 500;
  line-height: .78;
  letter-spacing: -.065em;
}
.wild-hero h1 span { display: block; color: #f4efe5; }
.wild-lead { max-width: 660px; margin: 38px 0 0; color: rgba(244,239,229,.68); font-size: 17px; line-height: 1.75; }
.wild-date-row { display: flex; align-items: center; gap: 16px; margin-top: 38px; color: #f4efe5; }
.wild-date-day { font-family: var(--serif); font-size: clamp(50px,4vw,68px); line-height: 1; }
.wild-date-dash { width: 32px; color: #d9a34c; overflow: hidden; }
.wild-date-meta { display: flex; flex-direction: column; padding-left: 20px; border-left: 1px solid rgba(244,239,229,.28); }
.wild-date-meta strong { font-family: var(--serif); font-size: 24px; font-weight: 500; }
.wild-date-meta small { margin-top: 5px; color: #ddbc7e; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.wild-actions { display: flex; align-items: center; gap: 30px; margin-top: 42px; }
.wild-button { color: #173426; background: #e0ae5a; box-shadow: 0 12px 40px rgba(0,0,0,.18); }
.wild-button:hover { color: #fff; background: #bd8128; }
.wild-text-link { display: inline-flex; align-items: center; gap: 15px; padding-block: 8px; border-bottom: 1px solid rgba(244,239,229,.35); color: #f4efe5; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.wild-text-link span { color: #dfaf5c; font-size: 18px; transition: transform 180ms ease; }
.wild-text-link:hover span { transform: translateY(4px); }

.wild-fireflies { position: absolute; inset: 0; pointer-events: none; }
.wild-fireflies i { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #f1c977; box-shadow: 0 0 13px 5px rgba(241,201,119,.23); animation: firefly 5s ease-in-out infinite; }
.wild-fireflies i:nth-child(1) { left: 10%; top: 25%; animation-delay: -1s; }
.wild-fireflies i:nth-child(2) { left: 19%; top: 70%; animation-delay: -3s; }
.wild-fireflies i:nth-child(3) { left: 37%; top: 17%; animation-delay: -2s; }
.wild-fireflies i:nth-child(4) { left: 52%; top: 65%; animation-delay: -.5s; }
.wild-fireflies i:nth-child(5) { left: 67%; top: 24%; animation-delay: -4s; }
.wild-fireflies i:nth-child(6) { left: 78%; top: 77%; animation-delay: -2.5s; }
.wild-fireflies i:nth-child(7) { left: 90%; top: 36%; animation-delay: -1.8s; }
.wild-fireflies i:nth-child(8) { left: 58%; top: 44%; animation-delay: -3.6s; }
.wild-fireflies i:nth-child(9) { left: 28%; top: 49%; animation-delay: -4.6s; }
.wild-scroll { position: absolute; z-index: 3; left: 40px; bottom: 35px; display: flex; align-items: center; gap: 12px; color: rgba(244,239,229,.35); font-size: 8px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.wild-scroll span { width: 42px; height: 1px; overflow: hidden; background: rgba(244,239,229,.18); }
.wild-scroll span::after { content: ""; display: block; width: 18px; height: 100%; background: #dba74e; animation: wild-scroll 2s ease-in-out infinite; }

.wild-intro { color: #19352a; background: #e9e2d4; }
.wild-intro-grid { display: grid; grid-template-columns: .18fr .9fr .72fr; gap: clamp(40px,6vw,90px); align-items: start; }
.wild-section-number { margin: 3px 0 0; color: #b5873d; font-family: var(--serif); font-size: 22px; }
.wild-intro h2 { color: #103528; font-size: clamp(52px,5.5vw,80px); }
.wild-intro-copy { padding-top: 42px; color: #58675f; font-size: 16px; line-height: 1.8; }
.wild-intro-copy p { margin: 0 0 18px; }
.wild-note { display: inline-block; margin-top: 15px; padding: 12px 16px; color: #795826; border: 1px solid rgba(145,100,38,.28); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.wild-menu { position: relative; scroll-margin-top: 100px; color: #f0e8da; background: #092f24; }
.wild-menu::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: repeating-linear-gradient(120deg, transparent 0 48px, rgba(255,255,255,.09) 49px, transparent 50px); }
.wild-menu .wrap { position: relative; z-index: 2; }
.wild-menu-heading { display: grid; grid-template-columns: 1fr .52fr; align-items: end; gap: 70px; margin-bottom: 42px; }
.wild-menu-heading h2 { font-size: clamp(55px,6vw,84px); }
.wild-menu-heading > p { max-width: 390px; margin: 0 0 8px; color: rgba(239,232,218,.56); line-height: 1.7; }
.wild-menu-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 64px; }
.wild-menu-nav a { padding: 12px 18px; border: 1px solid rgba(224,174,90,.35); border-radius: 2px; color: #e0ae5a; font-size: 12px; font-weight: 600; transition: background 180ms ease,color 180ms ease; }
.wild-menu-nav a:hover { color: #173426; background: #e0ae5a; }
.wild-menu-nav a:focus-visible { outline: 2px solid #e0ae5a; outline-offset: 4px; }
.wild-category { scroll-margin-top: 110px; }
.wild-category + .wild-category { margin-top: 64px; }
.wild-category-heading { display: flex; align-items: baseline; gap: 20px; margin-bottom: 24px; }
.wild-category-heading > span { color: #e0ae5a; font: 500 16px var(--serif); }
.wild-category-heading h3 { margin: 0; font: 500 clamp(32px,3.5vw,46px)/1.1 var(--serif); }
.wild-dishes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(239,232,218,.16); }
.wild-dish { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; align-items: start; padding: 28px 28px 28px 0; border-bottom: 1px solid rgba(239,232,218,.16); transition: background 220ms ease; }
.wild-dish:nth-child(odd) { border-right: 1px solid rgba(239,232,218,.16); }
.wild-dish:nth-child(even) { padding-left: 34px; }
.wild-dish:hover { background: rgba(219,169,83,.06); }
.wild-dish small { color: #e0ae5a; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.wild-dish h4 { margin: 8px 0; font-family: var(--serif); font-size: clamp(24px,2.1vw,30px); font-weight: 500; line-height: 1.18; }
.wild-dish p { margin: 0; color: rgba(239,232,218,.75); font-size: 14px; line-height: 1.7; }
.wild-dish > strong { padding-top: 28px; color: #dfae5c; font-size: 15px; white-space: nowrap; }
.wild-category-compact .wild-dish h4 { font-size: 24px; }
.wild-deer-run { position: absolute; z-index: 1; right: -280px; top: 35px; width: 280px; color: rgba(212,164,79,.18); animation: deer-cross 18s linear infinite; }
.wild-deer-run svg { width: 100%; fill: currentColor; }
.wild-deer-run svg path:last-child { fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 6; }

.wild-reservation { position: relative; overflow: hidden; padding-block: 120px; color: #17392c; background: #d8a752; }
.wild-reservation-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .72fr; align-items: center; gap: 90px; }
.wild-reservation .wild-gold { color: #16402f; opacity: .75; }
.wild-reservation h2 { font-size: clamp(58px,6.5vw,92px); }
.wild-reservation-copy { max-width: 490px; }
.wild-reservation-copy > p { margin: 0 0 28px; font-size: 17px; line-height: 1.75; }
.wild-button-light { color: #fff; background: #0a4936; box-shadow: none; }
.wild-button-light:hover { color: #17392c; background: #f5eee2; }
.wild-reservation-copy small { display: block; margin-top: 17px; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.wild-reservation-rings { position: absolute; right: -8%; top: 50%; width: 600px; aspect-ratio: 1; border: 1px solid rgba(18,68,49,.14); border-radius: 50%; transform: translateY(-50%); }
.wild-reservation-rings::before,.wild-reservation-rings::after { content: ""; position: absolute; border: 1px solid rgba(18,68,49,.13); border-radius: 50%; }
.wild-reservation-rings::before { inset: 70px; }
.wild-reservation-rings::after { inset: 145px; }
.wild-footer { background: #041f18; }

[data-wild-reveal] { opacity: 0; transform: translateY(30px); transition: opacity 750ms ease,transform 750ms cubic-bezier(.2,.8,.2,1); }
[data-wild-reveal].is-visible { opacity: 1; transform: none; }

@keyframes firefly {
  0%,100% { opacity: .2; transform: translate(0,0) scale(.7); }
  45% { opacity: 1; transform: translate(17px,-21px) scale(1); }
  75% { opacity: .4; transform: translate(-8px,-33px) scale(.8); }
}
@keyframes wild-scroll {
  0% { transform: translateX(-20px); }
  100% { transform: translateX(46px); }
}
@keyframes deer-cross {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-100vw - 560px)); }
}



@media (max-width: 1100px) {
  .wild-hero-grid { grid-template-columns: minmax(0,1fr) 330px; gap: 45px; }
  .wild-hero h1 { font-size: 85px; }
  .wild-intro-grid { grid-template-columns: .12fr 1fr .72fr; gap: 40px; }
  .wild-menu-heading { grid-template-columns: 1fr .6fr; }
}

@media (max-width: 820px) {
  .wild-header { backdrop-filter: none; }
  .wild-hero { min-height: 0; }
  .wild-hero-grid { grid-template-columns: 1fr; gap: 60px; padding-block: 95px 80px; }
  .wild-hero-copy { padding-top: 25px; }
  .wild-hero h1 { font-size: clamp(68px,17vw,108px); }
  .wild-lead { font-size: 15px; }
  .wild-scroll { display: none; }
  .wild-intro-grid { grid-template-columns: 40px 1fr; gap: 24px; }
  .wild-intro-copy { grid-column: 2; padding-top: 8px; }
  .wild-menu-heading { grid-template-columns: 1fr; gap: 25px; }
  .wild-menu-heading > p { max-width: 520px; }
  .wild-dishes { grid-template-columns: 1fr; }
  .wild-dish { padding-right: 0; }
  .wild-dish:nth-child(odd) { border-right: 0; }
  .wild-dish:nth-child(even) { padding-left: 0; }
  .wild-reservation-grid { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 540px) {
  .wild-hero-grid { padding-top: 76px; }
  .wild-hero h1 { font-size: 63px; }
  .wild-date-row { gap: 9px; }
  .wild-date-day { font-size: 43px; }
  .wild-date-dash { width: 17px; }
  .wild-date-meta { padding-left: 11px; }
  .wild-date-meta strong { font-size: 19px; }
  .wild-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .wild-intro-grid { grid-template-columns: 1fr; }
  .wild-section-number { display: none; }
  .wild-intro-copy { grid-column: auto; }
  .wild-menu-heading h2 { font-size: 49px; }
  .wild-menu-nav { gap: 8px; margin-bottom: 44px; }
  .wild-menu-nav a { padding: 10px 13px; font-size: 11px; }
  .wild-category + .wild-category { margin-top: 48px; }
  .wild-category-heading { gap: 14px; margin-bottom: 20px; }
  .wild-dish { gap: 16px; padding-block: 24px; }
  .wild-dish > strong { font-size: 14px; }
  .wild-dish h4,.wild-category-compact .wild-dish h4 { font-size: 23px; }
  .wild-reservation { padding-block: 85px; }
  .wild-reservation h2 { font-size: 55px; }
}

@media (prefers-reduced-motion: reduce) {
  .wild-fireflies i,.wild-scroll span::after,.wild-deer-run { animation: none !important; }
  [data-wild-reveal] { opacity: 1; transform: none; }
}

/* Zvěřinové hody — forest takeover */
.wild-hero {
  min-height: max(820px,100svh);
  isolation: isolate;
  background: #031a14;
}
.wild-forest {
  position: absolute;
  z-index: 0;
  inset: -3%;
  opacity: 1;
  background: url("/assets/wild-forest-hero-v1.png") center 48% / cover no-repeat;
  mask-image: none;
  transform: translate3d(var(--forest-x,0),var(--forest-y,0),0) scale(1.06);
  animation: wild-forest-breathe 18s ease-in-out infinite alternate;
  transition: transform 800ms cubic-bezier(.2,.8,.2,1);
}
.wild-forest::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 29%, rgba(208,151,70,.18), transparent 22%),
    linear-gradient(90deg, rgba(0,20,14,.82), rgba(0,38,27,.28) 29%, rgba(0,35,25,.34) 72%, rgba(0,20,14,.84)),
    linear-gradient(0deg, rgba(0,24,17,.92) 0%, rgba(0,38,27,.2) 42%, rgba(0,22,16,.45) 100%);
}
.wild-forest::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 36%;
  border-radius: 0;
  background: linear-gradient(0deg,#031d16 0%,rgba(3,29,22,.72) 38%,transparent 100%);
  box-shadow: none;
}
.wild-canopy {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at -2% 3%,rgba(1,17,12,.95) 0 18%,transparent 42%),
    radial-gradient(ellipse at 102% 2%,rgba(1,17,12,.95) 0 18%,transparent 42%),
    repeating-linear-gradient(96deg,transparent 0 12%,rgba(1,18,13,.42) 12.4% 13.2%,transparent 13.6% 24%);
  mix-blend-mode: multiply;
}
.wild-canopy::before,.wild-canopy::after {
  content: "";
  position: absolute;
  top: -6%;
  width: 43%;
  height: 45%;
  opacity: .62;
  background:
    radial-gradient(ellipse at 15% 22%,#031d16 0 8%,transparent 8.5%),
    radial-gradient(ellipse at 35% 12%,#05251b 0 11%,transparent 11.5%),
    radial-gradient(ellipse at 60% 8%,#041f17 0 12%,transparent 12.5%),
    radial-gradient(ellipse at 82% 25%,#031d16 0 10%,transparent 10.5%);
  filter: blur(2px);
}
.wild-canopy::before { left: -4%; transform: rotate(-8deg); }
.wild-canopy::after { right: -4%; transform: scaleX(-1) rotate(-8deg); }
.wild-mist { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.wild-mist i { position: absolute; left: -35%; width: 170%; height: 110px; border-radius: 50%; background: rgba(188,202,183,.09); filter: blur(34px); animation: wild-mist-drift 15s ease-in-out infinite alternate; }
.wild-mist i:nth-child(1) { bottom: 25%; }
.wild-mist i:nth-child(2) { bottom: 13%; opacity: .7; animation-delay: -6s; animation-duration: 21s; }
.wild-mist i:nth-child(3) { bottom: 40%; opacity: .4; animation-delay: -10s; animation-duration: 25s; }

.wild-stag {
  position: absolute;
  z-index: 3;
  bottom: -245px;
  width: min(41vw,650px);
  pointer-events: none;
  filter: drop-shadow(0 30px 36px rgba(0,0,0,.56));
  transform: translate3d(var(--stag-x,0),var(--stag-y,0),0);
  transition: transform 500ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}
.wild-stag img { width: 100%; transform-origin: 50% 86%; animation: wild-stag-breathe 6.5s ease-in-out infinite; }
.wild-stag-left { left: -10vw; }
.wild-stag-right { right: -10vw; }
.wild-stag-right img { animation-name: wild-stag-breathe-mirror; animation-delay: -3.2s; }
.wild-stag::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 14%;
  right: 14%;
  bottom: 14%;
  height: 34%;
  border-radius: 50%;
  background: rgba(0,0,0,.58);
  filter: blur(46px);
}

.wild-hero-grid {
  z-index: 5;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  padding-block: 155px 135px;
}
.wild-hero-copy { width: min(820px,76vw); max-width: none; margin-inline: auto; text-align: center; }
.wild-hunt-call { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 0 26px; color: #e0ae5a; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.wild-hunt-call span { width: 54px; height: 1px; background: linear-gradient(90deg,transparent,#d3a150); }
.wild-hunt-call span:last-child { transform: scaleX(-1); }
.wild-hero h1 { font-size: clamp(88px,10.5vw,160px); line-height: .76; text-shadow: 0 14px 50px rgba(0,0,0,.55); }
.wild-hero h1 span { color: #f5efe3; }
.wild-lead { max-width: 600px; margin-inline: auto; color: rgba(246,240,228,.78); text-shadow: 0 3px 18px rgba(0,0,0,.8); }
.wild-date-row { justify-content: center; }
.wild-actions { justify-content: center; }
.wild-button { box-shadow: 0 15px 45px rgba(0,0,0,.4); }

.wild-intro { position: relative; overflow: hidden; background:
  radial-gradient(circle at 8% 85%,rgba(0,81,58,.08),transparent 26%),
  radial-gradient(circle at 92% 16%,rgba(190,132,47,.12),transparent 24%),
  #e9e2d4;
}
.wild-intro::after { content: ""; position: absolute; right: -140px; bottom: -170px; width: 430px; height: 430px; border: 1px solid rgba(0,81,58,.13); border-radius: 50%; box-shadow: inset 0 0 0 55px transparent,0 0 0 55px rgba(0,81,58,.025),0 0 0 110px rgba(0,81,58,.02); }
.wild-menu {
  background:
    linear-gradient(rgba(2,36,26,.93),rgba(2,36,26,.97)),
    url("/assets/wild-forest-hero-v1.png") center / cover fixed;
}
.wild-menu::before { opacity: .28; background: radial-gradient(circle at 50% 0,rgba(221,166,80,.3),transparent 36%); }

@keyframes wild-forest-breathe {
  0% { filter: saturate(.88) brightness(.82); }
  100% { filter: saturate(1.06) brightness(.94); }
}
@keyframes wild-mist-drift {
  0% { transform: translate3d(-8%,0,0) scaleY(.8); }
  100% { transform: translate3d(8%,-20px,0) scaleY(1.2); }
}
@keyframes wild-stag-breathe {
  0%,100% { transform: scale(1) rotate(-1deg); }
  50% { transform: scale(1.018) rotate(.7deg); }
}
@keyframes wild-stag-breathe-mirror {
  0%,100% { transform: scaleX(-1) scale(1) rotate(-1deg); }
  50% { transform: scaleX(-1) scale(1.018) rotate(.7deg); }
}

@media (max-width: 1100px) {
  .wild-stag { width: min(50vw,590px); bottom: -205px; }
  .wild-stag-left { left: -19vw; }
  .wild-stag-right { right: -19vw; }
  .wild-hero-copy { width: min(720px,74vw); }
  .wild-hero h1 { font-size: clamp(82px,12vw,126px); }
}

@media (max-width: 820px) {
  .wild-hero { min-height: 820px; }
  .wild-hero-grid { display: block; padding-block: 118px 185px; }
  .wild-hero-copy { width: min(92%,620px); }
  .wild-hunt-call { gap: 9px; letter-spacing: .17em; }
  .wild-hunt-call span { width: 30px; }
  .wild-hero h1 { font-size: clamp(67px,17vw,104px); }
  .wild-stag { width: 69vw; bottom: -146px; opacity: .9; }
  .wild-stag-left { left: -36vw; }
  .wild-stag-right { right: -36vw; }
  .wild-forest { background-position: 50% center; }
  .wild-canopy { opacity: .78; }
  .wild-menu { background-attachment: scroll; }
}

@media (max-width: 540px) {
  .wild-hero { min-height: 790px; }
  .wild-hero-grid { padding-block: 112px 175px; }
  .wild-hunt-call { font-size: 8px; }
  .wild-hero h1 { font-size: 63px; }
  .wild-lead { font-size: 14px; line-height: 1.65; }
  .wild-stag { width: 83vw; bottom: -112px; opacity: .82; }
  .wild-stag-left { left: -48vw; }
  .wild-stag-right { right: -48vw; }
}

@media (prefers-reduced-motion: reduce) {
  .wild-forest,.wild-mist i,.wild-stag img { animation: none !important; }
}
