

:root {
  --color-bg-dark: #1C1C1A;
  --color-bg-olive: #30372F;
  --color-bg-parchment: #EEE5D5;
  --color-text-charcoal: #1C1C1A;
  --color-text-parchment: #EEE5D5;
  --color-accent-walnut: #543C2E;
  --color-accent-copper: #A56D45;
  --color-border-light: #D8CDB8;
  --color-border-dark: #4A4A45;

  --font-heading: "Playfair Display", Georgia, serif;
  --font-body: "Source Serif Pro", Georgia, serif;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;
  --space-9: 128px;

  --container-max: 1440px;
  --container-pad-mobile: 24px;
  --container-pad-desktop: 48px;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-round: 50%;

  --font-size-display: clamp(48px, 5vw, 64px);
  --font-size-h1: clamp(36px, 4vw, 48px);
  --font-size-h2: clamp(28px, 3vw, 36px);
  --font-size-h3: clamp(24px, 2.5vw, 28px);
  --font-size-h4: clamp(20px, 2vw, 22px);
  --font-size-body-large: 20px;
  --font-size-body: 18px;
  --font-size-small: 16px;
  --font-size-caption: 14px;

  --line-height-display: 1.1;
  --line-height-h1: 1.15;
  --line-height-h2: 1.2;
  --line-height-h3: 1.25;
  --line-height-h4: 1.3;
  --line-height-body: 1.6;
  --line-height-small: 1.5;
  --line-height-caption: 1.4;

  --section-space-desktop: var(--space-8);
  --section-space-mobile: var(--space-7);
  --card-padding-desktop: var(--space-5);
  --card-padding-mobile: var(--space-3);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-charcoal);
  background-color: var(--color-bg-parchment);
  min-height: 100vh;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 var(--space-4) 0;
  font-family: var(--font-heading);
  font-weight: 600;
  color: inherit;
  letter-spacing: -0.01em;
  line-height: var(--line-height-h2);
}

h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  margin-bottom: var(--space-5);
}

h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin-bottom: var(--space-4);
}

h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  margin-bottom: var(--space-3);
}

h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  margin-bottom: var(--space-3);
}

h5, h6 {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  margin-bottom: var(--space-2);
}

p {
  margin: 0 0 var(--space-4) 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

p:last-child {
  margin-bottom: 0;
}

ul, ol {
  margin: 0 0 var(--space-4) 0;
  padding-left: var(--space-4);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

ul:last-child, ol:last-child {
  margin-bottom: 0;
}

blockquote {
  margin: var(--space-5) 0;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--font-size-h3);
  font-style: italic;
  line-height: var(--line-height-h3);
  color: var(--color-accent-walnut);
  border-left: 2px solid var(--color-accent-copper);
}

blockquote:last-child {
  margin-bottom: 0;
}

figure {
  margin: 0 0 var(--space-4) 0;
}

figure:last-child {
  margin-bottom: 0;
}

figcaption {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
  color: var(--color-accent-walnut);
  margin-top: var(--space-2);
}

a {
  color: var(--color-accent-copper);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-accent-walnut);
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

hr {
  border: none;
  border-top: 1px solid var(--color-border-light);
  margin: var(--space-5) 0;
}

hr:last-child {
  margin-bottom: 0;
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}

@media (min-width: 768px) {
  .container {
    padding-inline: var(--container-pad-desktop);
  }
}

.section {
  padding-block: var(--section-space-mobile);
}

@media (min-width: 768px) {
  .section {
    padding-block: var(--section-space-desktop);
  }
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
  margin-bottom: var(--space-3);
}

.section-label::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background-color: var(--color-accent-copper);
}

.surface-card {
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--card-padding-mobile);
}

@media (min-width: 768px) {
  .surface-card {
    padding: var(--card-padding-desktop);
  }
}

.surface-card-dark {
  background-color: var(--color-bg-olive);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  padding: var(--card-padding-mobile);
  color: var(--color-text-parchment);
}

@media (min-width: 768px) {
  .surface-card-dark {
    padding: var(--card-padding-desktop);
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  min-height: 44px;
  font-family: var(--font-body);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-charcoal);
  background-color: var(--color-accent-copper);
  border: 1px solid var(--color-accent-copper);
  border-radius: var(--radius-sm);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.btn:hover {
  background-color: var(--color-accent-walnut);
  border-color: var(--color-accent-walnut);
  color: var(--color-text-charcoal);
}

.btn-outline {
  background-color: transparent;
  color: var(--color-accent-copper);
  border-color: var(--color-accent-copper);
}

.btn-outline:hover {
  background-color: var(--color-accent-copper);
  color: var(--color-text-charcoal);
}

.btn-dark {
  background-color: var(--color-accent-copper);
  color: var(--color-text-charcoal);
  border-color: var(--color-accent-copper);
}

.btn-dark:hover {
  background-color: var(--color-accent-walnut);
  border-color: var(--color-accent-walnut);
  color: var(--color-text-charcoal);
}

.flex {
  display: flex;
}

.flex-col {
  display: flex;
  flex-direction: column;
}

.flex-wrap {
  display: flex;
  flex-wrap: wrap;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-start {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.flex-end {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.flex-1 {
  flex: 1 1 0%;
  min-width: 0;
}

.flex-auto {
  flex: 0 0 auto;
}

.gap-1 { gap: var(--space-1); }
.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }
.gap-5 { gap: var(--space-5); }
.gap-6 { gap: var(--space-6); }
.gap-7 { gap: var(--space-7); }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.text-small { font-size: var(--font-size-small); line-height: var(--line-height-small); }
.text-caption { font-size: var(--font-size-caption); line-height: var(--line-height-caption); }
.text-body-large { font-size: var(--font-size-body-large); line-height: var(--line-height-body); }

.text-parchment { color: var(--color-text-parchment); }
.text-charcoal { color: var(--color-text-charcoal); }
.text-copper { color: var(--color-accent-copper); }
.text-walnut { color: var(--color-accent-walnut); }

.bg-dark { background-color: var(--color-bg-dark); }
.bg-olive { background-color: var(--color-bg-olive); }
.bg-parchment { background-color: var(--color-bg-parchment); }

.border-light { border: 1px solid var(--color-border-light); }
.border-dark { border: 1px solid var(--color-border-dark); }

.radius-sm { border-radius: var(--radius-sm); }
.radius-md { border-radius: var(--radius-md); }
.radius-round { border-radius: var(--radius-round); }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-3);
  z-index: 1000;
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-accent-copper);
  color: var(--color-text-charcoal);
  border-radius: var(--radius-sm);
  font-weight: 600;
  transition: top 0.2s ease;
}

.skip-link:focus {
  top: var(--space-3);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


.site-header {
  position: relative;
  z-index: 1000;
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
  border-bottom: 1px solid var(--color-border-dark);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  max-width: var(--container-max);
  margin-inline: auto;
  padding: var(--space-3) var(--container-pad-mobile);
  min-height: 72px;
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
}

.site-header__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

.site-header__brand-text {
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-text-parchment);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
  opacity: 0;
}

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-header__toggle:focus-visible {
  outline: 2px solid var(--color-accent-copper);
  outline-offset: 2px;
}

.site-header__nav {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  justify-content: center;
}

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header__nav-item {
  margin: 0;
  padding: 0;
}

.site-header__nav-link {
  display: inline-block;
  padding: var(--space-2) 0;
  font-family: var(--font-body);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-parchment);
  text-decoration: none;
  position: relative;
  transition: color 0.2s ease;
}

.site-header__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-accent-copper);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.site-header__nav-link:hover,
.site-header__nav-link:focus-visible {
  color: var(--color-accent-copper);
}

.site-header__nav-link:hover::after,
.site-header__nav-link:focus-visible::after {
  transform: scaleX(1);
}

.site-header__nav-link:focus-visible {
  outline: 2px solid var(--color-accent-copper);
  outline-offset: 4px;
}

.site-header__actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.site-header__cta {
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .site-header__inner {
    flex-wrap: wrap;
    padding: var(--space-3) var(--container-pad-mobile);
  }

  .site-header__brand {
    flex: 1 1 auto;
  }

  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-bg-dark);
    border-bottom: 1px solid var(--color-border-dark);
    padding: var(--space-4) var(--container-pad-mobile);
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    z-index: 1000;
  }

  .site-header__nav.is-open {
    display: block;
  }

  .site-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .site-header__nav-item + .site-header__nav-item {
    border-top: 1px solid var(--color-border-dark);
  }

  .site-header__nav-link {
    display: block;
    padding: var(--space-3) 0;
    font-size: var(--font-size-body);
  }

  .site-header__actions {
    display: none;
  }
}

@media (min-width: 1024px) {
  .site-header__inner {
    padding: var(--space-4) var(--container-pad-desktop);
    min-height: 88px;
  }

  .site-header__logo {
    width: 56px;
    height: 56px;
  }

  
  .site-header__nav-list {
    gap: var(--space-5);
  }
}


.site-footer {
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
  border-top: 1px solid var(--color-border-dark);
  padding: var(--space-7) 0 0;
  margin-top: var(--space-8);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  color: inherit;
}

.site-footer__logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.site-footer__brand-text {
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.site-footer__tagline {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: var(--color-text-parchment);
  max-width: 36ch;
  margin: 0;
}

.site-footer__nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

.site-footer__nav-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.site-footer__heading {
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
  margin: 0;
}

.site-footer__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.site-footer__nav-list a {
  color: var(--color-text-parchment);
  text-decoration: none;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  transition: color 0.2s ease;
}

.site-footer__nav-list a:hover,
.site-footer__nav-list a:focus-visible {
  color: var(--color-accent-copper);
}

.site-footer__nav-list a:focus-visible {
  outline: 2px solid var(--color-accent-copper);
  outline-offset: 2px;
}

.site-footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.site-footer__address {
  font-style: normal;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: var(--color-text-parchment);
}

.site-footer__phone,
.site-footer__email {
  margin: 0;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.site-footer__phone a,
.site-footer__email a {
  color: var(--color-text-parchment);
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer__phone a:hover,
.site-footer__email a:hover,
.site-footer__phone a:focus-visible,
.site-footer__email a:focus-visible {
  color: var(--color-accent-copper);
}

.site-footer__bottom {
  border-top: 1px solid var(--color-border-dark);
  margin-top: var(--space-6);
  padding: var(--space-4) var(--container-pad-mobile);
  text-align: center;
}

.site-footer__copyright {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
  color: var(--color-text-parchment);
  margin: 0;
}

@media (min-width: 768px) {
  .site-footer__inner {
    grid-template-columns: 1fr 2fr 1fr;
    gap: var(--space-7);
    padding-inline: var(--container-pad-desktop);
  }

  .site-footer__nav {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
  }

  .site-footer__bottom {
    padding-inline: var(--container-pad-desktop);
  }
}

.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
  border-top: 1px solid var(--color-border-dark);
  padding: var(--space-3) var(--container-pad-mobile);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.2);
}

.consent-banner[hidden] {
  display: none !important;
}

.consent-banner__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: var(--container-max);
  margin-inline: auto;
}

.consent-banner__text {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  margin: 0;
}

.consent-banner__text a {
  color: var(--color-accent-copper);
  text-decoration: underline;
}

.consent-banner__text a:hover,
.consent-banner__text a:focus-visible {
  color: var(--color-text-parchment);
}

.consent-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.consent-banner__accept,
.consent-banner__reject {
  flex: 1 1 auto;
  min-width: 120px;
}

@media (min-width: 768px) {
  .consent-banner {
    padding: var(--space-4) var(--container-pad-desktop);
  }

  .consent-banner__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
  }

  .consent-banner__actions {
    flex: 0 0 auto;
  }
}

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}

.age-modal[hidden] {
  display: none !important;
}

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.7);
}

.age-modal__dialog {
  position: relative;
  z-index: 1;
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  max-width: 480px;
  width: 100%;
  max-height: calc(100vh - 2 * var(--space-4));
  overflow-y: auto;
  text-align: center;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: var(--color-text-charcoal);
  margin-bottom: var(--space-3);
}

.age-modal__description {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-charcoal);
  margin-bottom: var(--space-5);
}

.age-modal__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.age-modal__confirm,
.age-modal__decline {
  width: 100%;
}

@media (min-width: 480px) {
  .age-modal__actions {
    flex-direction: row;
    justify-content: center;
  }

  .age-modal__confirm,
  .age-modal__decline {
    width: auto;
    min-width: 140px;
  }
}


/* Page-owned styles for ochrana-soukromi */

.privacy-main {
    background-color: var(--color-bg-parchment);
    color: var(--color-text-charcoal);
    padding-block-end: var(--section-space-mobile);
}

@media (min-width: 768px) {
    .privacy-main {
        padding-block-end: var(--section-space-desktop);
    }
}

/* Hero */
.privacy-hero {
    background-color: var(--color-bg-dark);
    color: var(--color-text-parchment);
    padding-block: var(--space-7);
    padding-inline: var(--container-pad-mobile);
}

@media (min-width: 768px) {
    .privacy-hero {
        padding-block: var(--space-8);
        padding-inline: var(--container-pad-desktop);
    }
}

.privacy-hero__inner {
    max-width: 720px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.privacy-hero__label {
    color: var(--color-accent-copper);
    margin-bottom: 0;
}

.privacy-hero__title {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
    color: var(--color-text-parchment);
    margin-bottom: 0;
}

.privacy-hero__lead {
    font-size: var(--font-size-body-large);
    line-height: var(--line-height-body);
    color: var(--color-text-parchment);
    max-width: 65ch;
    margin-bottom: 0;
}

/* Section base */
.privacy-section {
    padding-block: var(--section-space-mobile);
}

@media (min-width: 768px) {
    .privacy-section {
        padding-block: var(--section-space-desktop);
    }
}

.privacy-section__inner {
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--container-pad-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

@media (min-width: 768px) {
    .privacy-section__inner {
        padding-inline: var(--container-pad-desktop);
    }
}

.privacy-section__inner--narrow {
    max-width: 720px;
}

.privacy-section__inner--wide {
    max-width: 900px;
}

.privacy-section__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
    position: relative;
    padding-top: var(--space-3);
}

.privacy-section__header::before {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    background-color: var(--color-accent-copper);
    position: absolute;
    top: 0;
    left: 0;
}

.privacy-section__number {
    font-size: var(--font-size-small);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent-copper);
}

.privacy-section__title {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
    color: var(--color-text-charcoal);
    margin-bottom: 0;
}

.privacy-section__paragraph {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    max-width: 65ch;
    margin-bottom: 0;
}

.privacy-section__paragraph a {
    color: var(--color-accent-copper);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

.privacy-section__paragraph a:hover {
    color: var(--color-accent-walnut);
}

/* Definition list */
.privacy-definition {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding-left: var(--space-4);
    border-left: 1px solid var(--color-border-light);
}

.privacy-definition__item {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.privacy-definition__term {
    font-size: var(--font-size-small);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-accent-walnut);
}

.privacy-definition__desc {
    margin: 0;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    max-width: 65ch;
}

.privacy-definition__desc a {
    color: var(--color-accent-copper);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.privacy-definition__desc a:hover {
    color: var(--color-accent-walnut);
}

/* Lists */
.privacy-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.privacy-list__item {
    position: relative;
    padding-left: var(--space-5);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    max-width: 65ch;
}

.privacy-list__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-accent-copper);
}

.privacy-ordered-list {
    list-style: none;
    counter-reset: privacy-counter;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.privacy-ordered-list__item {
    counter-increment: privacy-counter;
    position: relative;
    padding-left: var(--space-6);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    max-width: 65ch;
}

.privacy-ordered-list__item::before {
    content: counter(privacy-counter, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0;
    font-family: var(--font-heading);
    font-size: var(--font-size-body);
    font-weight: 600;
    color: var(--color-accent-copper);
    line-height: var(--line-height-body);
}

/* Table */
.privacy-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    background-color: var(--color-bg-parchment);
}

.privacy-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    min-width: 600px;
}

.privacy-table th,
.privacy-table td {
    padding: var(--space-3);
    text-align: left;
    border-bottom: 1px solid var(--color-border-light);
    vertical-align: top;
}

.privacy-table th {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-text-charcoal);
    background-color: var(--color-bg-olive);
    color: var(--color-text-parchment);
    letter-spacing: 0.02em;
}

.privacy-table tbody tr:nth-child(even) {
    background-color: rgba(48, 55, 47, 0.06);
}

.privacy-table tbody tr:last-child td {
    border-bottom: none;
}

@media (max-width: 767px) {
    .privacy-table-wrap {
        border: none;
        border-radius: 0;
        overflow-x: visible;
    }

    .privacy-table {
        min-width: 0;
        display: block;
    }

    .privacy-table thead {
        display: none;
    }

    .privacy-table tbody {
        display: flex;
        flex-direction: column;
        gap: var(--space-3);
    }

    .privacy-table tr {
        display: block;
        border: 1px solid var(--color-border-light);
        border-radius: var(--radius-md);
        padding: var(--space-3);
        background-color: var(--color-bg-parchment);
    }

    .privacy-table td {
        display: block;
        padding: var(--space-1) 0;
        border-bottom: none;
    }

    .privacy-table td::before {
        content: attr(data-label);
        display: block;
        font-weight: 600;
        font-size: var(--font-size-caption);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--color-accent-walnut);
        margin-bottom: var(--space-1);
    }

    .privacy-table td:not(:last-child) {
        margin-bottom: var(--space-2);
        border-bottom: 1px solid var(--color-border-light);
    }
}

/* Retention and security */
.privacy-retention,
.privacy-security {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.privacy-retention__title,
.privacy-security__title {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
    color: var(--color-text-charcoal);
    margin-bottom: 0;
}

.privacy-retention + .privacy-security {
    border-top: 1px solid var(--color-border-light);
    padding-top: var(--space-5);
    margin-top: var(--space-2);
}

/* Contact box */
.privacy-contact-box {
    background-color: var(--color-bg-parchment);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    padding: var(--card-padding-mobile);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

@media (min-width: 768px) {
    .privacy-contact-box {
        padding: var(--card-padding-desktop);
    }
}

.privacy-contact-box__title {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
    color: var(--color-text-charcoal);
    margin-bottom: 0;
}

.privacy-contact-box__text {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    max-width: 65ch;
    margin-bottom: 0;
}

.privacy-contact-box__list {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.privacy-contact-box__item {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
}

.privacy-contact-box__label {
    font-weight: 600;
    color: var(--color-accent-walnut);
    min-width: 80px;
}

.privacy-contact-box__item a {
    color: var(--color-accent-copper);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.privacy-contact-box__item a:hover {
    color: var(--color-accent-walnut);
}

.privacy-update {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.privacy-update__title {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
    color: var(--color-text-charcoal);
    margin-bottom: 0;
}

.privacy-update strong {
    color: var(--color-accent-walnut);
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .privacy-hero__lead {
        font-size: var(--font-size-body);
    }

    .privacy-section__title {
        font-size: var(--font-size-h3);
    }

    .privacy-definition {
        padding-left: var(--space-3);
    }

    .privacy-contact-box__item {
        flex-direction: column;
        gap: 0;
    }

    .privacy-contact-box__label {
        min-width: 0;
    }
}


/* Kontakt page styles */

.contact-hero {
  padding-top: var(--space-8);
  padding-bottom: var(--space-7);
}

.contact-hero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.contact-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.contact-hero__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  max-width: 720px;
  margin: 0;
}

.contact-info {
  padding-top: 0;
}

.contact-info__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.contact-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.contact-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-round);
  color: var(--color-accent-copper);
  margin-bottom: var(--space-2);
}

.contact-card h2 {
  font-size: var(--font-size-h3);
  margin: 0;
}

.contact-card p {
  margin: 0;
  color: var(--color-text-parchment);
}

.contact-card__link {
  font-size: var(--font-size-body-large);
  font-weight: 600;
  color: var(--color-accent-copper);
  text-decoration: none;
  transition: color 0.2s ease;
  word-break: break-word;
}

.contact-card__link:hover {
  color: var(--color-accent-walnut);
}

.contact-card__note {
  font-size: var(--font-size-small);
  color: var(--color-text-parchment);
  opacity: 0.8;
}

.contact-card__address {
  font-size: var(--font-size-body);
  font-weight: 600;
}

.opening-hours {
  padding-block: var(--section-space-desktop);
}

.opening-hours__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
  max-width: 600px;
}

.opening-hours__intro {
  margin: 0;
}

.opening-hours__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.opening-hours__column {
  min-width: 0;
}

.opening-hours__column h3 {
  margin-bottom: var(--space-4);
}

.opening-hours__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border-top: 1px solid var(--color-border-light);
}

.opening-hours__list li {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-light);
  font-size: var(--font-size-body);
}

.opening-hours__list li span:first-child {
  font-weight: 600;
}

.opening-hours__list li span:last-child {
  text-align: right;
  white-space: nowrap;
}

.map-directions {
  padding-block: var(--section-space-desktop);
}

.map-directions__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.map-directions__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.map-directions__map {
  min-width: 0;
}

.map-directions__frame {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  aspect-ratio: 4 / 3;
}

.map-directions__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-directions__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.map-directions__content h3 {
  margin: 0;
}

.map-directions__content p {
  margin: 0;
}

.map-directions__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.map-directions__list li {
  padding-left: var(--space-4);
  position: relative;
}

.map-directions__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-round);
  background-color: var(--color-accent-copper);
}

.contact-form-section {
  padding-block: var(--section-space-desktop);
}

.contact-form-section__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
  max-width: 600px;
  margin-inline: auto;
}

.contact-form-section__intro {
  margin: 0;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-6);
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
}

.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.contact-form__field label {
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-accent-walnut);
}

.contact-form__field input,
.contact-form__field select,
.contact-form__field textarea {
  width: 100%;
  padding: var(--space-2) 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--color-border-light);
  border-radius: 0;
  font-size: var(--font-size-body);
  color: var(--color-text-charcoal);
  transition: border-color 0.2s ease;
}

.contact-form__field input:focus,
.contact-form__field select:focus,
.contact-form__field textarea:focus {
  outline: none;
  border-bottom-color: var(--color-accent-copper);
}

.contact-form__field textarea {
  resize: vertical;
  min-height: 120px;
}

.contact-form__error {
  font-size: var(--font-size-caption);
  color: #b3261e;
  min-height: 1.4em;
}

.contact-form__submit {
  align-self: flex-start;
  min-width: 180px;
}

.contact-form__confirmation {
  margin: 0;
  font-size: var(--font-size-body);
  font-weight: 600;
  color: var(--color-accent-walnut);
}

.reservation-cta {
  padding-block: var(--section-space-desktop);
}

.reservation-cta__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
  max-width: 600px;
  margin-inline: auto;
}

.reservation-cta__inner .section-label {
  justify-content: center;
}

.reservation-cta__text {
  margin: 0;
  max-width: 600px;
}

.reservation-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  margin-top: var(--space-3);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .contact-info__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-card:last-child {
    grid-column: 1 / -1;
  }

  .map-directions__grid {
    grid-template-columns: 1fr;
  }

  .map-directions__frame {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  .contact-hero {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }

  .contact-hero__lead {
    font-size: var(--font-size-body);
  }

  .contact-info__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .contact-card {
    padding: var(--space-4);
  }

  .opening-hours {
    padding-block: var(--section-space-mobile);
  }

  .opening-hours__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .opening-hours__list li {
    flex-direction: column;
    gap: var(--space-1);
  }

  .opening-hours__list li span:last-child {
    text-align: left;
    white-space: normal;
  }

  .map-directions {
    padding-block: var(--section-space-mobile);
  }

  .map-directions__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .map-directions__frame {
    aspect-ratio: 4 / 3;
  }

  .contact-form-section {
    padding-block: var(--section-space-mobile);
  }

  .contact-form {
    padding: var(--space-4);
  }

  .contact-form__submit {
    width: 100%;
  }

  .reservation-cta {
    padding-block: var(--section-space-mobile);
  }

  .reservation-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .reservation-cta__actions .btn {
    width: 100%;
  }
}


/* FAQ page styles */

.faq-hero {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
  padding-block: var(--space-7);
}

.faq-hero__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.faq-hero__label {
  margin-bottom: 0;
}

.faq-hero__title {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.faq-hero__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  max-width: 60ch;
  margin-bottom: 0;
}

.faq-categories {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
  padding-block: var(--space-6);
}

.faq-categories__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.faq-categories__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: var(--color-text-charcoal);
  margin-bottom: 0;
}

.faq-categories__lead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-accent-walnut);
  margin-bottom: 0;
}

.faq-categories__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  width: 100%;
}

.faq-category-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-2) var(--space-4);
  min-height: 44px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background-color: transparent;
  color: var(--color-accent-walnut);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
  text-decoration: none;
}

.faq-category-chip:hover,
.faq-category-chip:focus-visible {
  border-color: var(--color-accent-copper);
  color: var(--color-accent-copper);
  background-color: rgba(165, 109, 69, 0.08);
}

.faq-section {
  padding-block: var(--section-space-mobile);
}

.faq-section--light {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.faq-section--dark {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.faq-section__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.faq-section__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin-bottom: 0;
}

.faq-section--dark .faq-section__title {
  color: var(--color-text-parchment);
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--color-border-light);
}

.faq-section--dark .faq-accordion {
  border-top-color: var(--color-border-dark);
}

.faq-accordion__item {
  border-bottom: 1px solid var(--color-border-light);
}

.faq-section--dark .faq-accordion__item {
  border-bottom-color: var(--color-border-dark);
}

.faq-accordion__heading {
  margin: 0;
}

.faq-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4) 0;
  min-height: 44px;
  background: none;
  border: none;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  font-weight: 600;
  line-height: var(--line-height-h4);
  color: inherit;
  cursor: pointer;
  transition: color 0.2s ease;
}

.faq-accordion__trigger:hover,
.faq-accordion__trigger:focus-visible {
  color: var(--color-accent-copper);
}

.faq-accordion__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
}

.faq-accordion__icon::before,
.faq-accordion__icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform 0.3s ease;
}

.faq-accordion__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.faq-accordion__icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.faq-accordion__trigger[aria-expanded="true"] .faq-accordion__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.faq-accordion__panel {
  overflow: hidden;
}

.faq-accordion__panel[hidden] {
  display: none;
}

.faq-accordion__content {
  padding: 0 0 var(--space-4) 0;
  max-width: 70ch;
}

.faq-accordion__content p {
  margin: 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.faq-contact {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
  padding-block: var(--section-space-mobile);
}

.faq-contact__inner {
  max-width: 600px;
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.faq-contact__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin-bottom: 0;
}

.faq-contact__lead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  margin-bottom: 0;
}

.faq-contact__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: 0;
}

.faq-contact__details p {
  margin: 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.faq-contact__details a {
  color: var(--color-accent-copper);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.faq-contact__details a:hover {
  color: var(--color-accent-walnut);
}

.faq-contact__cta {
  margin-top: var(--space-2);
}

.faq-reservation-cta {
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
  padding-block: var(--section-space-mobile);
}

.faq-reservation-cta__inner {
  max-width: 700px;
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.faq-reservation-cta__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.faq-reservation-cta__lead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  max-width: 60ch;
  margin-bottom: 0;
}

.faq-reservation-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

@media (min-width: 768px) {
  .faq-hero {
    padding-block: var(--space-8);
  }

  .faq-hero__inner {
    padding-inline: var(--container-pad-desktop);
  }

  .faq-categories {
    padding-block: var(--space-7);
  }

  .faq-categories__container {
    gap: var(--space-4);
  }

  .faq-section {
    padding-block: var(--section-space-desktop);
  }

  .faq-contact {
    padding-block: var(--section-space-desktop);
  }

  .faq-reservation-cta {
    padding-block: var(--section-space-desktop);
  }

  .faq-reservation-cta__actions {
    gap: var(--space-4);
  }
}

@media (max-width: 767px) {
  .faq-categories__chips {
    flex-direction: column;
    align-items: stretch;
  }

  .faq-category-chip {
    width: 100%;
    justify-content: center;
  }

  .faq-reservation-cta__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .faq-reservation-cta__actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-accordion__icon::before,
  .faq-accordion__icon::after {
    transition: none;
  }
}


/* Page-owned styles for Obchodní podmínky */

.legal-page {
  padding-block: var(--space-7);
}

@media (min-width: 768px) {
  .legal-page {
    padding-block: var(--space-8);
  }
}

.legal-page__container {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}

@media (min-width: 768px) {
  .legal-page__container {
    padding-inline: var(--container-pad-desktop);
  }
}

.legal-section {
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-border-light);
}

.legal-section:first-child {
  padding-top: 0;
}

.legal-section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.legal-section__header {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.legal-section__number {
  flex: 0 0 auto;
  font-family: var(--font-heading);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
}

.legal-section__header h1,
.legal-section__header h2,
.legal-section__header h4 {
  margin: 0;
  min-width: 0;
}

.legal-section__header h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}

.legal-section__header h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
}

.legal-section__header h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}

.legal-section__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  text-align: left;
}

.legal-section__body p {
  margin: 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.legal-section--intro .legal-section__body p:first-child {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
}

.legal-section--date .legal-section__body p {
  font-weight: 600;
  color: var(--color-accent-walnut);
}

@media (max-width: 767px) {
  .legal-page__container {
    padding-inline: var(--container-pad-mobile);
  }

  .legal-section {
    padding-block: var(--space-4);
  }

  .legal-section__header {
    flex-direction: column;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
  }

  .legal-section__header h1 {
    font-size: clamp(28px, 8vw, 36px);
  }

  .legal-section__header h2 {
    font-size: clamp(24px, 7vw, 28px);
  }

  .legal-section__header h4 {
    font-size: clamp(20px, 6vw, 22px);
  }

  .legal-section__body {
    gap: var(--space-3);
  }

  .legal-section__body p {
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
  }

  .legal-section--intro .legal-section__body p:first-child {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
  }
}


/* Page-owned styles for cookies page */
.cookies-main {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.cookies-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
  padding-block: var(--section-space-mobile);
}

@media (min-width: 768px) {
  .cookies-container {
    padding-inline: var(--container-pad-desktop);
    padding-block: var(--section-space-desktop);
  }
}

.cookies-section {
  padding-block: var(--space-6);
  border-bottom: 1px solid var(--color-border-light);
}

.cookies-section:last-child {
  border-bottom: none;
}

.cookies-intro__inner,
.cookies-types__inner,
.cookies-table-section__inner,
.cookies-manage__inner,
.cookies-third-party__inner,
.cookies-changes__inner,
.cookies-contact__inner,
.cookies-related__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.cookies-intro__content,
.cookies-manage__content,
.cookies-third-party__inner,
.cookies-changes__inner,
.cookies-contact__inner,
.cookies-related__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookies-intro__list,
.cookies-manage__list,
.cookies-third-party__list {
  list-style-type: disc;
  padding-left: var(--space-4);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.cookies-intro__list li,
.cookies-manage__list li,
.cookies-third-party__list li {
  margin: 0;
}

.cookies-types__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

@media (min-width: 768px) {
  .cookies-types__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
  }
}

.cookies-type-card {
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.cookies-type-card h3 {
  margin: 0;
  color: var(--color-accent-copper);
}

.cookies-type-card p {
  margin: 0;
}

.cookies-table-wrapper {
  overflow-x: auto;
  margin-top: var(--space-4);
  -webkit-overflow-scrolling: touch;
}

.cookies-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  min-width: 500px;
}

.cookies-table th,
.cookies-table td {
  padding: var(--space-3);
  text-align: left;
  border: 1px solid var(--color-border-light);
}

.cookies-table thead th {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
  font-weight: 600;
}

.cookies-table tbody tr:nth-child(even) {
  background-color: rgba(216, 205, 184, 0.25);
}

.cookies-contact__address {
  font-style: normal;
  line-height: var(--line-height-body);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.cookies-contact__address a {
  color: var(--color-accent-copper);
  text-decoration: none;
  transition: color 0.2s ease;
}

.cookies-contact__address a:hover {
  color: var(--color-accent-walnut);
  text-decoration: underline;
}

.cookies-related__inner a {
  color: var(--color-accent-copper);
  text-decoration: none;
  transition: color 0.2s ease;
}

.cookies-related__inner a:hover {
  color: var(--color-accent-walnut);
  text-decoration: underline;
}

@media (max-width: 767px) {
  .cookies-types__grid {
    grid-template-columns: 1fr;
  }

  .cookies-type-card {
    padding: var(--space-3);
  }

  .cookies-table-wrapper {
    margin-inline: calc(-1 * var(--container-pad-mobile));
    padding-inline: var(--container-pad-mobile);
  }
}


/* Page-owned styles for restaurace */

.restaurace-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-bg-dark);
}

.restaurace-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.restaurace-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.restaurace-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(28, 28, 26, 0.72) 0%, rgba(28, 28, 26, 0.45) 55%, rgba(28, 28, 26, 0.82) 100%);
}

.restaurace-hero__content {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin-inline: auto;
  padding: var(--space-7) var(--container-pad-mobile);
  text-align: center;
  color: var(--color-text-parchment);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.restaurace-hero__label {
  color: var(--color-accent-copper);
  margin-bottom: 0;
}

.restaurace-hero__content h1 {
  font-size: var(--font-size-display);
  line-height: var(--line-height-display);
  margin-bottom: 0;
  color: var(--color-text-parchment);
}

.restaurace-hero__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  max-width: 620px;
  margin-bottom: 0;
}

.restaurace-hero__actions {
  display: flex;
  justify-content: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-top: var(--space-2);
}

.restaurace-hero__cta {
  min-width: 200px;
}

@media (min-width: 768px) {
  .restaurace-hero__content {
    padding: var(--space-8) var(--container-pad-desktop);
    gap: var(--space-5);
  }

  .restaurace-hero__lead {
    font-size: var(--font-size-body-large);
  }
}

@media (max-width: 480px) {
  .restaurace-hero {
    min-height: 88svh;
  }

  .restaurace-hero__content h1 {
    font-size: clamp(36px, 11vw, 48px);
  }

  .restaurace-hero__lead {
    font-size: var(--font-size-body);
  }

  .restaurace-hero__cta {
    width: 100%;
  }
}

/* Concept */
.restaurace-concept {
  background-color: var(--color-bg-parchment);
}

.restaurace-concept__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.restaurace-concept__text {
  min-width: 0;
}

.restaurace-concept__text h2 {
  margin-bottom: var(--space-4);
}

.restaurace-concept__text p {
  }

.restaurace-concept__text blockquote {
  max-width: 65ch;
  margin-top: var(--space-5);
  margin-bottom: var(--space-5);
}

.restaurace-concept__media {
  min-width: 0;
  position: relative;
}

.restaurace-concept__media img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  filter: grayscale(35%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

.restaurace-concept__media::after {
  content: "";
  position: absolute;
  inset: var(--space-3) auto auto var(--space-3);
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-accent-copper);
  border-radius: var(--radius-md);
  z-index: -1;
  pointer-events: none;
}

.restaurace-concept__media:hover img {
  filter: grayscale(0%);
  transform: scale(1.02);
}

@media (min-width: 768px) {
  .restaurace-concept__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }

  .restaurace-concept__media {
    margin-top: var(--space-4);
  }
}

@media (max-width: 767px) {
  .restaurace-concept__media {
    max-width: 100%;
  }

  .restaurace-concept__media::after {
    display: none;
  }
}

/* Cuisine Highlights */
.restaurace-cuisine {
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
}

.restaurace-cuisine__header {
  max-width: 720px;
  margin-bottom: var(--space-6);
}

.restaurace-cuisine__header h2 {
  color: var(--color-text-parchment);
}

.restaurace-cuisine__intro {
  color: var(--color-text-parchment);
  opacity: 0.9;
  max-width: 60ch;
}

.restaurace-cuisine__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.restaurace-cuisine__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: var(--color-bg-olive);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  color: var(--color-text-parchment);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.restaurace-cuisine__card:hover {
  transform: translateY(-2px);
  border-color: var(--color-accent-copper);
}

.restaurace-cuisine__card-media {
  width: 100%;
  margin-bottom: var(--space-3);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.restaurace-cuisine__card-media img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  filter: grayscale(30%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

.restaurace-cuisine__card:hover .restaurace-cuisine__card-media img {
  filter: grayscale(0%);
  transform: scale(1.03);
}

.restaurace-cuisine__card h3 {
  color: var(--color-text-parchment);
  margin-bottom: var(--space-2);
}

.restaurace-cuisine__card p {
  color: var(--color-text-parchment);
  opacity: 0.92;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .restaurace-cuisine__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .restaurace-cuisine__card {
    padding: var(--space-5);
  }
}

@media (max-width: 767px) {
  .restaurace-cuisine__card-media img {
    height: 200px;
  }
}

/* Menu Preview */
.restaurace-menu {
  background-color: var(--color-bg-parchment);
}

.restaurace-menu__inner {
  max-width: 600px;
  margin-inline: auto;
  text-align: left;
}

.restaurace-menu__inner h2 {
  margin-bottom: var(--space-3);
}

.restaurace-menu__intro {
  max-width: 60ch;
  margin-bottom: var(--space-5);
}

.restaurace-menu__list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--color-border-light);
}

.restaurace-menu__list li {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-light);
}

.restaurace-menu__course {
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
}

.restaurace-menu__dish {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-charcoal);
}

@media (min-width: 768px) {
  .restaurace-menu__list li {
    flex-direction: row;
    align-items: baseline;
    gap: var(--space-4);
  }

  .restaurace-menu__course {
    flex: 0 0 120px;
  }
}

/* Atmosphere */
.restaurace-atmosphere {
  background-color: var(--color-bg-parchment);
}

.restaurace-atmosphere__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.restaurace-atmosphere__media {
  min-width: 0;
  position: relative;
}

.restaurace-atmosphere__media img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  filter: grayscale(35%);
  transition: filter 0.4s ease, transform 0.4s ease;
}

.restaurace-atmosphere__media::before {
  content: "";
  position: absolute;
  inset: var(--space-3) var(--space-3) auto auto;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-accent-copper);
  border-radius: var(--radius-md);
  z-index: -1;
  pointer-events: none;
}

.restaurace-atmosphere__media:hover img {
  filter: grayscale(0%);
  transform: scale(1.02);
}

.restaurace-atmosphere__text {
  min-width: 0;
}

.restaurace-atmosphere__text h2 {
  margin-bottom: var(--space-4);
}

.restaurace-atmosphere__text p {
  }

@media (min-width: 768px) {
  .restaurace-atmosphere__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
  }

  .restaurace-atmosphere__media {
    margin-top: var(--space-4);
  }
}

@media (max-width: 767px) {
  .restaurace-atmosphere__media::before {
    display: none;
  }
}

/* Poker Lounge Connection */
.restaurace-poker {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.restaurace-poker__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.restaurace-poker__label {
  color: var(--color-accent-copper);
}

.restaurace-poker__inner h2 {
  color: var(--color-text-parchment);
  margin-bottom: var(--space-4);
}

.restaurace-poker__inner p {
  color: var(--color-text-parchment);
  opacity: 0.94;
  }

.restaurace-poker__link {
  display: inline-block;
  margin-top: var(--space-4);
  color: var(--color-accent-copper);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.restaurace-poker__link:hover {
  color: var(--color-text-parchment);
  border-bottom-color: var(--color-accent-copper);
}

/* Reservation CTA */
.restaurace-reservation {
  background-color: var(--color-bg-parchment);
}

.restaurace-reservation__inner {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-6) var(--space-3);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
}

.restaurace-reservation__inner h2 {
  margin-bottom: 0;
}

.restaurace-reservation__lead {
  max-width: 520px;
  margin-bottom: 0;
}

.restaurace-reservation__contacts {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: 0;
}

.restaurace-reservation__contacts p {
  margin: 0;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: var(--color-text-charcoal);
}

.restaurace-reservation__contacts a {
  color: var(--color-accent-copper);
  text-decoration: none;
}

.restaurace-reservation__contacts a:hover {
  color: var(--color-accent-walnut);
}

.restaurace-reservation__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.restaurace-reservation__actions .btn {
  min-width: 180px;
}

@media (max-width: 480px) {
  .restaurace-reservation__inner {
    padding: var(--space-5) var(--space-3);
  }

  .restaurace-reservation__actions {
    flex-direction: column;
    width: 100%;
  }

  .restaurace-reservation__actions .btn {
    width: 100%;
  }
}

/* Reveal animation helpers */
.restaurace-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.restaurace-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .restaurace-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* Page-owned styles for Galerie page */

/* Hero */
.galerie-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg-dark);
  overflow: hidden;
}

.galerie-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.galerie-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
  transition: transform 1.2s ease;
}

.galerie-hero:hover .galerie-hero__media img {
  transform: scale(1.03);
}

.galerie-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(28,28,26,0.65) 0%, rgba(28,28,26,0.45) 50%, rgba(28,28,26,0.75) 100%);
}

.galerie-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
  padding: var(--space-7) var(--container-pad-mobile);
  text-align: center;
  color: var(--color-text-parchment);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.galerie-hero__eyebrow {
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
  margin: 0;
}

.galerie-hero__content h1 {
  font-size: var(--font-size-display);
  line-height: var(--line-height-display);
  color: var(--color-text-parchment);
  margin: 0;
  max-width: 14ch;
}

.galerie-hero__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  max-width: 45ch;
  margin: 0;
}

.galerie-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.galerie-hero__actions .btn {
  min-width: 200px;
}

/* Intro */
.galerie-intro__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.galerie-intro__text {
  min-width: 0;
}

.galerie-intro__text h2 {
  max-width: 60ch;
}

.galerie-intro__text p {
  }

.galerie-intro__media {
  position: relative;
  min-width: 0;
}

.galerie-intro__frame {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  width: 100%;
  height: 100%;
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  z-index: 0;
}

.galerie-intro__media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
}

/* Gallery grid */
.galerie-grid-section__intro {
  max-width: 50ch;
  margin-bottom: var(--space-6);
}

.galerie-grid-section__intro h2 {
  margin-bottom: var(--space-3);
}

.galerie-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.galerie-grid__item {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  background-color: var(--color-bg-parchment);
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.galerie-grid__item:hover {
  border-color: var(--color-accent-copper);
  transform: translateY(-2px);
}

.galerie-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.galerie-grid__item:hover img {
  transform: scale(1.02);
}

.galerie-grid__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(165,109,69,0) 0%, rgba(165,109,69,0.25) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.galerie-grid__item:hover .galerie-grid__overlay {
  opacity: 1;
}

.galerie-grid__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(28,28,26,0.7);
  color: var(--color-text-parchment);
  font-size: 28px;
  line-height: 1;
  border-radius: var(--radius-round);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.galerie-grid__item:hover .galerie-grid__icon {
  opacity: 1;
}

/* Poker lounge */
.galerie-poker {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.galerie-poker__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.galerie-poker__media {
  min-width: 0;
}

.galerie-poker__media img {
  width: 100%;
  height: auto;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
}

.galerie-poker__text {
  min-width: 0;
}

.galerie-poker__text h2 {
  color: var(--color-text-parchment);
  max-width: 50ch;
}

.galerie-poker__text p {
  color: var(--color-text-parchment);
  }

.galerie-poker__text .section-label {
  color: var(--color-accent-copper);
}

.galerie-poker__text .section-label::before {
  background-color: var(--color-accent-copper);
}

/* Gastronomy */
.galerie-gastro__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.galerie-gastro__text {
  min-width: 0;
}

.galerie-gastro__text h2 {
  max-width: 50ch;
}

.galerie-gastro__text p {
  }

.galerie-gastro__media {
  position: relative;
  min-width: 0;
}

.galerie-gastro__frame {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  width: 100%;
  height: 100%;
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  z-index: 0;
}

.galerie-gastro__media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
}

/* Evenings */
.galerie-evenings {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background-color: var(--color-bg-dark);
  overflow: hidden;
}

.galerie-evenings__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.galerie-evenings__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
  transition: transform 1.2s ease;
}

.galerie-evenings:hover .galerie-evenings__media img {
  transform: scale(1.03);
}

.galerie-evenings__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(28,28,26,0.8) 0%, rgba(28,28,26,0.4) 60%, rgba(28,28,26,0.2) 100%);
}

.galerie-evenings__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 600px;
  margin-left: 0;
  padding: var(--space-7) var(--container-pad-mobile);
  color: var(--color-text-parchment);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.galerie-evenings__content h2 {
  color: var(--color-text-parchment);
  max-width: 50ch;
  margin: 0;
}

.galerie-evenings__content p {
  color: var(--color-text-parchment);
  margin: 0;
}

.galerie-evenings__content .section-label {
  color: var(--color-accent-copper);
  margin: 0;
}

.galerie-evenings__content .section-label::before {
  background-color: var(--color-accent-copper);
}

.galerie-evenings__content .btn {
  margin-top: var(--space-2);
}

/* CTA */
.galerie-cta {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.galerie-cta__inner {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.galerie-cta__inner h2 {
  color: var(--color-text-parchment);
  max-width: 45ch;
  margin: 0;
}

.galerie-cta__inner p {
  color: var(--color-text-parchment);
  margin: 0;
}

.galerie-cta__inner a {
  color: var(--color-accent-copper);
}

.galerie-cta__inner a:hover {
  color: var(--color-accent-walnut);
}

.galerie-cta__inner .section-label {
  color: var(--color-accent-copper);
  margin: 0;
}

.galerie-cta__inner .section-label::before {
  background-color: var(--color-accent-copper);
}

.galerie-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.galerie-cta__actions .btn {
  min-width: 200px;
}

/* FAQ */
.galerie-faq__inner {
  max-width: 800px;
  margin-inline: auto;
}

.galerie-faq__lead {
  max-width: 60ch;
  margin-bottom: var(--space-5);
}

.galerie-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.galerie-faq__item {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  background-color: var(--color-bg-parchment);
  overflow: hidden;
}

.galerie-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: var(--color-text-charcoal);
  text-align: left;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease;
  min-height: 44px;
}

.galerie-faq__question:hover {
  color: var(--color-accent-copper);
}

.galerie-faq__icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  position: relative;
}

.galerie-faq__icon::before,
.galerie-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--color-accent-copper);
  transition: transform 0.3s ease;
}

.galerie-faq__icon::before {
  width: 14px;
  height: 2px;
  transform: translate(-50%, -50%);
}

.galerie-faq__icon::after {
  width: 2px;
  height: 14px;
  transform: translate(-50%, -50%);
}

.galerie-faq__item.is-open .galerie-faq__icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

.galerie-faq__answer {
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-text-charcoal);
}

.galerie-faq__answer p {
  margin: 0;
}

/* Lightbox */
.galerie-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}

.galerie-lightbox[hidden] {
  display: none;
}

.galerie-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(28,28,26,0.92);
  cursor: zoom-out;
}

.galerie-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
}

.galerie-lightbox__close {
  position: absolute;
  top: -48px;
  right: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  line-height: 1;
  color: var(--color-text-parchment);
  background-color: transparent;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
  z-index: 2;
}

.galerie-lightbox__close:hover {
  border-color: var(--color-accent-copper);
  color: var(--color-accent-copper);
}

.galerie-lightbox__nav {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  line-height: 1;
  color: var(--color-text-parchment);
  background-color: rgba(28,28,26,0.6);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.galerie-lightbox__nav:hover {
  border-color: var(--color-accent-copper);
  color: var(--color-accent-copper);
}

.galerie-lightbox__figure {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
}

.galerie-lightbox__image {
  max-width: 100%;
  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
}

.galerie-lightbox__caption {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
  color: var(--color-text-parchment);
  text-align: center;
  max-width: 60ch;
}

/* Reveal animations */
.galerie-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.galerie-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet and desktop */
@media (min-width: 768px) {
  .galerie-hero__content {
    padding: var(--space-8) var(--container-pad-desktop);
  }

  .galerie-intro__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }

  .galerie-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 280px;
    gap: var(--space-4);
  }

  .galerie-grid__item--wide {
    grid-column: span 2;
  }

  .galerie-poker__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
  }

  .galerie-gastro__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }

  .galerie-evenings__content {
    padding: var(--space-8) var(--container-pad-desktop);
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    align-items: flex-start;
  }

  .galerie-evenings__overlay {
    background: linear-gradient(90deg, rgba(28,28,26,0.8) 0%, rgba(28,28,26,0.4) 60%, rgba(28,28,26,0.2) 100%);
  }

  .galerie-cta__inner {
    padding: var(--space-7) 0;
  }

  .galerie-faq__question {
    padding: var(--space-4) var(--space-5);
  }

  .galerie-faq__answer {
    padding: 0 var(--space-5) var(--space-5);
  }
}

@media (min-width: 1024px) {
  .galerie-grid {
    grid-auto-rows: 320px;
  }
}

@media (max-width: 767px) {
  .galerie-hero {
    min-height: 90vh;
  }

  .galerie-hero__content {
    text-align: left;
    align-items: flex-start;
    padding: var(--space-7) var(--container-pad-mobile);
  }

  .galerie-hero__actions {
    justify-content: flex-start;
    width: 100%;
  }

  .galerie-hero__actions .btn {
    flex: 1 1 auto;
    min-width: 0;
  }

  .galerie-evenings {
    min-height: auto;
    padding-block: var(--space-7);
  }

  .galerie-evenings__content {
    padding: var(--space-7) var(--container-pad-mobile);
    align-items: flex-start;
  }

  .galerie-evenings__overlay {
    background: linear-gradient(180deg, rgba(28,28,26,0.8) 0%, rgba(28,28,26,0.5) 100%);
  }

  .galerie-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .galerie-cta__actions .btn {
    width: 100%;
    min-width: 0;
  }

  .galerie-lightbox__dialog {
    flex-direction: column;
    gap: var(--space-2);
  }

  .galerie-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
  }

  .galerie-lightbox__nav--prev {
    left: 0;
  }

  .galerie-lightbox__nav--next {
    right: 0;
  }

  .galerie-lightbox__close {
    top: 0;
    right: 0;
  }

  .galerie-lightbox__image {
    max-height: 60vh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .galerie-hero__media img,
  .galerie-evenings__media img,
  .galerie-grid__item img {
    transition: none;
  }

  .galerie-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* Page-owned styles for pokerove-stoly */

/* Hero section */
.poker-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-bg-dark);
    overflow: hidden;
}

.poker-hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.poker-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.poker-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(28, 28, 26, 0.85) 0%, rgba(28, 28, 26, 0.5) 60%, rgba(28, 28, 26, 0.3) 100%);
}

.poker-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
    padding: var(--space-7) 0;
    color: var(--color-text-parchment);
}

.poker-hero__label {
    color: var(--color-accent-copper);
    margin-bottom: var(--space-3);
}

.poker-hero__title {
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.1;
    max-width: 12ch;
    margin-bottom: var(--space-4);
    color: var(--color-text-parchment);
}

.poker-hero__subtitle {
    font-size: var(--font-size-body-large);
    line-height: var(--line-height-body);
    max-width: 55ch;
    margin-bottom: var(--space-5);
}

.poker-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.poker-hero__secondary-link {
    color: var(--color-accent-copper);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: var(--font-size-small);
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.2s ease;
}

.poker-hero__secondary-link:hover {
    color: var(--color-text-parchment);
}

.poker-hero__note {
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    max-width: 55ch;
    color: var(--color-text-parchment);
    opacity: 0.9;
    margin-bottom: 0;
}

/* Craftsmanship section */
.poker-craftsmanship {
    background-color: var(--color-bg-parchment);
}

.poker-craftsmanship__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    align-items: center;
}

.poker-craftsmanship__content {
    min-width: 0;
}

.poker-craftsmanship__content h2 {
    margin-bottom: var(--space-5);
}

.poker-craftsmanship__unit {
    margin-bottom: var(--space-5);
}

.poker-craftsmanship__unit:last-child {
    margin-bottom: 0;
}

.poker-craftsmanship__unit h3 {
    margin-bottom: var(--space-2);
}

.poker-craftsmanship__unit p {
  }

.poker-craftsmanship__media {
    min-width: 0;
}

.poker-craftsmanship__frame {
    position: relative;
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    overflow: hidden;
    background-color: var(--color-bg-parchment);
}

.poker-craftsmanship__frame::before {
    content: "";
    position: absolute;
    top: var(--space-3);
    left: var(--space-3);
    right: calc(-1 * var(--space-3));
    bottom: calc(-1 * var(--space-3));
    background-color: var(--color-bg-olive);
    border-radius: var(--radius-md);
    z-index: 0;
}

.poker-craftsmanship__image {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 4 / 3;
    transition: transform 0.4s ease;
}

.poker-craftsmanship__image:hover {
    transform: scale(1.02);
}

/* Design section */
.poker-design {
    background-color: var(--color-bg-parchment);
}

.poker-design__container {
    max-width: 800px;
    margin-inline: auto;
}

.poker-design__container h2 {
    margin-bottom: var(--space-5);
}

.poker-design__unit {
    margin-bottom: var(--space-5);
}

.poker-design__unit:last-child {
    margin-bottom: 0;
}

.poker-design__unit h3 {
    margin-bottom: var(--space-2);
}

.poker-design__unit p,
.poker-design__list {
    max-width: 70ch;
}

.poker-design__list {
    padding-left: var(--space-4);
    margin-bottom: 0;
}

/* Configurations section */
.poker-configurations {
    background-color: var(--color-bg-olive);
    color: var(--color-text-parchment);
}

.poker-configurations .section-label {
    color: var(--color-accent-copper);
}

.poker-configurations h2 {
    color: var(--color-text-parchment);
    margin-bottom: var(--space-6);
}

.poker-configurations__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

.poker-config-card {
    background-color: var(--color-bg-dark);
    border: 1px solid var(--color-border-dark);
    border-radius: var(--radius-md);
    padding: var(--card-padding-mobile);
    transition: transform 0.2s ease, border-color 0.2s ease;
    min-width: 0;
}

.poker-config-card:hover {
    transform: translateY(-2px);
    border-color: var(--color-accent-copper);
}

.poker-config-card h3 {
    color: var(--color-text-parchment);
    margin-bottom: var(--space-3);
}

.poker-config-card p {
  color: var(--color-text-parchment);
    opacity: 0.9;
}

/* Atmosphere section */
.poker-atmosphere {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    background-color: var(--color-bg-dark);
    overflow: hidden;
}

.poker-atmosphere__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.poker-atmosphere__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.poker-atmosphere__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(28, 28, 26, 0.9) 0%, rgba(28, 28, 26, 0.6) 50%, rgba(28, 28, 26, 0.3) 100%);
}

.poker-atmosphere__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 600px;
    margin-left: var(--container-pad-mobile);
    padding: var(--space-7) 0;
    color: var(--color-text-parchment);
}

.poker-atmosphere__content .section-label {
    color: var(--color-accent-copper);
}

.poker-atmosphere__content h2 {
    color: var(--color-text-parchment);
    margin-bottom: var(--space-5);
}

.poker-atmosphere__unit {
    margin-bottom: var(--space-4);
}

.poker-atmosphere__unit:last-child {
    margin-bottom: 0;
}

.poker-atmosphere__unit h3 {
    color: var(--color-text-parchment);
    margin-bottom: var(--space-2);
}

.poker-atmosphere__unit p {
  color: var(--color-text-parchment);
    opacity: 0.9;
}

/* Dining section */
.poker-dining {
    background-color: var(--color-bg-parchment);
}

.poker-dining__container {
    max-width: 800px;
    margin-inline: auto;
}

.poker-dining__container h2 {
    margin-bottom: var(--space-5);
}

.poker-dining__unit {
    margin-bottom: var(--space-5);
}

.poker-dining__unit:last-child {
    margin-bottom: 0;
}

.poker-dining__unit h3 {
    margin-bottom: var(--space-2);
}

.poker-dining__unit p {
  }

.poker-dining__unit a {
    color: var(--color-accent-copper);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.poker-dining__unit a:hover {
    color: var(--color-accent-walnut);
}

/* Reservation section */
.poker-reservation {
    background-color: var(--color-bg-olive);
    color: var(--color-text-parchment);
}

.poker-reservation__container {
    max-width: 600px;
    margin-inline: auto;
    text-align: center;
}

.poker-reservation__container .section-label {
    color: var(--color-accent-copper);
}

.poker-reservation__container h2 {
    color: var(--color-text-parchment);
    margin-bottom: var(--space-6);
}

.poker-reservation__options {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.poker-reservation__option {
    min-width: 0;
}

.poker-reservation__option h3 {
    color: var(--color-text-parchment);
    margin-bottom: var(--space-2);
}

.poker-reservation__option p {
  margin-inline: auto;
    margin-bottom: var(--space-4);
    color: var(--color-text-parchment);
    opacity: 0.9;
}

.poker-reservation__option a[href^="tel:"] {
    color: var(--color-accent-copper);
    font-weight: 600;
}

.poker-reservation__option .btn {
    display: inline-flex;
}

/* FAQ section */
.poker-faq {
    background-color: var(--color-bg-parchment);
}

.poker-faq__container {
    max-width: 800px;
    margin-inline: auto;
}

.poker-faq__container h2 {
    margin-bottom: var(--space-6);
}

.poker-faq__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.poker-faq__item {
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    background-color: var(--color-bg-parchment);
    overflow: hidden;
}

.poker-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    width: 100%;
    padding: var(--space-3) var(--space-4);
    background: none;
    border: none;
    font-family: var(--font-heading);
    font-size: var(--font-size-h4);
    font-weight: 600;
    color: var(--color-text-charcoal);
    text-align: left;
    cursor: pointer;
    min-height: 44px;
    transition: color 0.2s ease;
}

.poker-faq__question:hover {
    color: var(--color-accent-copper);
}

.poker-faq__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
}

.poker-faq__icon::before,
.poker-faq__icon::after {
    content: "";
    position: absolute;
    background-color: var(--color-accent-copper);
    transition: transform 0.3s ease;
}

.poker-faq__icon::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
}

.poker-faq__icon::after {
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
}

.poker-faq__item.is-open .poker-faq__icon::after {
    transform: translateX(-50%) scaleY(0);
}

.poker-faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.poker-faq__answer p {
    padding: 0 var(--space-4) var(--space-4);
  margin-bottom: 0;
}

.poker-faq__answer a {
    color: var(--color-accent-copper);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.poker-faq__answer a:hover {
    color: var(--color-accent-walnut);
}

/* Reveal animations */
.poker-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.poker-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive breakpoints */
@media (min-width: 768px) {
    .poker-hero__content {
        margin-inline: auto;
    }

    .poker-craftsmanship__grid {
        grid-template-columns: 7fr 5fr;
        gap: var(--space-7);
    }

    .poker-configurations__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-5);
    }

    .poker-config-card {
        padding: var(--card-padding-desktop);
    }

    .poker-atmosphere__content {
        margin-left: var(--container-pad-desktop);
    }

    .poker-reservation__options {
        flex-direction: row;
        align-items: flex-start;
        gap: var(--space-6);
    }

    .poker-reservation__option {
        flex: 1 1 0%;
    }
}

@media (min-width: 1024px) {
    .poker-hero__title {
        font-size: var(--font-size-display);
    }

    .poker-craftsmanship__grid {
        gap: var(--space-8);
    }
}

@media (max-width: 767px) {
    .poker-hero {
        min-height: auto;
        padding: var(--space-8) 0;
    }

    .poker-hero__content {
        margin-left: var(--container-pad-mobile);
        margin-right: var(--container-pad-mobile);
        max-width: none;
    }

    .poker-hero__title {
        font-size: 36px;
    }

    .poker-hero__subtitle,
    .poker-hero__note {
        font-size: 18px;
    }

    .poker-atmosphere {
        min-height: auto;
        padding: var(--space-8) 0;
    }

    .poker-atmosphere__content {
        margin-left: var(--container-pad-mobile);
        margin-right: var(--container-pad-mobile);
        max-width: none;
    }

    .poker-craftsmanship__frame::before {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .poker-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .poker-craftsmanship__image:hover {
        transform: none;
    }

    .poker-config-card:hover {
        transform: none;
    }
}


/* Page-owned styles for pokerove-vecery */

.pokerove-vecery-page {
  --pv-section-gap: var(--space-8);
}

/* Hero */
.pv-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  background-color: var(--color-bg-dark);
  overflow: hidden;
}

.pv-hero__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.pv-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pv-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28, 28, 26, 0.25) 0%, rgba(28, 28, 26, 0.75) 70%, rgba(28, 28, 26, 0.95) 100%);
}

.pv-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: var(--space-8) var(--space-7);
}

.pv-hero__text-block {
  max-width: 50%;
  color: var(--color-text-parchment);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.pv-hero__kicker {
  color: var(--color-accent-copper);
  margin-bottom: var(--space-2);
}

.pv-hero__title {
  font-size: var(--font-size-display);
  line-height: var(--line-height-display);
  color: var(--color-text-parchment);
  margin: 0;
  letter-spacing: -0.02em;
}

.pv-hero__subtitle {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  margin: 0;
  max-width: 55ch;
}

.pv-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  margin-top: var(--space-2);
}

.pv-hero__cta {
  min-width: 220px;
}

.pv-hero__secondary-link {
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--color-accent-copper);
  padding-bottom: var(--space-1);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.pv-hero__secondary-link:hover {
  color: var(--color-accent-copper);
  border-color: var(--color-accent-walnut);
}

/* Intro */
.pv-intro {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.pv-intro__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.pv-intro__text-block {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pv-intro__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
}

.pv-intro__paragraph {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 65ch;
  margin: 0;
}

.pv-intro__quote {
  grid-column: 8 / span 5;
  margin: 0;
  padding: var(--space-5) var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--font-size-h3);
  font-style: italic;
  line-height: var(--line-height-h3);
  color: var(--color-accent-walnut);
  border-left: 2px solid var(--color-accent-copper);
}

.pv-intro__quote p {
  margin: 0;
}

/* Schedule */
.pv-schedule {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.pv-schedule__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pv-schedule__label {
  color: var(--color-accent-copper);
}

.pv-schedule__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
  color: var(--color-text-parchment);
}

.pv-schedule__intro {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 70ch;
  margin: 0;
}

.pv-schedule__table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  background-color: rgba(28, 28, 26, 0.25);
}

.pv-schedule__table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: var(--color-text-parchment);
}

.pv-schedule__table th,
.pv-schedule__table td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--color-border-dark);
}

.pv-schedule__table thead th {
  font-family: var(--font-heading);
  font-size: var(--font-size-caption);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
  background-color: rgba(28, 28, 26, 0.4);
}

.pv-schedule__table tbody tr:last-child th,
.pv-schedule__table tbody tr:last-child td {
  border-bottom: none;
}

.pv-schedule__table tbody tr {
  transition: background-color 0.2s ease;
}

.pv-schedule__table tbody tr:hover {
  background-color: rgba(84, 60, 46, 0.25);
}

.pv-schedule__note {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  max-width: 70ch;
  margin: 0;
}

.pv-schedule__note a {
  color: var(--color-accent-copper);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pv-schedule__note a:hover {
  color: var(--color-text-parchment);
}

/* Rules */
.pv-rules {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.pv-rules__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.pv-rules__rules-block {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pv-rules__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
}

.pv-rules__lead {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 60ch;
  margin: 0;
}

.pv-rules__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  border-left: 2px solid var(--color-accent-walnut);
  padding-left: var(--space-4);
}

.pv-rules__list li {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  max-width: 60ch;
  position: relative;
  padding-left: var(--space-4);
}

.pv-rules__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-accent-copper);
}

.pv-rules__etiquette-block {
  grid-column: 8 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-border-light);
}

.pv-rules__etiquette-title {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  margin: 0;
}

.pv-rules__etiquette-text {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 50ch;
  margin: 0;
}

/* Atmosphere */
.pv-atmosphere {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.pv-atmosphere__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.pv-atmosphere__text-block {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pv-atmosphere__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
}

.pv-atmosphere__paragraph {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 55ch;
  margin: 0;
}

.pv-atmosphere__image-frame {
  grid-column: 6 / span 7;
  position: relative;
  padding: var(--space-3);
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
}

.pv-atmosphere__image-frame::before {
  content: "";
  position: absolute;
  top: -12px;
  right: -12px;
  bottom: 12px;
  left: 12px;
  background-color: var(--color-bg-olive);
  z-index: 0;
  border: 1px solid var(--color-border-dark);
}

.pv-atmosphere__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-border-light);
  transition: transform 0.4s ease, filter 0.4s ease;
}

.pv-atmosphere__image-frame:hover .pv-atmosphere__image {
  transform: scale(1.02);
  filter: brightness(0.95);
}

/* Lounge */
.pv-lounge {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.pv-lounge__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.pv-lounge__image-frame {
  grid-column: 1 / span 7;
  position: relative;
  padding: var(--space-3);
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
}

.pv-lounge__image-frame::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -12px;
  bottom: -12px;
  right: 12px;
  background-color: var(--color-bg-olive);
  z-index: 0;
  border: 1px solid var(--color-border-dark);
}

.pv-lounge__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-border-light);
  transition: transform 0.4s ease, filter 0.4s ease;
}

.pv-lounge__image-frame:hover .pv-lounge__image {
  transform: scale(1.02);
  filter: brightness(0.95);
}

.pv-lounge__text-block {
  grid-column: 8 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pv-lounge__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
}

.pv-lounge__paragraph {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 50ch;
  margin: 0;
}

/* FAQ */
.pv-faq {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.pv-faq__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pv-faq__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
  text-align: left;
}

.pv-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  border-top: 1px solid var(--color-border-light);
}

.pv-faq__item {
  border-bottom: 1px solid var(--color-border-light);
}

.pv-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-2);
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  font-weight: 600;
  color: var(--color-text-charcoal);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  min-height: 44px;
  transition: color 0.2s ease;
}

.pv-faq__question:hover {
  color: var(--color-accent-copper);
}

.pv-faq__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  display: inline-block;
}

.pv-faq__icon::before,
.pv-faq__icon::after {
  content: "";
  position: absolute;
  background-color: var(--color-accent-copper);
  transition: transform 0.3s ease;
}

.pv-faq__icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.pv-faq__icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.pv-faq__item.is-open .pv-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.pv-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.pv-faq__answer p {
  padding: 0 var(--space-2) var(--space-3) var(--space-2);
  margin: 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  }

/* Booking */
.pv-booking {
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
}

.pv-booking__container {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
}

.pv-booking__label {
  color: var(--color-accent-copper);
}

.pv-booking__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
  color: var(--color-text-parchment);
}

.pv-booking__text {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 50ch;
  margin: 0;
}

.pv-booking__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: center;
}

.pv-booking__contact-item {
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: var(--color-text-parchment);
  text-decoration: none;
  transition: color 0.2s ease;
}

.pv-booking__contact-item:hover {
  color: var(--color-accent-copper);
}

.pv-booking__contact-item--address {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
}

.pv-booking__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  align-items: center;
}

.pv-booking__cta {
  min-width: 200px;
}

.pv-booking__secondary-link {
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--color-accent-copper);
  padding-bottom: var(--space-1);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.pv-booking__secondary-link:hover {
  color: var(--color-accent-copper);
  border-color: var(--color-accent-walnut);
}

/* Gallery */
.pv-gallery {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.pv-gallery__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  text-align: center;
}

.pv-gallery__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  margin: 0;
}

.pv-gallery__intro {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  max-width: 50ch;
  margin: 0;
}

.pv-gallery__grid {
  width: 100%;
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.pv-gallery__item {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.pv-gallery__link {
  display: block;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
}

.pv-gallery__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, filter 0.4s ease;
}

.pv-gallery__link:hover .pv-gallery__image {
  transform: scale(1.03);
  filter: brightness(0.9);
}

.pv-gallery__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(165, 109, 69, 0.35) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.pv-gallery__link:hover::after {
  opacity: 1;
}

.pv-gallery__caption {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
  color: var(--color-accent-walnut);
  margin: 0;
}

/* Reveal animation */
.pv-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.pv-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1023px) {
  .pv-hero__text-block {
    max-width: 65%;
  }

  .pv-intro__container,
  .pv-rules__container,
  .pv-atmosphere__container,
  .pv-lounge__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .pv-intro__text-block {
    grid-column: 1 / span 6;
  }

  .pv-intro__quote {
    grid-column: 7 / span 2;
  }

  .pv-rules__rules-block {
    grid-column: 1 / span 5;
  }

  .pv-rules__etiquette-block {
    grid-column: 6 / span 3;
  }

  .pv-atmosphere__text-block {
    grid-column: 1 / span 4;
  }

  .pv-atmosphere__image-frame {
    grid-column: 5 / span 4;
  }

  .pv-lounge__image-frame {
    grid-column: 1 / span 4;
  }

  .pv-lounge__text-block {
    grid-column: 5 / span 4;
  }
}

@media (max-width: 767px) {
  .pokerove-vecery-page {
    --pv-section-gap: var(--space-7);
  }

  .pv-hero {
    min-height: 60vh;
    align-items: flex-end;
  }

  .pv-hero__content {
    padding-block: var(--space-6) var(--space-5);
  }

  .pv-hero__text-block {
    max-width: 100%;
    gap: var(--space-3);
  }

  .pv-hero__title {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }

  .pv-hero__subtitle {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
  }

  .pv-hero__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .pv-hero__cta {
    width: 100%;
    min-width: 0;
  }

  .pv-hero__secondary-link {
    text-align: center;
  }

  .pv-intro__container,
  .pv-rules__container,
  .pv-atmosphere__container,
  .pv-lounge__container {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .pv-intro__text-block,
  .pv-intro__quote,
  .pv-rules__rules-block,
  .pv-rules__etiquette-block,
  .pv-atmosphere__text-block,
  .pv-atmosphere__image-frame,
  .pv-lounge__image-frame,
  .pv-lounge__text-block {
    grid-column: 1 / -1;
  }

  .pv-intro__quote {
    padding: var(--space-4) var(--space-3);
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }

  .pv-rules__etiquette-block {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--color-border-light);
    padding-top: var(--space-4);
  }

  .pv-atmosphere__image-frame::before,
  .pv-lounge__image-frame::before {
    display: none;
  }

  .pv-atmosphere__image-frame,
  .pv-lounge__image-frame {
    padding: var(--space-2);
  }

  .pv-schedule__table-wrap {
    border-radius: var(--radius-sm);
  }

  .pv-faq__container {
    max-width: 100%;
  }

  .pv-booking__container {
    max-width: 100%;
  }

  .pv-booking__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .pv-booking__cta {
    width: 100%;
    min-width: 0;
  }

  .pv-booking__secondary-link {
    text-align: center;
  }

  .pv-gallery__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pv-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .pv-atmosphere__image,
  .pv-lounge__image,
  .pv-gallery__image {
    transition: none;
  }

  .pv-atmosphere__image-frame:hover .pv-atmosphere__image,
  .pv-lounge__image-frame:hover .pv-lounge__image,
  .pv-gallery__link:hover .pv-gallery__image {
    transform: none;
    filter: none;
  }
}


/* Pokerový salonek page styles */

.poker-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-bg-dark);
}

.poker-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url('/src/media/poker-lounge-hero.webp');
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  transition: transform 0.6s ease;
}

.poker-hero__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(28, 28, 26, 0.75) 0%, rgba(28, 28, 26, 0.55) 50%, rgba(28, 28, 26, 0.35) 100%);
}

.poker-hero__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}

.poker-hero__content {
  max-width: 560px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.poker-hero__overline {
  color: var(--color-accent-copper);
  margin-bottom: 0;
}

.poker-hero__title {
  color: var(--color-text-parchment);
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.1;
  margin-bottom: 0;
  max-width: 560px;
}

.poker-hero__lead {
  color: var(--color-text-parchment);
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  max-width: 560px;
  margin-bottom: 0;
}

.poker-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  margin-top: var(--space-2);
}

.poker-hero__btn {
  min-width: 220px;
}

.poker-hero__link {
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 44px;
  transition: color 0.2s ease;
}

.poker-hero__link:hover {
  color: var(--color-accent-copper);
}

.poker-concept__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.poker-concept__text {
  grid-column: 1 / 8;
  max-width: 520px;
  min-width: 0;
}

.poker-concept__text h2 {
  margin-bottom: var(--space-4);
}

.poker-concept__text p {
  margin-bottom: var(--space-4);
}

.poker-concept__quote {
  margin: var(--space-5) 0 0;
  padding: var(--space-4) 0 0;
  border-left: none;
  border-top: 2px solid var(--color-accent-copper);
  font-family: var(--font-heading);
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  font-style: italic;
  color: var(--color-accent-walnut);
  position: relative;
}

.poker-concept__quote-mark {
  color: var(--color-accent-copper);
  font-size: 2em;
  line-height: 1;
  display: block;
  margin-bottom: var(--space-2);
}

.poker-concept__quote p {
  margin-bottom: var(--space-2);
  font-size: inherit;
  line-height: inherit;
}

.poker-concept__cite {
  display: block;
  font-style: normal;
  font-size: var(--font-size-small);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-walnut);
}

.poker-concept__media {
  grid-column: 8 / 13;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

.poker-concept__frame {
  position: relative;
  width: 100%;
  max-width: 480px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.poker-concept__frame::before {
  content: '';
  position: absolute;
  inset: 8px -8px -8px 8px;
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  z-index: 0;
}

.poker-concept__frame img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

.poker-concept__frame:hover img {
  transform: scale(1.02);
}

.poker-atmosphere__header {
  margin-bottom: var(--space-5);
}

.poker-atmosphere__header h2 {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.poker-atmosphere__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.poker-atmosphere__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-4);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.poker-atmosphere__card:hover {
  transform: translateY(-2px);
  border-color: var(--color-accent-copper);
}

.poker-atmosphere__card h3 {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.poker-atmosphere__card p {
  color: var(--color-text-parchment);
  margin-bottom: 0;
  }

.poker-atmosphere__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent-copper);
}

.poker-atmosphere__icon-shape {
  display: block;
  width: 24px;
  height: 24px;
  border: 2px solid currentColor;
  border-radius: 50%;
  position: relative;
}

.poker-atmosphere__icon-shape--lamp::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background-color: currentColor;
  border-radius: 50%;
}

.poker-atmosphere__icon-shape--wood {
  border-radius: 0;
  transform: rotate(45deg);
}

.poker-atmosphere__icon-shape--note {
  border-radius: 0;
  border: none;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  clip-path: polygon(0% 100%, 0% 20%, 50% 0%, 100% 20%, 100% 100%, 50% 80%);
}

.poker-evenings__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.poker-evenings__text {
  grid-column: 1 / 8;
  max-width: 520px;
  min-width: 0;
}

.poker-evenings__text h2 {
  margin-bottom: var(--space-4);
}

.poker-evenings__text p {
  margin-bottom: var(--space-4);
}

.poker-evenings__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.poker-evenings__list li {
  padding-left: var(--space-4);
  position: relative;
}

.poker-evenings__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 8px;
  height: 8px;
  background-color: var(--color-accent-copper);
  border-radius: 50%;
}

.poker-evenings__panel {
  grid-column: 8 / 13;
  max-width: 400px;
  min-width: 0;
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.poker-evenings__panel-title {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.poker-evenings__timeline {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.poker-evenings__timeline-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border-dark);
}

.poker-evenings__timeline-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.poker-evenings__time {
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
}

.poker-evenings__desc {
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.poker-tables__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.poker-tables__text {
  grid-column: 1 / 7;
  max-width: 520px;
  min-width: 0;
  color: var(--color-text-parchment);
}

.poker-tables__text h2 {
  color: var(--color-text-parchment);
  margin-bottom: var(--space-4);
}

.poker-tables__text p {
  color: var(--color-text-parchment);
  margin-bottom: var(--space-4);
}

.poker-tables__specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
}

.poker-tables__spec {
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-sm);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}

.poker-tables__spec dt {
  font-size: var(--font-size-caption);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
}

.poker-tables__spec dd {
  margin: 0;
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.poker-tables__media {
  grid-column: 7 / 13;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

.poker-tables__frame {
  position: relative;
  width: 100%;
  max-width: 560px;
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.poker-tables__frame::before {
  content: '';
  position: absolute;
  inset: 8px -8px -8px 8px;
  background-color: var(--color-bg-olive);
  border: 1px solid var(--color-border-dark);
  border-radius: var(--radius-md);
  z-index: 0;
}

.poker-tables__frame img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

.poker-tables__frame:hover img {
  transform: scale(1.02);
}

.poker-booking__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.poker-booking__text {
  grid-column: 1 / 8;
  max-width: 520px;
  min-width: 0;
}

.poker-booking__text h2 {
  margin-bottom: var(--space-4);
}

.poker-booking__text p {
  margin-bottom: var(--space-4);
}

.poker-booking__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.poker-booking__list li {
  padding-left: var(--space-4);
  position: relative;
}

.poker-booking__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 8px;
  height: 8px;
  background-color: var(--color-accent-copper);
  border-radius: 50%;
}

.poker-booking__form-wrap {
  grid-column: 8 / 13;
  min-width: 0;
  padding: var(--space-5);
}

.poker-booking__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.poker-booking__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.poker-booking__field label {
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.poker-booking__field input,
.poker-booking__field select {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--color-border-dark);
  color: var(--color-text-parchment);
  padding: var(--space-2) 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  transition: border-color 0.2s ease;
  width: 100%;
  min-width: 0;
}

.poker-booking__field input::placeholder {
  color: rgba(238, 229, 213, 0.6);
}

.poker-booking__field input:focus,
.poker-booking__field select:focus {
  outline: none;
  border-bottom: 2px solid var(--color-accent-copper);
}

.poker-booking__field select option {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.poker-booking__submit {
  margin-top: var(--space-2);
  width: 100%;
}

.poker-faq__container {
  max-width: 720px;
  margin-inline: auto;
}

.poker-faq__container h2 {
  margin-bottom: var(--space-5);
}

.poker-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.poker-faq__item {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.poker-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background-color: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: var(--color-text-charcoal);
  min-height: 44px;
  transition: color 0.2s ease;
}

.poker-faq__question:hover {
  color: var(--color-accent-copper);
}

.poker-faq__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  position: relative;
  transition: transform 0.3s ease;
}

.poker-faq__icon::before,
.poker-faq__icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-accent-copper);
  transition: transform 0.3s ease;
}

.poker-faq__icon::before {
  width: 16px;
  height: 2px;
}

.poker-faq__icon::after {
  width: 2px;
  height: 16px;
}

.poker-faq__item.open .poker-faq__icon {
  transform: rotate(45deg);
}

.poker-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.poker-faq__answer p {
  padding: 0 var(--space-4) var(--space-4);
  margin: 0;
  color: var(--color-accent-walnut);
}

.poker-faq__item.open .poker-faq__answer {
  max-height: 200px;
}

.poker-final {
  padding-block: var(--space-8);
  text-align: center;
}

.poker-final__container {
  max-width: 640px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.poker-final__overline {
  margin-bottom: 0;
}

.poker-final h2 {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.poker-final__lead {
  color: var(--color-text-parchment);
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  margin-bottom: 0;
}

.poker-final__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-top: var(--space-2);
}

.poker-final__contact {
  color: var(--color-text-parchment);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  margin-top: var(--space-3);
  margin-bottom: 0;
}

.poker-final__contact a {
  color: var(--color-accent-copper);
}

.poker-final__contact a:hover {
  color: var(--color-text-parchment);
}

@media (max-width: 1024px) {
  .poker-concept__grid,
  .poker-evenings__grid,
  .poker-tables__grid,
  .poker-booking__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .poker-concept__text,
  .poker-concept__media,
  .poker-evenings__text,
  .poker-evenings__panel,
  .poker-tables__text,
  .poker-tables__media,
  .poker-booking__text,
  .poker-booking__form-wrap {
    grid-column: 1 / -1;
  width: 100%;
  }

  .poker-concept__media,
  .poker-tables__media {
    justify-content: flex-start;
  }

  .poker-concept__frame,
  .poker-tables__frame {
    max-width: 100%;
  }

  .poker-atmosphere__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .poker-atmosphere__card p {
  }
}

@media (max-width: 768px) {
  .poker-hero {
    min-height: 500px;
  }

  .poker-hero__container {
    padding-inline: var(--container-pad-mobile);
  }

  .poker-hero__content {
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

  .poker-hero__title {
    font-size: 36px;
    max-width: 100%;
  }

  .poker-hero__lead {
    font-size: var(--font-size-body);
    max-width: 100%;
  }

  .poker-hero__actions {
    justify-content: center;
    width: 100%;
  }

  .poker-hero__btn {
    width: 100%;
  }

  .poker-hero__link {
    width: 100%;
    justify-content: center;
  }

  .poker-concept__grid,
  .poker-evenings__grid,
  .poker-tables__grid,
  .poker-booking__grid {
    gap: var(--space-4);
  }

  .poker-concept__quote {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
    text-align: center;
  }

  .poker-concept__quote-mark {
    text-align: center;
  }

  .poker-concept__cite {
    text-align: center;
  }

  .poker-evenings__panel,
  .poker-booking__form-wrap {
    padding: var(--space-4);
  }

  .poker-tables__specs {
    grid-template-columns: 1fr;
  }

  .poker-final {
    padding-block: var(--space-7);
  }

  .poker-final__actions {
    flex-direction: column;
    width: 100%;
  }

  .poker-final__actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .poker-hero__bg {
    transform: none;
    transition: none;
  }

  .poker-concept__frame img,
  .poker-tables__frame img {
    transition: none;
  }

  .poker-faq__answer {
    transition: none;
  }
}


/* Akce page styles */

.akce-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--color-bg-dark);
}

.akce-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.akce-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28, 28, 26, 0.35) 0%, rgba(28, 28, 26, 0.78) 100%);
  pointer-events: none;
}

.akce-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--space-6) var(--container-pad-mobile);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-text-parchment);
}

.akce-hero__label {
  color: var(--color-accent-copper);
  margin-bottom: 0;
}

.akce-hero__title {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: var(--color-text-parchment);
  margin-bottom: 0;
  max-width: 600px;
}

.akce-hero__subtitle {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  margin-bottom: 0;
  max-width: 520px;
}

.akce-hero__cta {
  margin-top: var(--space-2);
}

.akce-kalendar {
  background-color: var(--color-bg-parchment);
}

.akce-kalendar__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.akce-kalendar__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: flex-start;
}

.akce-kalendar__heading .section-label {
  margin-bottom: 0;
}

.akce-kalendar__heading h2 {
  margin-bottom: 0;
}

.akce-kalendar__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-accent-walnut);
  max-width: 560px;
  margin-bottom: 0;
}

.akce-kalendar__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.akce-card {
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform 0.2s ease, border-color 0.2s ease;
  min-width: 0;
}

.akce-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-accent-copper);
}

.akce-card__media {
  width: 100%;
  height: 200px;
  overflow: hidden;
  background-color: var(--color-bg-olive);
}

.akce-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.akce-card:hover .akce-card__media img {
  transform: scale(1.02);
}

.akce-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
  flex: 1 1 auto;
  min-width: 0;
}

.akce-card__date {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
  margin-bottom: 0;
}

.akce-card__title {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  color: var(--color-text-charcoal);
  margin-bottom: 0;
  overflow-wrap: break-word;
}

.akce-card__text {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: var(--color-text-charcoal);
  margin-bottom: 0;
}

.akce-card__link {
  margin-top: auto;
  font-size: var(--font-size-small);
  font-weight: 600;
  color: var(--color-accent-copper);
  text-decoration: none;
  position: relative;
  display: inline-block;
  width: fit-content;
}

.akce-card__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: var(--color-accent-copper);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.akce-card__link:hover::after {
  transform: scaleX(1);
}

.akce-detail {
  background-color: var(--color-bg-parchment);
}

.akce-detail--dark {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.akce-detail--light {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.akce-detail__container {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: var(--space-5);
  align-items: center;
}

.akce-detail__container--reverse {
  grid-template-columns: 60% 40%;
}

.akce-detail__media {
  min-width: 0;
  width: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border-dark);
  background-color: var(--color-bg-dark);
}

.akce-detail--light .akce-detail__media {
  border-color: var(--color-border-light);
}

.akce-detail__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 4 / 3;
  transition: transform 0.3s ease;
}

.akce-detail__media:hover img {
  transform: scale(1.02);
}

.akce-detail__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
  min-width: 0;
  max-width: 500px;
}

.akce-detail__content .section-label {
  margin-bottom: 0;
}

.akce-detail__content h3 {
  margin-bottom: 0;
  color: inherit;
  overflow-wrap: break-word;
}

.akce-detail__meta {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-accent-copper);
  margin-bottom: 0;
  font-weight: 600;
}

.akce-detail__content p {
  margin-bottom: 0;
  color: inherit;
}

.akce-detail__list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
}

.akce-detail__list li {
  position: relative;
  padding-left: var(--space-4);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: inherit;
}

.akce-detail__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 8px;
  height: 8px;
  border: 1px solid var(--color-accent-copper);
  border-radius: var(--radius-round);
  background-color: transparent;
}

.akce-detail__cta {
  margin-top: var(--space-2);
}

.akce-rezervace {
  background-color: var(--color-bg-parchment);
}

.akce-rezervace__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: flex-start;
  max-width: 700px;
}

.akce-rezervace__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: flex-start;
}

.akce-rezervace__heading .section-label {
  margin-bottom: 0;
}

.akce-rezervace__heading h2 {
  margin-bottom: 0;
}

.akce-rezervace__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-accent-walnut);
  margin-bottom: 0;
}

.akce-form {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-4);
}

.akce-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.akce-form__field label {
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-charcoal);
}

.akce-form__field input,
.akce-form__field select,
.akce-form__field textarea {
  width: 100%;
  min-width: 0;
  padding: var(--space-2) 0;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--color-border-light);
  border-radius: 0;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-charcoal);
  transition: border-color 0.2s ease;
}

.akce-form__field input:focus,
.akce-form__field select:focus,
.akce-form__field textarea:focus {
  outline: none;
  border-bottom-color: var(--color-accent-copper);
}

.akce-form__field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23543C2E' d='M8 11L3 6h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: var(--space-4);
}

.akce-form__field textarea {
  resize: vertical;
  min-height: 80px;
}

.akce-form__error {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
  color: #b23a2e;
  margin-bottom: 0;
}

.akce-form__submit {
  align-self: flex-start;
  margin-top: var(--space-2);
}

.akce-form__success {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-accent-walnut);
  background-color: rgba(165, 109, 69, 0.12);
  border: 1px solid var(--color-accent-copper);
  border-radius: var(--radius-sm);
  padding: var(--space-3);
  margin-bottom: 0;
}

.akce-faq {
  background-color: var(--color-bg-parchment);
}

.akce-faq__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: flex-start;
  max-width: 760px;
}

.akce-faq__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: flex-start;
}

.akce-faq__heading .section-label {
  margin-bottom: 0;
}

.akce-faq__heading h2 {
  margin-bottom: 0;
}

.akce-faq__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-accent-walnut);
  margin-bottom: 0;
}

.akce-accordion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.akce-accordion__item {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  background-color: var(--color-bg-parchment);
  overflow: hidden;
}

.akce-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  min-height: 48px;
  padding: var(--space-3) var(--space-4);
  background-color: transparent;
  border: none;
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: var(--line-height-body);
  color: var(--color-text-charcoal);
  text-align: left;
  cursor: pointer;
  transition: color 0.2s ease;
}

.akce-accordion__trigger:hover {
  color: var(--color-accent-copper);
}

.akce-accordion__icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  position: relative;
}

.akce-accordion__icon::before,
.akce-accordion__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 1px;
  background-color: var(--color-accent-copper);
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

.akce-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.akce-accordion__trigger[aria-expanded="true"] .akce-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.akce-accordion__panel {
  padding: 0 var(--space-4) var(--space-4);
}

.akce-accordion__panel p {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-charcoal);
  margin-bottom: 0;
}

.akce-zaver {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.akce-zaver__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
  text-align: center;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.akce-zaver__label {
  color: var(--color-accent-copper);
  margin-bottom: 0;
}

.akce-zaver__container h2 {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.akce-zaver__text {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.akce-zaver__contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  margin-bottom: 0;
  color: var(--color-text-parchment);
}

.akce-zaver__contacts a {
  color: var(--color-accent-copper);
  text-decoration: none;
  transition: color 0.2s ease;
}

.akce-zaver__contacts a:hover {
  color: var(--color-text-parchment);
}

.akce-zaver__cta {
  margin-top: var(--space-2);
}

@media (min-width: 768px) {
  .akce-hero__content {
    padding: var(--space-6) var(--container-pad-desktop);
  }

  .akce-form {
    padding: var(--space-5);
  }
}

@media (max-width: 1023px) {
  .akce-kalendar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .akce-detail__container,
  .akce-detail__container--reverse {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .akce-detail__media {
    order: -1;
  }

  .akce-detail__content {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .akce-hero {
    min-height: 70vh;
  }

  .akce-hero__content {
    padding: var(--space-5) var(--container-pad-mobile);
    gap: var(--space-2);
  }

  .akce-hero__title {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }

  .akce-hero__subtitle {
    font-size: var(--font-size-body);
  }

  .akce-kalendar__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .akce-card__media {
    height: 180px;
  }

  .akce-form {
    padding: var(--space-3);
  }

  .akce-form__submit,
  .akce-hero__cta,
  .akce-detail__cta,
  .akce-zaver__cta {
    width: 100%;
  }

  .akce-zaver__contacts {
    flex-direction: column;
    gap: var(--space-1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .akce-card,
  .akce-card__media img,
  .akce-detail__media img,
  .akce-accordion__trigger,
  .akce-accordion__icon::before,
  .akce-accordion__icon::after,
  .akce-zaver__contacts a {
    transition: none;
  }

  .akce-card:hover {
    transform: none;
  }
}


/* ===== HOME PAGE STYLES ===== */

/* Hero */
.home-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: flex-end;
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
  overflow: hidden;
}

.home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  animation: homeHeroZoom 1.5s ease-out forwards;
}

@keyframes homeHeroZoom {
  from { transform: scale(1.05); }
  to { transform: scale(1); }
}

.home-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(28, 28, 26, 0.35) 0%, rgba(28, 28, 26, 0.75) 60%, rgba(28, 28, 26, 0.95) 100%);
}

.home-hero__content {
  position: relative;
  z-index: 1;
  padding-block: var(--space-8) var(--space-7);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-hero__rule {
  display: block;
  width: 80px;
  height: 2px;
  background-color: var(--color-accent-copper);
  margin-bottom: var(--space-2);
}

.home-hero__heading {
  font-size: var(--font-size-display);
  line-height: var(--line-height-display);
  color: var(--color-text-parchment);
  max-width: 80ch;
  margin-bottom: 0;
}

.home-hero__lead {
  font-size: var(--font-size-body-large);
  line-height: var(--line-height-body);
  color: var(--color-text-parchment);
  max-width: 62ch;
  margin-bottom: 0;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.home-hero__btn {
  min-width: 200px;
}

.home-hero__btn--secondary {
  color: var(--color-text-parchment);
  border-color: var(--color-accent-copper);
}

.home-hero__btn--secondary:hover {
  background-color: var(--color-accent-copper);
  color: var(--color-text-charcoal);
}

.home-hero__trust {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-caption);
  color: var(--color-text-parchment);
  opacity: 0.8;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .home-hero {
    min-height: 80vh;
  }
  .home-hero__content {
    max-width: 50%;
  }
}

/* Concept */
.home-concept {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.home-concept__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: start;
}

.home-concept__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.home-concept__paragraph {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.home-concept__paragraph h3 {
  margin-bottom: 0;
}

.home-concept__paragraph p {
  margin-bottom: 0;
}

.home-concept__media {
  display: flex;
  justify-content: flex-end;
}

.home-concept__frame {
  position: relative;
  width: 100%;
  max-width: 420px;
  padding: var(--space-3);
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-accent-walnut);
}

.home-concept__frame::before {
  content: "";
  position: absolute;
  top: 12px;
  left: -12px;
  right: 12px;
  bottom: -12px;
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  z-index: -1;
}

.home-concept__image {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-accent-walnut);
}

.home-concept__quote {
  max-width: 48ch;
  margin-inline: auto;
  margin-top: var(--space-7);
  text-align: center;
}

@media (min-width: 768px) {
  .home-concept__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-7);
  }
  .home-concept__text {
    gap: var(--space-6);
  }
  .home-concept__frame {
    max-width: 100%;
  }
}

/* Cuisine */
.home-cuisine {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.home-cuisine__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.home-cuisine__card {
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--card-padding-mobile);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: border-color 0.2s ease;
}

.home-cuisine__card:hover {
  border-color: var(--color-accent-copper);
}

.home-cuisine__card h3 {
  margin-bottom: 0;
}

.home-cuisine__card p {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .home-cuisine__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
  .home-cuisine__card {
    padding: var(--card-padding-desktop);
  }
}

/* Lounge */
.home-lounge {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.home-lounge__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.home-lounge__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.home-lounge__paragraph {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.home-lounge__paragraph h3 {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.home-lounge__paragraph p {
  margin-bottom: 0;
}

.home-lounge__btn {
  align-self: flex-start;
}

.home-lounge__media {
  width: 100%;
}

.home-lounge__image {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-border-dark);
  transition: transform 0.3s ease, filter 0.3s ease;
}

.home-lounge__image:hover {
  transform: scale(1.02);
  filter: brightness(0.9) sepia(0.2);
}

@media (min-width: 768px) {
  .home-lounge__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
  }
  .home-lounge__media {
    height: 100%;
  }
  .home-lounge__image {
    height: 100%;
    object-fit: cover;
  }
}

/* Evenings */
.home-evenings {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.home-evenings__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 800px;
  margin-inline: auto;
  margin-top: var(--space-5);
}

.home-evenings__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-accent-copper);
}

.home-evenings__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.home-evenings__number {
  font-family: var(--font-heading);
  font-size: var(--font-size-h4);
  color: var(--color-accent-copper);
  letter-spacing: 0.08em;
}

.home-evenings__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.home-evenings__content h3 {
  margin-bottom: 0;
}

.home-evenings__content p {
  margin-bottom: 0;
}

.home-evenings__btn {
  align-self: flex-start;
  margin-top: var(--space-2);
}

@media (min-width: 768px) {
  .home-evenings__item {
    flex-direction: row;
    gap: var(--space-5);
    align-items: flex-start;
  }
  .home-evenings__number {
    flex: 0 0 60px;
  }
  .home-evenings__content {
    flex: 1;
  }
}

/* Tables */
.home-tables {
  background-color: var(--color-bg-olive);
  color: var(--color-text-parchment);
}

.home-tables__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.home-tables__media {
  width: 100%;
}

.home-tables__image {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--color-accent-copper);
}

.home-tables__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.home-tables__paragraph {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.home-tables__paragraph h3 {
  color: var(--color-text-parchment);
  margin-bottom: 0;
}

.home-tables__paragraph p {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .home-tables__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
  }
  .home-tables__media {
    order: 1;
  }
  .home-tables__text {
    order: 2;
  }
}

/* Events */
.home-events {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.home-events__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.home-events__card {
  background-color: var(--color-bg-parchment);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--card-padding-mobile);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: border-color 0.2s ease;
}

.home-events__card:hover {
  border-color: var(--color-accent-copper);
}

.home-events__label {
  font-size: var(--font-size-caption);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent-copper);
}

.home-events__card h3 {
  margin-bottom: 0;
}

.home-events__card p {
  margin-bottom: 0;
}

.home-events__cta {
  display: flex;
  justify-content: center;
  margin-top: var(--space-5);
}

.home-events__btn {
  min-width: 220px;
}

@media (min-width: 768px) {
  .home-events__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }
  .home-events__card {
    padding: var(--card-padding-desktop);
  }
}

/* Gallery */
.home-gallery {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.home-gallery__intro {
  max-width: 72ch;
  margin-bottom: var(--space-5);
}

.home-gallery__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.home-gallery__item {
  display: block;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
}

.home-gallery__image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.home-gallery__item:hover .home-gallery__image {
  transform: scale(1.02);
  filter: brightness(0.9) sepia(0.2);
}

@media (min-width: 768px) {
  .home-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

/* FAQ */
.home-faq {
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
}

.home-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 800px;
  margin-inline: auto;
  margin-top: var(--space-5);
}

.home-faq__item {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.home-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  min-height: 44px;
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-bg-parchment);
  color: var(--color-text-charcoal);
  font-family: var(--font-heading);
  font-size: var(--font-size-body);
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.home-faq__question:hover {
  background-color: rgba(165, 109, 69, 0.08);
}

.home-faq__question[aria-expanded="true"] {
  color: var(--color-accent-walnut);
}

.home-faq__icon {
  position: relative;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.home-faq__icon::before,
.home-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background-color: var(--color-accent-copper);
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}

.home-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.home-faq__question[aria-expanded="true"] .home-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.home-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.home-faq__answer p {
  padding: 0 var(--space-4) var(--space-4);
  margin-bottom: 0;
}

.home-faq__item--open .home-faq__answer {
  max-height: 300px;
}

/* Contact */
.home-contact {
  background-color: var(--color-bg-dark);
  color: var(--color-text-parchment);
}

.home-contact__inner {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.home-contact__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: 0;
}

.home-contact__details p {
  margin-bottom: 0;
  }

.home-contact__details a {
  color: var(--color-accent-copper);
}

.home-contact__details a:hover {
  color: var(--color-text-parchment);
}

.home-contact__message {
  max-width: 62ch;
  margin-bottom: 0;
}

.home-contact__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.home-contact__btn {
  min-width: 200px;
}

.home-contact__btn--secondary {
  color: var(--color-text-parchment);
  border-color: var(--color-accent-copper);
}

.home-contact__btn--secondary:hover {
  background-color: var(--color-accent-copper);
  color: var(--color-text-charcoal);
}

/* Reveal animations */
.home-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.home-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__image {
    animation: none;
  }
  .home-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
  .home-hero__content {
    max-width: 60%;
  }
  .home-concept__grid,
  .home-lounge__grid,
  .home-tables__grid {
    gap: var(--space-5);
  }
  .home-cuisine__grid,
  .home-gallery__grid {
    gap: var(--space-4);
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .home-hero {
    min-height: 70vh;
  }
  .home-hero__heading {
    font-size: 36px;
  }
  .home-hero__lead {
    font-size: 16px;
  }
  .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .home-hero__btn {
    width: 100%;
    min-width: 0;
  }
  .home-concept__frame::before {
    display: none;
  }
  .home-concept__frame {
    padding: 0;
    border: none;
  }
  .home-concept__image {
    border: 1px solid var(--color-accent-walnut);
  }
  .home-evenings__btn,
  .home-events__btn,
  .home-contact__btn {
    width: 100%;
    min-width: 0;
  }
  .home-contact__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
}


.thank-you {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 200px);
    padding: var(--space-7) var(--container-pad-mobile);
    background-color: var(--color-bg-parchment);
}

.thank-you__content {
    max-width: 640px;
    width: 100%;
    text-align: center;
    margin-inline: auto;
}

.thank-you__label {
    display: inline-block;
    font-size: var(--font-size-small);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent-copper);
    margin-bottom: var(--space-3);
}

.thank-you__title {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
    margin-bottom: var(--space-4);
    color: var(--color-text-charcoal);
}

.thank-you__message {
    font-size: var(--font-size-body-large);
    line-height: var(--line-height-body);
    margin-bottom: var(--space-3);
    color: var(--color-text-charcoal);
}

.thank-you__next {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    margin-bottom: var(--space-5);
    color: var(--color-accent-walnut);
}

.thank-you__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: center;
}

@media (min-width: 768px) {
    .thank-you {
        padding: var(--space-8) var(--container-pad-desktop);
    }
}