

:root {
  --color-cream-bg: #FDF6EC;
  --color-apricot-primary: #F2A65A;
  --color-sage-secondary: #A8C3A0;
  --color-deep-teal-text: #1F3D3D;
  --color-cream-on-dark: #FDF6EC;
  --color-deep-teal-surface: #1F3D3D;
  --color-apricot-deep: #C96F2A;
  --color-sage-deep: #5E7A5E;
  --color-white-surface: #FFFFFF;

  --font-heading: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;

  --text-display: clamp(2.5rem, 5vw, 3.5rem);
  --text-h1: clamp(2rem, 3.5vw, 2.5rem);
  --text-h2: clamp(1.75rem, 2.5vw, 2rem);
  --text-h3: clamp(1.375rem, 1.75vw, 1.5rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-caption: 0.75rem;

  --leading-display: 1.1;
  --leading-h1: 1.2;
  --leading-h2: 1.25;
  --leading-h3: 1.3;
  --leading-body: 1.6;
  --leading-small: 1.5;
  --leading-caption: 1.4;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4rem;
  --space-8: 6rem;

  --container-max: 75rem;
  --container-gutter: 1.5rem;

  --radius-small: 0.25rem;
  --radius-medium: 0.5rem;
  --radius-large: 1rem;

  --shadow-soft: 0 2px 8px rgba(31, 61, 61, 0.08);
  --shadow-hover: 0 4px 12px rgba(31, 61, 61, 0.12);

  --border-sage: 1px solid rgba(168, 195, 160, 0.6);
  --border-apricot: 1px solid rgba(242, 166, 90, 0.5);

  --transition-color: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
  --transition-transform: transform 250ms ease, box-shadow 250ms ease;

  --focus-outline: 2px solid var(--color-apricot-primary);
  --focus-outline-offset: 2px;
}

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

* {
  margin: 0;
}

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

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-deep-teal-text);
  background-color: var(--color-cream-bg);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-deep-teal-text);
  line-height: var(--leading-h2);
}

h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: var(--space-4);
}

h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  margin-block-end: var(--space-3);
}

h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  margin-block-end: var(--space-3);
}

h4,
h5,
h6 {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: var(--space-2);
}

p {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: var(--space-3);
}

ul,
ol {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
}

blockquote {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-sage-secondary);
  color: var(--color-sage-deep);
}

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

figcaption {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sage-deep);
  margin-block-start: var(--space-2);
}

hr {
  border: none;
  border-block-start: 1px solid rgba(168, 195, 160, 0.5);
  margin-block: var(--space-5);
}

a {
  color: var(--color-apricot-deep);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: var(--transition-color);
}

a:hover {
  color: var(--color-deep-teal-text);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

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

strong,
b {
  font-weight: 600;
}

small {
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

code,
pre {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.9em;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: var(--space-4);
}

th,
td {
  text-align: start;
  padding: var(--space-2) var(--space-3);
  border-block-end: 1px solid rgba(168, 195, 160, 0.4);
}

th {
  font-weight: 600;
  color: var(--color-deep-teal-text);
}

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

.surface-card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
  box-shadow: var(--shadow-soft);
}

.surface-card--featured {
  padding: var(--space-4);
  border-radius: var(--radius-large);
}

.surface-dark {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.surface-dark h1,
.surface-dark h2,
.surface-dark h3,
.surface-dark h4,
.surface-dark h5,
.surface-dark h6 {
  color: var(--color-cream-on-dark);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 44px;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-small);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: var(--transition-color), var(--transition-transform);
  border: 1px solid transparent;
}

.btn--primary {
  background-color: var(--color-apricot-primary);
  color: var(--color-deep-teal-text);
  border-color: var(--color-apricot-primary);
}

.btn--primary:hover {
  background-color: var(--color-apricot-deep);
  border-color: var(--color-apricot-deep);
  color: var(--color-cream-on-dark);
}

.btn--secondary {
  background-color: transparent;
  color: var(--color-deep-teal-text);
  border-color: var(--color-sage-secondary);
}

.btn--secondary:hover {
  background-color: var(--color-sage-secondary);
  border-color: var(--color-sage-secondary);
  color: var(--color-deep-teal-text);
}

.btn--on-dark {
  background-color: var(--color-apricot-primary);
  color: var(--color-deep-teal-text);
  border-color: var(--color-apricot-primary);
}

.btn--on-dark:hover {
  background-color: var(--color-cream-on-dark);
  border-color: var(--color-cream-on-dark);
  color: var(--color-deep-teal-text);
}

:is(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, figure, table):last-child {
  margin-block-end: 0;
}

:is(.surface-card, .surface-dark) > :last-child {
  margin-block-end: 0;
}

.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;
  background-color: var(--color-apricot-primary);
  color: var(--color-deep-teal-text);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-small);
  font-weight: 500;
  text-decoration: none;
  transition: top 150ms ease;
}

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

@media (max-width: 767px) {
  :root {
    --container-gutter: 1.5rem;
  }

  h1 {
    margin-block-end: var(--space-3);
  }

  h2 {
    margin-block-end: var(--space-2);
  }

  p {
    margin-block-end: var(--space-2);
  }

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

  .surface-card--featured {
    padding: var(--space-3);
  }
}


.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-cream-bg);
  border-bottom: 1px solid rgba(168, 195, 160, 0.4);
  box-shadow: 0 2px 4px rgba(31, 61, 61, 0.04);
}

.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-gutter);
  min-height: 72px;
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  text-decoration: none;
  color: var(--color-deep-teal-text);
  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: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  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;
  border-radius: var(--radius-small);
  transition: background-color 150ms ease;
}

.site-header__toggle:hover {
  background-color: rgba(168, 195, 160, 0.2);
}

.site-header__toggle:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-deep-teal-text);
  border-radius: 1px;
  transition: transform 250ms ease, opacity 250ms 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__nav {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  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) var(--space-1);
  font-size: var(--text-small);
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-deep-teal-text);
  text-decoration: none;
  white-space: nowrap;
  border-radius: var(--radius-small);
  transition: color 150ms ease, background-color 150ms ease;
}

.site-header__nav-link:hover {
  color: var(--color-apricot-deep);
  background-color: rgba(242, 166, 90, 0.1);
}

.site-header__nav-link:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

@media (max-width: 1023px) {
  .site-header__inner {
    flex-wrap: wrap;
    min-height: 64px;
  }

  .site-header__brand-text {
    font-size: 1.125rem;
  }

  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-cream-bg);
    border-bottom: 1px solid rgba(168, 195, 160, 0.4);
    box-shadow: 0 4px 8px rgba(31, 61, 61, 0.08);
    max-height: 0;
    overflow: hidden;
    transition: max-height 250ms ease;
    width: 100%;
  }

  .site-header__nav.is-open {
    max-height: calc(100vh - 64px);
    overflow-y: auto;
  }

  .site-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: var(--space-2) 0;
  }

  .site-header__nav-item {
    width: 100%;
  }

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

  .site-header__nav-link:hover {
    background-color: rgba(242, 166, 90, 0.1);
  }
}

@media (max-width: 767px) {
  .site-header__inner {
    padding: var(--space-2) var(--container-gutter);
    min-height: 56px;
  }

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

  .site-header__brand-text {
    display: none;
  }

  .site-header__toggle {
    width: 40px;
    height: 40px;
  }

  .site-header__toggle-line {
    width: 20px;
  }
}


.site-footer {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding: var(--space-6) 0 var(--space-4);
  margin-top: var(--space-8);
}

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

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  text-decoration: none;
  color: var(--color-cream-on-dark);
  margin-bottom: var(--space-3);
}

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

.site-footer__brand-text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
}

.site-footer__description {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: rgba(253, 246, 236, 0.8);
  max-width: 30ch;
  margin-bottom: 0;
}

.site-footer__heading {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  color: var(--color-cream-on-dark);
  margin-bottom: var(--space-3);
}

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

.site-footer__nav-list a,
.site-footer__legal-list a {
  color: var(--color-cream-on-dark);
  text-decoration: none;
  font-size: var(--text-small);
  transition: color 150ms ease;
}

.site-footer__nav-list a:hover,
.site-footer__legal-list a:hover {
  color: var(--color-apricot-primary);
}

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

.site-footer__address p {
  margin-bottom: var(--space-2);
}

.site-footer__address a {
  color: var(--color-cream-on-dark);
  text-decoration: none;
}

.site-footer__address a:hover {
  color: var(--color-apricot-primary);
}

.site-footer__legal {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(253, 246, 236, 0.2);
  padding-top: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
}

.site-footer__legal-list {
  flex-direction: row;
  gap: var(--space-4);
}

.site-footer__copyright {
  font-size: var(--text-caption);
  color: rgba(253, 246, 236, 0.7);
  margin: 0;
}

.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--color-white-surface);
  border-top: 1px solid rgba(168, 195, 160, 0.4);
  box-shadow: 0 -2px 8px rgba(31, 61, 61, 0.08);
  padding: var(--space-3) var(--container-gutter);
}

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

.consent-banner__content {
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.consent-banner__text {
  flex: 1 1 300px;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  margin: 0;
}

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

.consent-banner__button {
  min-height: 44px;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-small);
  font-size: var(--text-small);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}

.consent-banner__button--accept {
  background-color: var(--color-apricot-primary);
  color: var(--color-deep-teal-text);
  border: 1px solid var(--color-apricot-primary);
}

.consent-banner__button--accept:hover {
  background-color: var(--color-apricot-deep);
  border-color: var(--color-apricot-deep);
  color: var(--color-cream-on-dark);
}

.consent-banner__button--reject {
  background-color: transparent;
  color: var(--color-deep-teal-text);
  border: 1px solid var(--color-sage-secondary);
}

.consent-banner__button--reject:hover {
  background-color: var(--color-sage-secondary);
  border-color: var(--color-sage-secondary);
  color: var(--color-deep-teal-text);
}

.consent-banner__button:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.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(31, 61, 61, 0.8);
}

.age-modal__dialog {
  position: relative;
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  border-radius: var(--radius-large);
  padding: var(--space-5);
  max-width: 480px;
  width: 100%;
  box-shadow: 0 8px 24px rgba(31, 61, 61, 0.3);
  text-align: center;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h2);
  color: var(--color-cream-on-dark);
  margin-bottom: var(--space-3);
}

.age-modal__description {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: rgba(253, 246, 236, 0.9);
  margin-bottom: var(--space-4);
}

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

.age-modal__button {
  min-height: 44px;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-small);
  font-size: var(--text-body);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}

.age-modal__button--confirm {
  background-color: var(--color-apricot-primary);
  color: var(--color-deep-teal-text);
  border: 1px solid var(--color-apricot-primary);
}

.age-modal__button--confirm:hover {
  background-color: var(--color-apricot-deep);
  border-color: var(--color-apricot-deep);
  color: var(--color-cream-on-dark);
}

.age-modal__button--decline {
  background-color: transparent;
  color: var(--color-cream-on-dark);
  border: 1px solid rgba(253, 246, 236, 0.5);
}

.age-modal__button--decline:hover {
  background-color: rgba(253, 246, 236, 0.1);
  border-color: var(--color-cream-on-dark);
}

.age-modal__button:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

@media (max-width: 767px) {
  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .site-footer__legal {
    flex-direction: column;
    align-items: flex-start;
  }

  .consent-banner__content {
    flex-direction: column;
    align-items: stretch;
  }

  .consent-banner__actions {
    justify-content: flex-end;
  }

  .age-modal__dialog {
    padding: var(--space-4);
  }
}


/* Cookies page — page-owned styles only */
.cookies-page {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  padding-block: var(--space-7);
}

.cookies-page section {
  width: 100%;
}

.cookies-page .cookies-intro__inner,
.cookies-page .cookies-types__inner,
.cookies-page .cookies-duration__inner,
.cookies-page .cookies-management__inner,
.cookies-page .cookies-rights__inner,
.cookies-page .cookies-contact__inner,
.cookies-page .cookies-effective__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

/* Intro */
.cookies-intro {
  background-color: var(--color-cream-bg);
}

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

.cookies-intro__lead,
.cookies-intro__content {
  max-width: 720px;
  width: 100%;
}

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

.cookies-intro__content h2 {
  margin-block-end: 0;
}

.cookies-intro__content ul {
  margin-block-end: 0;
}

/* Types */
.cookies-types {
  background-color: var(--color-white-surface);
}

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

.cookies-types__inner > h2 {
  max-width: 720px;
  width: 100%;
}

.cookies-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.cookies-card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
}

.cookies-card h3 {
  margin-block-end: 0;
}

.cookies-card p,
.cookies-card ul {
  margin-block-end: 0;
}

.cookies-card ul {
  padding-inline-start: var(--space-4);
}

/* Duration */
.cookies-duration {
  background-color: var(--color-cream-bg);
}

.cookies-duration__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.cookies-duration__inner h2,
.cookies-duration__inner p,
.cookies-duration__inner ul {
  max-width: 720px;
  width: 100%;
}

.cookies-duration__list {
  margin-block-end: 0;
}

/* Management */
.cookies-management {
  background-color: var(--color-white-surface);
}

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

.cookies-management__inner > h2 {
  max-width: 720px;
  width: 100%;
}

.cookies-management__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-5);
  width: 100%;
}

.cookies-management__browsers,
.cookies-management__consent {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cookies-management__browsers h3,
.cookies-management__consent h3 {
  margin-block-end: 0;
}

.cookies-management__browsers p,
.cookies-management__consent p,
.cookies-management__browsers ul,
.cookies-management__consent ul {
  margin-block-end: 0;
}

/* Rights */
.cookies-rights {
  background-color: var(--color-cream-bg);
}

.cookies-rights__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.cookies-rights__inner h2,
.cookies-rights__inner p,
.cookies-rights__inner ul {
  max-width: 720px;
  width: 100%;
}

.cookies-rights__list {
  margin-block-end: 0;
}

/* Contact */
.cookies-contact {
  background-color: var(--color-white-surface);
}

.cookies-contact__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.cookies-contact__inner h2 {
  max-width: 720px;
  width: 100%;
}

.cookies-contact__card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  max-width: 720px;
}

.cookies-contact__card p,
.cookies-contact__card ul {
  margin-block-end: 0;
}

/* Effective date */
.cookies-effective {
  background-color: var(--color-cream-bg);
}

.cookies-effective__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: flex-start;
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.cookies-effective__inner h2,
.cookies-effective__inner p {
  width: 100%;
}

/* Tablet */
@media (max-width: 991px) {
  .cookies-types__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

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

  .cookies-page {
    gap: var(--space-6);
    padding-block: var(--space-6);
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cookies-page {
    gap: var(--space-5);
    padding-block: var(--space-5);
  }

  .cookies-intro__inner,
  .cookies-types__inner,
  .cookies-duration__inner,
  .cookies-management__inner,
  .cookies-rights__inner,
  .cookies-contact__inner,
  .cookies-effective__inner {
    padding-inline: var(--container-gutter);
  }

  .cookies-types__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

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

  .cookies-management__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

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


/* Page-owned styles for Rezervace & Kontakt */
.rezervace-kontakt-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  padding-block: var(--space-7);
}

@media (max-width: 767px) {
  .rezervace-kontakt-main {
    gap: var(--space-5);
    padding-block: var(--space-5);
  }
}

/* Hero */
.rk-hero {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding: var(--space-8) var(--container-gutter);
  text-align: center;
}

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

.rk-hero h1 {
  color: var(--color-cream-on-dark);
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: 0;
  max-width: 16ch;
  margin-inline: auto;
}

.rk-hero-subheading {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-apricot-primary);
  margin-block-end: 0;
  max-width: 28ch;
  margin-inline: auto;
}

.rk-hero-lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
  max-width: 52ch;
  margin-inline: auto;
}

@media (max-width: 767px) {
  .rk-hero {
    padding: var(--space-6) var(--container-gutter);
  }

  .rk-hero h1 {
    font-size: var(--text-h2);
    max-width: 14ch;
  }

  .rk-hero-subheading {
    font-size: var(--text-h3);
    max-width: 24ch;
  }

  .rk-hero-lead {
    max-width: 42ch;
  }
}

/* Kontaktní údaje */
.rk-contact .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.rk-contact h2 {
  text-align: center;
  margin-block-end: 0;
}

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

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

.rk-contact-card h3 {
  margin-block-end: 0;
}

.rk-contact-card p {
  margin-block-end: 0;
  }

.rk-contact-card a {
  color: var(--color-apricot-deep);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: var(--transition-color);
}

.rk-contact-card a:hover {
  color: var(--color-deep-teal-text);
}

.rk-contact-icon {
  color: var(--color-apricot-deep);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rk-contact-icon svg {
  width: 24px;
  height: 24px;
}

.rk-contact-detail {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sage-deep);
}

@media (max-width: 991px) {
  .rk-contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}

@media (max-width: 767px) {
  .rk-contact .container {
    gap: var(--space-4);
  }

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

/* Rezervační formulář */
.rk-form-section .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.rk-form-section h2 {
  text-align: center;
  margin-block-end: 0;
}

.rk-form-card {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
}

.rk-form-intro {
  margin-block-end: 0;
  max-width: 52ch;
}

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

.rk-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.rk-form-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.rk-form-field--full {
  grid-column: 1 / -1;
}

.rk-form-field label {
  font-weight: 500;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.rk-form-field input,
.rk-form-field select,
.rk-form-field textarea {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-sage-secondary);
  border-radius: var(--radius-small);
  background-color: var(--color-white-surface);
  color: var(--color-deep-teal-text);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  min-height: 44px;
  transition: var(--transition-color);
}

.rk-form-field textarea {
  min-height: 120px;
  resize: vertical;
}

.rk-form-field input:focus,
.rk-form-field select:focus,
.rk-form-field textarea:focus {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
  border-color: var(--color-apricot-primary);
}

.rk-form-error {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: #b3261e;
  min-height: 1.2em;
}

.rk-form-submit {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.rk-form-note {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sage-deep);
  margin-block-end: 0;
}

.rk-form-success {
  background-color: var(--color-sage-secondary);
  color: var(--color-deep-teal-text);
  padding: var(--space-3);
  border-radius: var(--radius-small);
  margin-block-end: 0;
}

@media (max-width: 767px) {
  .rk-form-section .container {
    gap: var(--space-4);
  }

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

  .rk-form-grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .rk-form-field--full {
    grid-column: auto;
  }
}

/* O restauraci a poker roomu */
.rk-about .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.rk-about h2 {
  text-align: center;
  margin-block-end: 0;
}

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

.rk-info-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.rk-info-column h3 {
  margin-block-end: 0;
}

.rk-info-column p {
  margin-block-end: 0;
  }

.rk-info-column ul {
  margin-block-end: 0;
  padding-inline-start: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

@media (max-width: 991px) {
  .rk-about-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
}

@media (max-width: 767px) {
  .rk-about .container {
    gap: var(--space-4);
  }
}

/* FAQ */
.rk-faq .container {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.rk-faq h2 {
  text-align: center;
  margin-block-end: 0;
}

.rk-faq-list {
  max-width: 800px;
  margin-inline: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.rk-faq-item {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
  box-shadow: var(--shadow-soft);
}

.rk-faq-item h3 {
  margin-block-end: 0;
}

.rk-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  min-height: 44px;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 600;
  color: var(--color-deep-teal-text);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: var(--transition-color);
}

.rk-faq-question:hover {
  color: var(--color-apricot-deep);
}

.rk-faq-question:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.rk-faq-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  transition: transform 250ms ease;
}

.rk-faq-icon::before,
.rk-faq-icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform 250ms ease;
}

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

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

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

.rk-faq-answer {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid rgba(168, 195, 160, 0.4);
}

.rk-faq-answer p {
  margin-block-end: 0;
  }

@media (max-width: 767px) {
  .rk-faq .container {
    gap: var(--space-4);
  }

  .rk-faq-item {
    padding: var(--space-2);
  }

  .rk-faq-question {
    font-size: var(--text-body);
    line-height: var(--leading-body);
  }
}

/* CTA */
.rk-cta {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding: var(--space-8) var(--container-gutter);
  text-align: center;
}

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

.rk-cta h2 {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
  max-width: 18ch;
}

.rk-cta p {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
  }

.rk-cta p a {
  color: var(--color-apricot-primary);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: var(--transition-color);
}

.rk-cta p a:hover {
  color: var(--color-cream-on-dark);
}

.rk-cta-button {
  margin-top: var(--space-2);
}

@media (max-width: 767px) {
  .rk-cta {
    padding: var(--space-6) var(--container-gutter);
  }

  .rk-cta h2 {
    max-width: 16ch;
  }

  .rk-cta p {
  }
}


/* Soukromí page styles */
.soukromi-main {
  width: 100%;
  background-color: var(--color-cream-bg);
}

.soukromi-intro {
  padding-block: var(--space-7) var(--space-6);
}

.soukromi-intro__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.soukromi-intro__heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 720px;
  margin-block-end: var(--space-4);
}

.soukromi-intro__door {
  flex: 0 0 28px;
  width: 28px;
  height: 40px;
  margin-block-start: 6px;
  border: 2px solid var(--color-apricot-primary);
  border-radius: 2px 2px 0 0;
  position: relative;
}

.soukromi-intro__door::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--color-sage-deep);
  transform: translateY(-50%);
}

.soukromi-intro h1 {
  max-width: 720px;
  margin-block-end: 0;
  color: var(--color-deep-teal-text);
}

.soukromi-intro__lead {
  max-width: 720px;
  margin-block-end: 0;
  color: var(--color-deep-teal-text);
}

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

.soukromi-section__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.soukromi-section h2 {
  max-width: 720px;
  margin-block-end: var(--space-3);
  color: var(--color-deep-teal-text);
}

.soukromi-card {
  max-width: 720px;
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
}

.soukromi-card--contact {
  max-width: 720px;
}

.soukromi-card p:last-child {
  margin-block-end: 0;
}

.soukromi-contact-list,
.soukromi-list {
  margin-block-end: 0;
  padding-inline-start: var(--space-4);
}

.soukromi-contact-list li,
.soukromi-list li {
  margin-block-end: var(--space-2);
  line-height: var(--leading-body);
}

.soukromi-contact-list li:last-child,
.soukromi-list li:last-child {
  margin-block-end: 0;
}

.soukromi-table-wrap {
  overflow-x: auto;
  margin-block-end: var(--space-3);
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.soukromi-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  margin-block-end: 0;
}

.soukromi-table th,
.soukromi-table td {
  text-align: start;
  padding: var(--space-3);
  border-block-end: 1px solid rgba(168, 195, 160, 0.4);
  vertical-align: top;
}

.soukromi-table th {
  background-color: rgba(168, 195, 160, 0.15);
  font-weight: 600;
  color: var(--color-deep-teal-text);
}

.soukromi-table tbody tr:last-child td {
  border-block-end: none;
}

.soukromi-note {
  max-width: 720px;
  margin-block-end: 0;
  color: var(--color-sage-deep);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.soukromi-poker {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block: var(--space-6);
}

.soukromi-poker__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.soukromi-poker h2 {
  max-width: 720px;
  margin-block-end: var(--space-3);
  color: var(--color-cream-on-dark);
}

.soukromi-poker p {
  margin-block-end: var(--space-3);
  color: var(--color-cream-on-dark);
}

.soukromi-poker__callout {
  max-width: 720px;
  margin-block-start: var(--space-4);
  padding: var(--space-4);
  background-color: rgba(253, 246, 236, 0.08);
  border-inline-start: 3px solid var(--color-apricot-primary);
  border-radius: var(--radius-small);
}

.soukromi-poker__callout p {
  margin-block-end: 0;
}

.soukromi-date {
  padding-block: var(--space-5) var(--space-7);
}

.soukromi-date__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.soukromi-date p {
  margin-block-end: 0;
  padding-block-start: var(--space-3);
  border-block-start: 1px solid rgba(168, 195, 160, 0.5);
  color: var(--color-sage-deep);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

@media (max-width: 767px) {
  .soukromi-intro {
    padding-block: var(--space-5) var(--space-4);
  }

  .soukromi-intro__heading {
    gap: var(--space-2);
  }

  .soukromi-intro__door {
    flex-basis: 22px;
    width: 22px;
    height: 32px;
    margin-block-start: 4px;
  }

  .soukromi-intro h1 {
    font-size: var(--text-h1);
  }

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

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

  .soukromi-table-wrap {
    border-radius: var(--radius-small);
  }

  .soukromi-table {
    min-width: 480px;
  }

  .soukromi-poker {
    padding-block: var(--space-5);
  }

  .soukromi-poker__callout {
    padding: var(--space-3);
  }

  .soukromi-date {
    padding-block: var(--space-4) var(--space-5);
  }
}


/* Menu page styles */

.menu-hero {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  align-items: center;
  padding-block: var(--space-7) var(--space-6);
}

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

.menu-hero__content h1 {
  margin-block-end: 0;
}

.menu-hero__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-deep-teal-text);
  margin-block-end: 0;
}

.menu-hero__cta {
  margin-block-start: var(--space-2);
}

.menu-hero__media {
  min-width: 0;
}

.menu-hero__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-sage);
}

.menu-kuchyne {
  padding-block: var(--space-6);
}

.menu-kuchyne__inner {
  max-width: 42rem;
}

.menu-kuchyne__inner h2 {
  margin-block-end: var(--space-3);
}

.menu-kuchyne__inner h3 {
  margin-block-start: var(--space-5);
  margin-block-end: var(--space-2);
}

.menu-kuchyne__inner p {
  margin-block-end: var(--space-3);
}

.menu-kuchyne__list {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
}

.menu-predkrmy {
  padding-block: var(--space-6);
}

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

.menu-predkrmy__inner h2 {
  margin-block-end: 0;
}

.menu-predkrmy__lead {
  margin-block-end: 0;
}

.menu-predkrmy__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.menu-card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  transition: var(--transition-transform);
  min-width: 0;
}

.menu-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.menu-card h3 {
  margin-block-end: var(--space-2);
}

.menu-card p {
  margin-block-end: 0;
}

.menu-hlavni {
  padding-block: var(--space-6);
}

.menu-hlavni__inner {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  align-items: start;
}

.menu-hlavni__text {
  min-width: 0;
}

.menu-hlavni__text h2 {
  margin-block-end: var(--space-3);
}

.menu-hlavni__lead {
  margin-block-end: var(--space-3);
}

.menu-hlavni__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-hlavni__list li {
  padding-block-end: var(--space-2);
  border-block-end: 1px solid rgba(168, 195, 160, 0.4);
}

.menu-hlavni__list li:last-child {
  border-block-end: none;
  padding-block-end: 0;
}

.menu-hlavni__media {
  min-width: 0;
}

.menu-hlavni__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-sage);
}

.menu-dezerty {
  padding-block: var(--space-6);
}

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

.menu-dezerty__inner h2 {
  margin-block-end: 0;
}

.menu-dezerty__lead {
  margin-block-end: 0;
}

.menu-dezerty__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.menu-napoje {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block: var(--space-6);
}

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

.menu-napoje__inner h2 {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.menu-napoje__lead {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.menu-napoje__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.menu-napoje__category {
  background-color: rgba(253, 246, 236, 0.06);
  border: 1px solid rgba(168, 195, 160, 0.4);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  min-width: 0;
}

.menu-napoje__category h3 {
  color: var(--color-cream-on-dark);
  margin-block-end: var(--space-2);
}

.menu-napoje__category p {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.menu-suroviny {
  padding-block: var(--space-6);
}

.menu-suroviny__inner {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-6);
  align-items: start;
}

.menu-suroviny__text {
  min-width: 0;
}

.menu-suroviny__text h2 {
  margin-block-end: var(--space-3);
}

.menu-suroviny__text p {
  margin-block-end: var(--space-3);
}

.menu-suroviny__list {
  margin-block-end: 0;
  padding-inline-start: var(--space-4);
}

.menu-suroviny__media {
  min-width: 0;
}

.menu-suroviny__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-sage);
}

.menu-poker {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block: var(--space-6);
}

.menu-poker__inner {
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.menu-poker__inner h2 {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.menu-poker__inner p {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.menu-poker__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.menu-poker__list li {
  color: var(--color-cream-on-dark);
}

.menu-poker__cta {
  margin-block-start: var(--space-2);
}

.menu-rezervace {
  padding-block: var(--space-6);
}

.menu-rezervace__inner {
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.menu-rezervace__inner h2 {
  margin-block-end: 0;
}

.menu-rezervace__inner p {
  margin-block-end: 0;
}

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

.menu-rezervace__kontakt p {
  margin-block-end: 0;
}

.menu-rezervace__cta {
  margin-block-start: var(--space-2);
}

@media (max-width: 1023px) {
  .menu-hero,
  .menu-hlavni__inner,
  .menu-suroviny__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .menu-hero__media,
  .menu-hlavni__media,
  .menu-suroviny__media {
    order: 2;
  }

  .menu-hero__content,
  .menu-hlavni__text,
  .menu-suroviny__text {
    order: 1;
  }
}

@media (max-width: 767px) {
  .menu-hero {
    padding-block: var(--space-5) var(--space-4);
  }

  .menu-kuchyne,
  .menu-predkrmy,
  .menu-hlavni,
  .menu-dezerty,
  .menu-napoje,
  .menu-suroviny,
  .menu-poker,
  .menu-rezervace {
    padding-block: var(--space-5);
  }

  .menu-predkrmy__grid,
  .menu-dezerty__grid,
  .menu-napoje__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .menu-card,
  .menu-napoje__category {
    padding: var(--space-3);
  }

  .menu-hero__content h1 {
    font-size: var(--text-h1);
  }

  .menu-kuchyne__inner,
  .menu-poker__inner,
  .menu-rezervace__inner {
    max-width: 100%;
  }
}


/* Speciality page styles */

.speciality-hero {
  padding-block: var(--space-7) var(--space-6);
}

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

.speciality-hero__content {
  min-width: 0;
}

.speciality-hero__eyebrow,
.speciality-section-heading__eyebrow {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-apricot-deep);
  margin-block-end: var(--space-2);
}

.speciality-hero__lead {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  font-family: var(--font-heading);
  font-weight: 500;
  color: var(--color-deep-teal-text);
  margin-block-end: var(--space-4);
  max-width: 34rem;
}

.speciality-hero__text {
  max-width: 34rem;
}

.speciality-hero__media {
  min-width: 0;
}

.speciality-hero__media-frame {
  background-color: var(--color-sage-secondary);
  border: 1px solid rgba(168, 195, 160, 0.7);
  border-radius: var(--radius-large);
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}

.speciality-hero__media-note {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-deep-teal-text);
  text-align: center;
  max-width: 18rem;
}

.speciality-section-heading {
  margin-block-end: var(--space-5);
  max-width: 48rem;
}

.speciality-section-heading__intro {
  max-width: 44rem;
}

.speciality-dishes {
  padding-block: var(--space-6);
}

.speciality-dishes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.dish-card {
  min-width: 0;
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: var(--transition-transform);
}

.dish-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.dish-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: var(--color-sage-secondary);
}

.dish-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dish-card__body {
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  flex: 1;
}

.dish-card__body h3 {
  margin-block-end: 0;
}

.dish-card__body p {
  margin-block-end: 0;
}

.speciality-chef {
  padding-block: var(--space-6);
  background-color: var(--color-white-surface);
  border-block: var(--border-sage);
}

.speciality-chef__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.speciality-chef__content {
  min-width: 0;
}

.speciality-chef__lead {
  max-width: 38rem;
}

.speciality-chef__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.chef-item {
  min-width: 0;
  background-color: var(--color-cream-bg);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
}

.chef-item h3 {
  margin-block-end: var(--space-2);
}

.chef-item p {
  margin-block-end: 0;
}

.speciality-chef__media {
  min-width: 0;
}

.speciality-chef__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-large);
  border: 1px solid rgba(168, 195, 160, 0.6);
}

.speciality-dining-room {
  padding-block: var(--space-6);
}

.speciality-dining-room__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.speciality-dining-room__media {
  min-width: 0;
}

.speciality-dining-room__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-large);
  border: 1px solid rgba(168, 195, 160, 0.6);
}

.speciality-dining-room__content {
  min-width: 0;
}

.speciality-dining-room__lead {
  max-width: 32rem;
}

.speciality-dining-room__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-4);
  display: grid;
  gap: var(--space-2);
}

.speciality-dining-room__list li {
  padding-inline-start: var(--space-4);
  position: relative;
}

.speciality-dining-room__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-apricot-primary);
}

.speciality-desserts {
  padding-block: var(--space-6);
  background-color: var(--color-white-surface);
  border-block: var(--border-sage);
}

.speciality-desserts__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.dessert-card {
  min-width: 0;
  background-color: var(--color-cream-bg);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
}

.dessert-card h3 {
  margin-block-end: var(--space-2);
}

.dessert-card p {
  margin-block-end: 0;
}

.speciality-drinks {
  padding-block: var(--space-6);
}

.speciality-drinks__content {
  max-width: 48rem;
}

.speciality-drinks__lead {
  max-width: 42rem;
}

.speciality-drinks__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.drink-group {
  min-width: 0;
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
}

.drink-group h3 {
  margin-block-end: var(--space-2);
}

.drink-group p {
  margin-block-end: 0;
}

.speciality-poker-connection {
  padding-block: var(--space-6);
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.speciality-poker-connection__content {
  max-width: 48rem;
}

.speciality-poker-connection__content h2 {
  color: var(--color-cream-on-dark);
}

.speciality-section-heading__eyebrow--on-dark {
  color: var(--color-apricot-primary);
}

.speciality-poker-connection__lead {
  max-width: 42rem;
  color: var(--color-cream-on-dark);
}

.speciality-poker-connection__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-4);
  display: grid;
  gap: var(--space-2);
}

.speciality-poker-connection__list li {
  padding-inline-start: var(--space-4);
  position: relative;
  color: var(--color-cream-on-dark);
}

.speciality-poker-connection__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-apricot-primary);
}

.speciality-reservation {
  padding-block: var(--space-7);
}

.speciality-reservation__content {
  max-width: 36rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.speciality-reservation__content .speciality-section-heading__eyebrow {
  margin-block-end: 0;
}

.speciality-reservation__content h2 {
  margin-block-end: 0;
}

.speciality-reservation__lead {
  margin-block-end: 0;
}

.speciality-reservation__contacts {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-start: var(--space-2);
}

.speciality-reservation__contact {
  font-weight: 600;
  color: var(--color-apricot-deep);
  text-decoration: none;
}

.speciality-reservation__contact:hover {
  color: var(--color-deep-teal-text);
}

.speciality-reservation__address {
  margin-block-end: 0;
  color: var(--color-sage-deep);
}

.speciality-reservation__cta {
  margin-block-start: var(--space-2);
}

@media (max-width: 1023px) {
  .speciality-dishes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .speciality-chef__media {
    order: -1;
  }

  .speciality-chef__media img {
    max-height: 24rem;
    width: 100%;
  }

  .speciality-dining-room__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .speciality-dining-room__media img {
    max-height: 24rem;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .speciality-hero {
    padding-block: var(--space-5) var(--space-4);
  }

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

  .speciality-hero__lead {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
  }

  .speciality-hero__media-frame {
    aspect-ratio: 16 / 9;
  }

  .speciality-dishes {
    padding-block: var(--space-5);
  }

  .speciality-dishes__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .speciality-chef {
    padding-block: var(--space-5);
  }

  .speciality-chef__items {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .speciality-dining-room {
    padding-block: var(--space-5);
  }

  .speciality-desserts {
    padding-block: var(--space-5);
  }

  .speciality-desserts__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .speciality-drinks {
    padding-block: var(--space-5);
  }

  .speciality-drinks__columns {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .speciality-poker-connection {
    padding-block: var(--space-5);
  }

  .speciality-reservation {
    padding-block: var(--space-5);
  }

  .speciality-reservation__content {
    max-width: 100%;
    padding-inline: var(--space-3);
  }
}


/* Page-owned styles for Interiér page */
#interier-page {
  display: block;
}

#interier-page .container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

/* Section spacing */
.interier-section {
  padding-block: var(--space-7);
}

@media (max-width: 767px) {
  .interier-section {
    padding-block: var(--space-5);
  }
}

/* Intro section */
.intro-section {
  background-color: var(--color-cream-bg);
}

.intro-grid {
  display: grid;
  grid-template-columns: 60% 40%;
  align-items: center;
  gap: var(--space-5);
}

.intro-text {
  min-width: 0;
}

.intro-text h1 {
  margin-block-end: var(--space-3);
}

.intro-lead {
  max-width: 65ch;
  margin-block-end: var(--space-4);
}

.intro-details {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.intro-details li {
  position: relative;
  padding-inline-start: var(--space-4);
}

.intro-details li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-apricot-primary);
  border-radius: 2px;
}

.intro-figure {
  margin: 0;
  min-width: 0;
}

.intro-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-large);
  border: var(--border-sage);
  box-shadow: var(--shadow-soft);
}

@media (max-width: 900px) {
  .intro-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .intro-lead {
    max-width: none;
  }
}

/* Restaurant section */
.restaurant-section {
  background-color: var(--color-white-surface);
}

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

.restaurant-content h2 {
  margin-block-end: var(--space-2);
}

.restaurant-content h3 {
  margin-block-start: var(--space-3);
  margin-block-end: var(--space-2);
}

.restaurant-content p {
  }

.restaurant-features {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-3);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
}

.restaurant-features li {
  position: relative;
  padding-inline-start: var(--space-4);
}

.restaurant-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-sage-secondary);
  border-radius: 2px;
}

.restaurant-figure {
  margin: var(--space-4) 0 0;
  min-width: 0;
}

.restaurant-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-large);
  border: var(--border-sage);
  box-shadow: var(--shadow-soft);
}

@media (max-width: 767px) {
  .restaurant-content {
    gap: var(--space-2);
  }

  .restaurant-content p {
  }

  .restaurant-features {
    flex-direction: column;
    gap: var(--space-2);
  }
}

/* Poker Room section */
.poker-room-section {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.poker-room-section h2,
.poker-room-section h3 {
  color: var(--color-cream-on-dark);
}

.poker-room-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  align-items: start;
}

.poker-room-text {
  min-width: 0;
}

.poker-room-text h2 {
  margin-block-end: var(--space-3);
}

.poker-room-text h3 {
  margin-block-start: var(--space-4);
  margin-block-end: var(--space-2);
}

.poker-room-text p {
  }

.poker-room-equipment {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.poker-room-equipment li {
  position: relative;
  padding-inline-start: var(--space-4);
}

.poker-room-equipment li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-apricot-primary);
  border-radius: 2px;
}

.poker-room-figure {
  margin: 0;
  min-width: 0;
}

.poker-room-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-large);
  border: 1px solid rgba(168, 195, 160, 0.3);
  box-shadow: var(--shadow-soft);
}

@media (max-width: 900px) {
  .poker-room-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .poker-room-text p {
  }
}

/* Details section */
.details-section {
  background-color: var(--color-cream-bg);
}

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

.detail-card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
}

.detail-card h3 {
  margin-block-end: var(--space-2);
}

.detail-card p {
  margin-block-end: 0;
}

@media (max-width: 900px) {
  .details-grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

/* Private events section */
.private-events-section {
  background-color: var(--color-white-surface);
}

.private-events-grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--space-5);
  align-items: start;
}

.private-events-text {
  min-width: 0;
}

.private-events-text h2 {
  margin-block-end: var(--space-3);
}

.private-events-text h3 {
  margin-block-start: var(--space-4);
  margin-block-end: var(--space-2);
}

.private-events-text p {
  }

.private-events-options {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.private-events-options li {
  position: relative;
  padding-inline-start: var(--space-4);
}

.private-events-options li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-apricot-primary);
  border-radius: 2px;
}

.private-events-figure {
  margin: 0;
  min-width: 0;
}

.private-events-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-large);
  border: var(--border-sage);
  box-shadow: var(--shadow-soft);
}

@media (max-width: 900px) {
  .private-events-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .private-events-text p {
  }
}

/* Accessibility section */
.accessibility-section {
  background-color: var(--color-cream-bg);
}

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

.accessibility-card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
}

.accessibility-card h3 {
  margin-block-end: var(--space-2);
}

.accessibility-card p {
  margin-block-end: 0;
}

@media (max-width: 767px) {
  .accessibility-grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

/* CTA section */
.cta-section {
  background-color: var(--color-white-surface);
  text-align: center;
}

.cta-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.cta-container h2 {
  margin-block-end: 0;
}

.cta-text {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.cta-button {
  min-width: 200px;
}

@media (max-width: 767px) {
  .cta-button {
    width: 100%;
    min-width: 0;
  }
}

/* Scroll reveal initial state */
.interier-section {
  opacity: 1;
  transform: none;
  transition: opacity 250ms ease, transform 250ms ease;
}

.interier-section.js-reveal-hidden {
  opacity: 0;
  transform: translateY(16px);
}

.interier-section.js-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .interier-section {
    transition: none;
  }

  .interier-section.js-reveal-hidden {
    opacity: 1;
    transform: none;
  }
}


/* Page-owned styles for Podmínky */
.podminky-main {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  padding-block: var(--space-6);
}

/* Úvod a platnost podmínek */
.podminky-intro {
  margin-block-end: var(--space-6);
}

.podminky-intro__inner {
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.podminky-intro__title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: var(--space-4);
  color: var(--color-deep-teal-text);
}

.podminky-intro__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-deep-teal-text);
  margin-block-end: var(--space-3);
}

.podminky-intro__meta {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sage-deep);
  margin-block-end: 0;
}

.podminky-date {
  color: var(--color-apricot-deep);
  font-weight: 600;
}

/* Základní ustanovení, Rezervace, Platby, Ochrana osobních údajů */
.podminky-card-section {
  margin-block-end: var(--space-6);
}

.podminky-card {
  max-width: 800px;
  margin-inline: auto;
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
}

.podminky-card__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-deep-teal-text);
  margin-block-end: var(--space-3);
}

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

.podminky-card__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-deep-teal-text);
  margin-block-end: var(--space-2);
}

.podminky-card__content p {
  margin-block-end: var(--space-3);
}

.podminky-card__content p:last-child {
  margin-block-end: 0;
}

/* Provozní doba a vstup */
.podminky-plain-section {
  margin-block-end: var(--space-6);
}

.podminky-plain-section__inner {
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.podminky-plain-section__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-deep-teal-text);
  margin-block-end: 0;
}

.podminky-plain-section__block {
  width: 100%;
}

.podminky-plain-section__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-deep-teal-text);
  margin-block-end: var(--space-2);
}

.podminky-plain-section__block p {
  margin-block-end: var(--space-3);
}

/* Pravidla offline pokeru a Závěrečná ustanovení */
.podminky-dark-section {
  margin-block-end: var(--space-6);
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  border-radius: var(--radius-large);
  padding: var(--space-5);
}

.podminky-dark-section__inner {
  max-width: 760px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.podminky-dark-section__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.podminky-dark-section__block {
  width: 100%;
}

.podminky-dark-section__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-cream-on-dark);
  margin-block-end: var(--space-2);
}

.podminky-dark-section__block p {
  margin-block-end: var(--space-3);
  color: var(--color-cream-on-dark);
}

.podminky-link--on-dark {
  color: var(--color-apricot-primary);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: var(--transition-color);
}

.podminky-link--on-dark:hover {
  color: var(--color-cream-on-dark);
}

/* Odpovědnost provozovatele */
.podminky-sage-section {
  margin-block-end: var(--space-6);
  background-color: rgba(168, 195, 160, 0.25);
  border-radius: var(--radius-large);
  padding: var(--space-5);
}

.podminky-sage-section__inner {
  max-width: 760px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.podminky-sage-section__title {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-deep-teal-text);
  margin-block-end: 0;
}

.podminky-sage-section__block {
  width: 100%;
}

.podminky-sage-section__subtitle {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-deep-teal-text);
  margin-block-end: var(--space-2);
}

.podminky-sage-section__block p {
  margin-block-end: var(--space-3);
  color: var(--color-deep-teal-text);
}

/* Seznamy */
.podminky-list {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
  color: var(--color-deep-teal-text);
}

.podminky-list--on-dark {
  color: var(--color-cream-on-dark);
}

.podminky-list li {
  margin-block-end: var(--space-2);
}

.podminky-list li:last-child {
  margin-block-end: 0;
}

.podminky-final__date {
  margin-block-start: var(--space-4);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-cream-on-dark);
}

/* Responzivní chování */
@media (max-width: 767px) {
  .podminky-main {
    padding-block: var(--space-5);
  }

  .podminky-intro__inner,
  .podminky-plain-section__inner,
  .podminky-dark-section__inner,
  .podminky-sage-section__inner {
    max-width: 100%;
  }

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

  .podminky-dark-section,
  .podminky-sage-section {
    padding: var(--space-4);
  }

  .podminky-intro__title {
    font-size: 2rem;
    line-height: 1.2;
  }

  .podminky-card__title,
  .podminky-plain-section__title,
  .podminky-dark-section__title,
  .podminky-sage-section__title {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  .podminky-card__content,
  .podminky-plain-section__inner,
  .podminky-dark-section__inner,
  .podminky-sage-section__inner {
    gap: var(--space-4);
  }

  .podminky-card__subtitle,
  .podminky-plain-section__subtitle,
  .podminky-dark-section__subtitle,
  .podminky-sage-section__subtitle {
    font-size: 1.375rem;
    line-height: 1.3;
  }
}


/* Page-owned styles for Poker Room */

.poker-hero {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block: var(--space-7);
}

.poker-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

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

.poker-hero__title {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.poker-hero__lead {
  color: var(--color-cream-on-dark);
  max-width: 37.5rem;
  margin-block-end: 0;
}

.poker-hero__cta {
  margin-block-start: var(--space-2);
}

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

.poker-hero__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(168, 195, 160, 0.4);
  border-radius: var(--radius-medium);
}

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

.poker-section--stoly {
  background-color: var(--color-cream-bg);
}

.poker-section--hry {
  background-color: var(--color-white-surface);
}

.poker-section--atmosfera {
  background-color: var(--color-cream-bg);
}

.poker-section--jidlo {
  background-color: var(--color-white-surface);
}

.poker-section--pravidla {
  background-color: var(--color-cream-bg);
}

.poker-section--rezervace {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.poker-section--rezervace .poker-section__title {
  color: var(--color-cream-on-dark);
}

.poker-section--rezervace .poker-section__content p {
  color: var(--color-cream-on-dark);
}

.poker-section--rezervace .poker-section__content a {
  color: var(--color-apricot-primary);
}

.poker-section--rezervace .poker-section__content a:hover {
  color: var(--color-cream-on-dark);
}

.poker-section--faq {
  background-color: var(--color-white-surface);
}

.poker-section__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
}

.poker-section__inner--single {
  grid-template-columns: minmax(0, 1fr);
}

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

.poker-section__content--wide {
  max-width: 43.75rem;
}

.poker-section__title {
  margin-block-end: var(--space-4);
}

.poker-section__content h3 {
  margin-block-start: var(--space-4);
  margin-block-end: var(--space-2);
}

.poker-section__content p,
.poker-section__content ul {
  max-width: 37.5rem;
}

.poker-section__content ul {
  margin-block-end: var(--space-3);
}

.poker-list {
  list-style: none;
  padding-inline-start: 0;
  display: grid;
  gap: var(--space-2);
}

.poker-list li {
  position: relative;
  padding-inline-start: var(--space-4);
}

.poker-list li::before {
  content: "♦";
  position: absolute;
  left: 0;
  color: var(--color-apricot-deep);
  font-size: var(--text-small);
  line-height: 1.5;
}

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

.poker-section__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(168, 195, 160, 0.4);
  border-radius: var(--radius-medium);
}

.poker-section--atmosfera .poker-section__image {
  aspect-ratio: 16 / 9;
}

.poker-section__illustration {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
}

.poker-section__illustration svg {
  width: 120px;
  height: 120px;
  opacity: 0.5;
}

.poker-section__cta {
  margin-block-start: var(--space-4);
}

.faq-list {
  display: grid;
  gap: var(--space-3);
  max-width: 43.75rem;
}

.faq-item {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
}

.faq-item__question {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-deep-teal-text);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.faq-item__question::-webkit-details-marker {
  display: none;
}

.faq-item__question::after {
  content: "+";
  font-size: var(--text-h3);
  line-height: 1;
  color: var(--color-apricot-deep);
  transition: var(--transition-transform);
}

.faq-item[open] .faq-item__question::after {
  transform: rotate(45deg);
}

.faq-item__answer {
  margin-block-start: var(--space-2);
  margin-block-end: 0;
  color: var(--color-deep-teal-text);
}

@media (max-width: 1023px) {
  .poker-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .poker-hero__content {
    align-items: flex-start;
  }

  .poker-section__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .poker-section__illustration {
    display: none;
  }

  .poker-section__content--wide {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .poker-hero {
    padding-block: var(--space-5);
  }

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

  .poker-hero__title {
    font-size: var(--text-h1);
  }

  .poker-hero__lead {
    max-width: 100%;
  }

  .poker-section__content p,
  .poker-section__content ul {
    max-width: 100%;
  }

  .faq-list {
    max-width: 100%;
  }
}


/* Offline Poker page styles */

/* Hero */
.offline-hero {
  background-color: var(--color-cream-bg);
  padding-block: var(--space-7) var(--space-6);
}

.offline-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.offline-hero__copy {
  min-width: 0;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.offline-hero__eyebrow {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-apricot-deep);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-block-end: 0;
}

.offline-hero__copy h1 {
  margin-block-end: 0;
}

.offline-hero__lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: 0;
}

.offline-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.offline-hero__illustration {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  transform: translateY(var(--space-3));
}

.offline-house-illustration {
  position: relative;
  width: 100%;
  max-width: 440px;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(168, 195, 160, 0.6);
  border-radius: var(--radius-large);
  background-color: var(--color-white-surface);
  overflow: hidden;
  transition: transform 250ms ease;
}

.offline-house-illustration:hover {
  transform: scale(1.02);
}

.offline-house-illustration__roof {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 38%;
  background-color: var(--color-apricot-primary);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  opacity: 0.9;
}

.offline-house-illustration__chimney {
  position: absolute;
  top: 8%;
  right: 14%;
  width: 12%;
  height: 18%;
  background-color: var(--color-sage-deep);
  border-radius: var(--radius-small);
}

.offline-house-illustration__floor {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-sage-deep);
}

.offline-house-illustration__floor--ground {
  bottom: 0;
  height: 20%;
  background-color: var(--color-sage-secondary);
  opacity: 0.5;
}

.offline-house-illustration__floor--upper {
  top: 38%;
}

.offline-house-illustration__window {
  position: absolute;
  width: 18%;
  height: 22%;
  border: 2px solid var(--color-deep-teal-text);
  border-radius: var(--radius-small);
  background-color: var(--color-cream-bg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.offline-house-illustration__window--restaurant {
  top: 48%;
  left: 12%;
}

.offline-house-illustration__window--poker {
  top: 10%;
  left: 38%;
  border-color: var(--color-deep-teal-text);
}

.offline-house-illustration__spade {
  display: block;
  width: 40%;
  height: 40%;
  background-color: var(--color-deep-teal-text);
  clip-path: polygon(50% 0%, 100% 35%, 82% 100%, 50% 78%, 18% 100%, 0% 35%);
}

.offline-house-illustration__door {
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 16%;
  height: 32%;
  background-color: var(--color-deep-teal-surface);
  border-radius: var(--radius-small);
}

.offline-house-illustration__stairs {
  position: absolute;
  bottom: 20%;
  left: 68%;
  width: 20%;
  height: 32%;
  background: repeating-linear-gradient(
    to bottom,
    var(--color-sage-secondary) 0,
    var(--color-sage-secondary) 8px,
    transparent 8px,
    transparent 16px
  );
  border-radius: var(--radius-small);
  opacity: 0.7;
}

/* Definition */
.offline-definition {
  background-color: var(--color-white-surface);
  border-block: 1px solid rgba(168, 195, 160, 0.6);
  padding-block: var(--space-7);
}

.offline-definition__inner {
  max-width: 700px;
  margin-inline: auto;
}

.offline-definition__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.offline-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-sage-secondary);
  border-radius: var(--radius-small);
  color: var(--color-sage-deep);
  font-size: var(--text-h3);
  flex-shrink: 0;
}

.offline-section-icon--light {
  border-color: rgba(253, 246, 236, 0.4);
  color: var(--color-cream-on-dark);
}

.offline-definition__header h2 {
  margin-block-end: 0;
}

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

.offline-definition__block {
  min-width: 0;
}

.offline-definition__block h3 {
  margin-block-end: var(--space-2);
}

.offline-definition__block p {
  margin-block-end: var(--space-3);
}

.offline-definition__list {
  margin-block-end: var(--space-3);
}

.offline-definition__quote {
  margin-block-end: var(--space-3);
}

/* Atmosphere */
.offline-atmosphere {
  background-color: var(--color-cream-bg);
  padding-block: var(--space-7);
}

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

.offline-atmosphere__copy {
  min-width: 0;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.offline-atmosphere__copy h2 {
  margin-block-end: 0;
}

.offline-atmosphere__copy h3 {
  margin-block-end: 0;
}

.offline-atmosphere__copy p {
  margin-block-end: 0;
}

.offline-atmosphere__list {
  margin-block-end: 0;
}

.offline-atmosphere__figure {
  min-width: 0;
  margin-block-end: 0;
}

.offline-atmosphere__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(168, 195, 160, 0.6);
  border-radius: var(--radius-medium);
  transition: transform 250ms ease;
}

.offline-atmosphere__figure img:hover {
  transform: scale(1.01);
}

.offline-atmosphere__figure figcaption {
  text-align: right;
}

/* Games */
.offline-games {
  background-color: var(--color-cream-bg);
  padding-block: var(--space-7);
  position: relative;
  overflow: hidden;
}

.offline-games::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  height: 300px;
  background-image: radial-gradient(circle at 20% 20%, rgba(242, 166, 90, 0.12) 0, transparent 40%),
    radial-gradient(circle at 80% 80%, rgba(168, 195, 160, 0.12) 0, transparent 40%);
  pointer-events: none;
}

.offline-games__inner {
  position: relative;
  max-width: 700px;
  margin-inline: auto;
}

.offline-games__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.offline-games__header h2 {
  margin-block-end: 0;
}

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

.offline-games__block {
  min-width: 0;
}

.offline-games__block h3 {
  margin-block-end: var(--space-2);
}

.offline-games__block p {
  margin-block-end: var(--space-3);
}

/* Evenings */
.offline-evenings {
  background-color: var(--color-white-surface);
  border-block: 1px solid rgba(168, 195, 160, 0.6);
  padding-block: var(--space-7);
}

.offline-evenings__inner {
  max-width: 1000px;
  margin-inline: auto;
}

.offline-evenings__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.offline-evenings__header h2 {
  margin-block-end: 0;
}

.offline-evenings__lead {
  max-width: 700px;
  margin-block-end: 0;
}

.offline-evenings__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.offline-evening-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform 250ms ease, box-shadow 250ms ease;
}

.offline-evening-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.offline-evening-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-sage-secondary);
  border-radius: var(--radius-small);
  color: var(--color-sage-deep);
  font-size: var(--text-h3);
}

.offline-evening-card h3 {
  margin-block-end: 0;
}

.offline-evening-card__meta {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sage-deep);
  margin-block-end: 0;
}

.offline-evening-card p:last-child {
  margin-block-end: 0;
}

/* Private */
.offline-private {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block: var(--space-7);
}

.offline-private__inner {
  max-width: 600px;
  margin-inline: auto;
}

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

.offline-private__copy h2,
.offline-private__copy h3 {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.offline-private__copy p {
  margin-block-end: 0;
}

.offline-private__list {
  margin-block-end: 0;
}

.offline-private__actions {
  margin-block-start: var(--space-2);
}

/* Dining */
.offline-dining {
  background-color: var(--color-cream-bg);
  padding-block: var(--space-7);
}

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

.offline-dining__copy {
  min-width: 0;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.offline-dining__copy h2 {
  margin-block-end: 0;
}

.offline-dining__copy h3 {
  margin-block-end: 0;
}

.offline-dining__copy p {
  margin-block-end: 0;
}

.offline-dining__list {
  margin-block-end: 0;
}

.offline-dining__figure {
  min-width: 0;
  margin-block-end: 0;
}

.offline-dining__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(242, 166, 90, 0.5);
  border-radius: var(--radius-medium);
}

.offline-dining__figure figcaption {
  text-align: right;
}

/* Reservation */
.offline-reservation {
  background-color: var(--color-white-surface);
  border-block: 1px solid rgba(168, 195, 160, 0.6);
  padding-block: var(--space-7);
}

.offline-reservation__inner {
  max-width: 500px;
  margin-inline: auto;
}

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

.offline-reservation__copy h2 {
  margin-block-end: 0;
}

.offline-reservation__copy p {
  margin-block-end: 0;
}

.offline-reservation__contacts {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.offline-reservation__contacts li {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.offline-reservation__actions {
  margin-block-start: var(--space-2);
}

/* FAQ */
.offline-faq {
  background-color: var(--color-cream-bg);
  padding-block: var(--space-7);
}

.offline-faq__inner {
  max-width: 700px;
  margin-inline: auto;
}

.offline-faq__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.offline-faq__header h2 {
  margin-block-end: 0;
}

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

.offline-faq__item {
  border: 1px solid rgba(168, 195, 160, 0.6);
  border-radius: var(--radius-medium);
  background-color: var(--color-white-surface);
  overflow: hidden;
}

.offline-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);
  font-weight: 600;
  color: var(--color-deep-teal-text);
  text-align: left;
  transition: background-color 150ms ease;
}

.offline-faq__question:hover {
  background-color: rgba(168, 195, 160, 0.15);
}

.offline-faq__icon {
  position: relative;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.offline-faq__icon::before,
.offline-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background-color: var(--color-deep-teal-text);
  transform: translate(-50%, -50%);
  transition: transform 150ms ease;
}

.offline-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.offline-faq__item.is-open .offline-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.offline-faq__answer {
  display: none;
  padding: 0 var(--space-4) var(--space-4);
}

.offline-faq__item.is-open .offline-faq__answer {
  display: block;
}

.offline-faq__answer p {
  margin-block-end: 0;
}

/* Final */
.offline-final {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block: var(--space-7);
}

.offline-final__inner {
  max-width: 600px;
  margin-inline: auto;
}

.offline-final__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
  text-align: center;
}

.offline-final__copy h2 {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.offline-final__copy p {
  margin-block-end: 0;
}

.offline-final__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  align-items: center;
}

.offline-final__actions {
  margin-block-start: var(--space-2);
}

/* Tablet */
@media (max-width: 900px) {
  .offline-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .offline-hero__copy {
    max-width: 100%;
  }

  .offline-hero__illustration {
    justify-content: center;
    transform: none;
  }

  .offline-house-illustration {
    max-width: 560px;
  }

  .offline-atmosphere__inner,
  .offline-dining__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .offline-atmosphere__copy,
  .offline-dining__copy {
    max-width: 100%;
  }

  .offline-evenings__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 767px) {
  .offline-hero {
    padding-block: var(--space-6) var(--space-5);
  }

  .offline-hero__inner {
    gap: var(--space-4);
  }

  .offline-hero__copy {
    gap: var(--space-3);
  }

  .offline-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  .offline-hero__actions .btn {
    width: 100%;
  }

  .offline-house-illustration {
    aspect-ratio: 16 / 9;
    max-width: 100%;
  }

  .offline-definition,
  .offline-atmosphere,
  .offline-games,
  .offline-evenings,
  .offline-private,
  .offline-dining,
  .offline-reservation,
  .offline-faq,
  .offline-final {
    padding-block: var(--space-6);
  }

  .offline-definition__header,
  .offline-games__header,
  .offline-faq__header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

  .offline-evenings__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .offline-private__copy,
  .offline-final__copy {
    align-items: stretch;
    text-align: left;
  }

  .offline-final__list {
    align-items: flex-start;
  }

  .offline-private__actions .btn,
  .offline-final__actions .btn,
  .offline-reservation__actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .offline-house-illustration {
    aspect-ratio: 4 / 3;
  }
}


/* Page-owned styles for Restaurace page */

.restaurace-main {
  background-color: var(--color-cream-bg);
}

/* Hero */
.restaurace-hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--color-deep-teal-surface);
}

.restaurace-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  z-index: 0;
}

.restaurace-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(31, 61, 61, 0.92) 0%, rgba(31, 61, 61, 0.72) 45%, rgba(31, 61, 61, 0.25) 100%);
  z-index: 1;
}

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

.restaurace-hero__text {
  max-width: 600px;
  text-align: left;
  color: var(--color-cream-on-dark);
}

.restaurace-hero__text h1 {
  color: var(--color-cream-on-dark);
  margin-block-end: var(--space-4);
}

.restaurace-hero__lead {
  color: var(--color-cream-on-dark);
  margin-block-end: var(--space-5);
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.restaurace-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

/* Concept */
.restaurace-concept {
  padding-block: var(--space-7);
}

.restaurace-concept__heading {
  max-width: 700px;
  margin-block-end: var(--space-5);
}

.restaurace-concept__heading h2 {
  margin-block-end: var(--space-3);
}

.restaurace-concept__heading p {
  margin-block-end: 0;
}

.restaurace-concept__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.restaurace-concept-card {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: var(--transition-transform);
}

.restaurace-concept-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.restaurace-concept-card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-apricot-deep);
}

.restaurace-concept-card h3 {
  margin-block-end: 0;
}

.restaurace-concept-card p {
  margin-block-end: 0;
}

/* Interior */
.restaurace-interior {
  padding-block: var(--space-7);
  background-color: var(--color-cream-bg);
}

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

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

.restaurace-interior__text h2 {
  margin-block-end: var(--space-3);
}

.restaurace-interior__text p {
  margin-block-end: var(--space-3);
}

.restaurace-interior__figure {
  margin-block-end: 0;
  min-width: 0;
}

.restaurace-interior__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  transition: var(--transition-transform);
}

.restaurace-interior__figure img:hover {
  transform: scale(1.02);
}

.restaurace-interior__figure figcaption {
  margin-block-start: var(--space-2);
}

/* Poker Room */
.restaurace-poker-room {
  padding-block: var(--space-7);
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.restaurace-poker-room__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.restaurace-poker-room__figure {
  margin-block-end: 0;
  min-width: 0;
}

.restaurace-poker-room__figure img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  transition: var(--transition-transform);
}

.restaurace-poker-room__figure img:hover {
  transform: scale(1.02);
}

.restaurace-poker-room__figure figcaption {
  color: var(--color-cream-on-dark);
  opacity: 0.8;
  margin-block-start: var(--space-2);
}

.restaurace-poker-room__text {
  min-width: 0;
}

.restaurace-poker-room__text h2 {
  color: var(--color-cream-on-dark);
  margin-block-end: var(--space-3);
}

.restaurace-poker-room__text p {
  color: var(--color-cream-on-dark);
  margin-block-end: var(--space-3);
}

.restaurace-poker-room__text .btn {
  margin-block-start: var(--space-3);
}

/* Events */
.restaurace-events {
  padding-block: var(--space-7);
}

.restaurace-events h2 {
  margin-block-end: var(--space-5);
}

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

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

.restaurace-events__block h3 {
  margin-block-end: var(--space-3);
}

.restaurace-events__block p {
  margin-block-end: var(--space-3);
}

.restaurace-events__block ul {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
}

.restaurace-events__block .btn {
  margin-block-start: var(--space-2);
}

/* Benefits */
.restaurace-benefits {
  padding-block: var(--space-7);
  background-color: rgba(168, 195, 160, 0.25);
}

.restaurace-benefits__content {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
}

.restaurace-benefits__content h2 {
  margin-block-end: var(--space-3);
}

.restaurace-benefits__lead {
  margin-block-end: var(--space-5);
}

.restaurace-benefits__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  text-align: left;
}

.restaurace-benefits__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.restaurace-benefits__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-apricot-deep);
  transition: var(--transition-transform);
}

.restaurace-benefits__list li:hover .restaurace-benefits__icon {
  transform: scale(1.1);
}

/* Gallery */
.restaurace-gallery {
  padding-block: var(--space-7);
}

.restaurace-gallery h2 {
  text-align: center;
  margin-block-end: var(--space-3);
}

.restaurace-gallery__intro {
  text-align: center;
  max-width: 600px;
  margin-inline: auto;
  margin-block-end: var(--space-5);
}

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

.restaurace-gallery__item {
  margin-block-end: 0;
  min-width: 0;
}

.restaurace-gallery__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  transition: var(--transition-transform);
}

.restaurace-gallery__item img:hover {
  transform: scale(1.02);
}

.restaurace-gallery__item figcaption {
  margin-block-start: var(--space-2);
}

/* Reservation */
.restaurace-reservation {
  padding-block: var(--space-7);
  background-color: var(--color-deep-teal-surface);
}

.restaurace-reservation__card {
  background-color: var(--color-white-surface);
  border-radius: var(--radius-large);
  padding: var(--space-5);
  max-width: 400px;
  margin-inline: auto;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.restaurace-reservation__card h2 {
  margin-block-end: 0;
}

.restaurace-reservation__card p {
  margin-block-end: 0;
}

.restaurace-reservation__contacts {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.restaurace-reservation__contacts li {
  margin-block-end: 0;
}

.restaurace-reservation__card .btn {
  align-self: flex-start;
}

/* FAQ */
.restaurace-faq {
  padding-block: var(--space-7);
}

.restaurace-faq__container {
  max-width: 800px;
}

.restaurace-faq h2 {
  margin-block-end: var(--space-5);
}

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

.restaurace-faq__item {
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  background-color: var(--color-white-surface);
  overflow: hidden;
}

.restaurace-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: none;
  border: none;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 500;
  color: var(--color-deep-teal-text);
  text-align: left;
  cursor: pointer;
  transition: var(--transition-color);
  min-height: 44px;
}

.restaurace-faq__question:hover {
  background-color: rgba(168, 195, 160, 0.15);
}

.restaurace-faq__icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  position: relative;
}

.restaurace-faq__icon::before,
.restaurace-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: var(--color-apricot-deep);
  transform: translate(-50%, -50%);
  transition: var(--transition-transform);
}

.restaurace-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.restaurace-faq__question[aria-expanded="true"] .restaurace-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.restaurace-faq__answer {
  padding: 0 var(--space-4) var(--space-4);
}

.restaurace-faq__answer p {
  margin-block-end: 0;
}

/* CTA */
.restaurace-cta {
  padding-block: var(--space-7);
  background-color: var(--color-apricot-primary);
}

.restaurace-cta__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.restaurace-cta__content h2 {
  margin-block-end: 0;
  color: var(--color-deep-teal-text);
}

.restaurace-cta__content p {
  margin-block-end: 0;
  color: var(--color-deep-teal-text);
}

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

/* Tablet */
@media (max-width: 1024px) {
  .restaurace-concept__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurace-concept-card:last-child {
    grid-column: span 2;
  }

  .restaurace-interior__grid,
  .restaurace-poker-room__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .restaurace-interior__figure,
  .restaurace-poker-room__figure {
    order: -1;
  }

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

  .restaurace-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurace-gallery__item:last-child {
    grid-column: span 2;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .restaurace-hero {
    min-height: 400px;
  }

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

  .restaurace-hero__text {
    max-width: 100%;
  }

  .restaurace-hero__text h1 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .restaurace-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

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

  .restaurace-concept__grid {
    grid-template-columns: 1fr;
  }

  .restaurace-concept-card:last-child {
    grid-column: auto;
  }

  .restaurace-interior__grid,
  .restaurace-poker-room__grid {
    grid-template-columns: 1fr;
  }

  .restaurace-interior__figure,
  .restaurace-poker-room__figure {
    order: -1;
  }

  .restaurace-events__grid {
    grid-template-columns: 1fr;
  }

  .restaurace-benefits__list {
    grid-template-columns: 1fr;
  }

  .restaurace-gallery__grid {
    grid-template-columns: 1fr;
  }

  .restaurace-gallery__item:last-child {
    grid-column: auto;
  }

  .restaurace-reservation__card {
    max-width: 100%;
    padding: var(--space-4);
  }

  .restaurace-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

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

@media (prefers-reduced-motion: reduce) {
  .restaurace-hero,
  .restaurace-concept-card,
  .restaurace-interior__figure img,
  .restaurace-poker-room__figure img,
  .restaurace-gallery__item img,
  .restaurace-benefits__icon {
    transition: none;
    transform: none;
  }
}


.home-page {
  overflow-x: clip;
}

.home-page .container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

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

.home-page .home-section-kicker {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-apricot-deep);
  margin-block-end: var(--space-2);
}

.home-page .home-section-kicker--light {
  color: var(--color-apricot-primary);
}

.home-page h2 {
  margin-block-end: var(--space-4);
}

.home-page h3 {
  margin-block-end: var(--space-2);
}

.home-page p {
  margin-block-end: var(--space-3);
}

.home-page ul {
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
}

.home-page .btn {
  margin-block-start: var(--space-3);
}

.home-hero {
  background-color: var(--color-cream-bg);
  padding-block: var(--space-7) var(--space-8);
}

.home-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
}

.home-hero__eyebrow {
  margin-block-end: 0;
}

.home-hero__content h1 {
  margin-block-end: 0;
  max-width: 16ch;
}

.home-hero__lead {
  max-width: 42rem;
  margin-block-end: 0;
}

.home-hero__support {
  max-width: 42rem;
  color: var(--color-sage-deep);
  margin-block-end: 0;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

.home-hero__actions .btn {
  margin-block-start: 0;
}

.home-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-2);
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sage-deep);
}

.home-hero__facts a {
  color: var(--color-apricot-deep);
}

.home-hero__media {
  min-width: 0;
  margin-block-end: 0;
}

.home-hero__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border: var(--border-sage);
  border-radius: var(--radius-large);
}

.home-concept {
  background-color: var(--color-white-surface);
}

.home-concept__inner {
  display: flex;
  justify-content: center;
}

.home-concept__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-concept__content p,
.home-concept__content ul {
  max-width: 42rem;
}

.home-concept__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  max-width: 42rem;
}

.home-concept__list li {
  background-color: var(--color-cream-bg);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
  color: var(--color-deep-teal-text);
}

.home-kitchen {
  background-color: var(--color-cream-bg);
}

.home-kitchen__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.home-kitchen__content {
  min-width: 0;
}

.home-kitchen__content p {
  }

.home-kitchen__media {
  min-width: 0;
  margin-block-end: 0;
}

.home-kitchen__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border: var(--border-sage);
  border-radius: var(--radius-large);
}

.home-dining {
  background-color: var(--color-white-surface);
}

.home-dining__inner {
  display: flex;
  justify-content: center;
}

.home-dining__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-dining__content > p {
  }

.home-dining__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
}

.home-dining__list li {
  background-color: var(--color-cream-bg);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  min-width: 0;
}

.home-dining__list h3 {
  margin-block-end: var(--space-2);
}

.home-dining__list p {
  margin-block-end: 0;
}

.home-interior {
  background-color: var(--color-cream-bg);
}

.home-interior__inner {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-6);
  align-items: center;
}

.home-interior__media {
  min-width: 0;
  margin-block-end: 0;
}

.home-interior__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border: var(--border-sage);
  border-radius: var(--radius-large);
}

.home-interior__content {
  min-width: 0;
}

.home-interior__content p {
  }

.home-offline-poker {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.home-offline-poker h2,
.home-offline-poker h3 {
  color: var(--color-cream-on-dark);
}

.home-offline-poker__inner {
  display: flex;
  justify-content: center;
}

.home-offline-poker__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-offline-poker__content p,
.home-offline-poker__content ul {
  max-width: 42rem;
}

.home-offline-poker__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  max-width: 42rem;
}

.home-offline-poker__list li {
  background-color: rgba(253, 246, 236, 0.08);
  border: 1px solid rgba(253, 246, 236, 0.2);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
  color: var(--color-cream-on-dark);
}

.home-poker-room {
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
  padding-block-start: 0;
}

.home-poker-room h2,
.home-poker-room h3 {
  color: var(--color-cream-on-dark);
}

.home-poker-room__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.home-poker-room__content {
  min-width: 0;
}

.home-poker-room__content p {
  }

.home-poker-room__media {
  min-width: 0;
  margin-block-end: 0;
}

.home-poker-room__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(253, 246, 236, 0.2);
  border-radius: var(--radius-large);
}

.home-holdem {
  background-color: var(--color-cream-bg);
}

.home-holdem__inner {
  display: flex;
  justify-content: center;
}

.home-holdem__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-holdem__content p,
.home-holdem__content ul {
  max-width: 42rem;
}

.home-holdem__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  max-width: 42rem;
}

.home-holdem__list li {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-3);
  color: var(--color-deep-teal-text);
}

.home-poker-evenings {
  background-color: var(--color-white-surface);
}

.home-poker-evenings__inner {
  display: flex;
  justify-content: center;
}

.home-poker-evenings__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-poker-evenings__content > p {
  }

.home-poker-evenings__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
}

.home-poker-evenings__list li {
  background-color: var(--color-cream-bg);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  min-width: 0;
}

.home-poker-evenings__list h3 {
  margin-block-end: var(--space-2);
}

.home-poker-evenings__list p {
  margin-block-end: 0;
}

.home-dinner-poker {
  background-color: var(--color-cream-bg);
}

.home-dinner-poker__inner {
  display: flex;
  justify-content: center;
}

.home-dinner-poker__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-dinner-poker__content p {
  }

.home-private-salon {
  background-color: var(--color-white-surface);
}

.home-private-salon__inner {
  display: flex;
  justify-content: center;
}

.home-private-salon__content {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}

.home-private-salon__content p {
  }

@media (max-width: 1023px) {
  .home-page section {
    padding-block: var(--space-6);
  }

  .home-hero__inner,
  .home-kitchen__inner,
  .home-interior__inner,
  .home-poker-room__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .home-hero__media,
  .home-kitchen__media,
  .home-interior__media,
  .home-poker-room__media {
    order: 2;
  }

  .home-hero__content,
  .home-kitchen__content,
  .home-interior__content,
  .home-poker-room__content {
    order: 1;
  }

  .home-dining__list,
  .home-poker-evenings__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .home-page section {
    padding-block: var(--space-5);
  }

  .home-page h2 {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .home-hero__actions .btn {
    width: 100%;
  }

  .home-hero__facts {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

  .home-concept__list,
  .home-offline-poker__list,
  .home-holdem__list,
  .home-dining__list,
  .home-poker-evenings__list {
    grid-template-columns: 1fr;
  }

  .home-concept__content,
  .home-dining__content,
  .home-offline-poker__content,
  .home-holdem__content,
  .home-poker-evenings__content,
  .home-dinner-poker__content,
  .home-private-salon__content {
    max-width: 100%;
  }

  .home-concept__content p,
  .home-concept__content ul,
  .home-dining__content > p,
  .home-offline-poker__content p,
  .home-offline-poker__content ul,
  .home-holdem__content p,
  .home-holdem__content ul,
  .home-poker-evenings__content > p,
  .home-dinner-poker__content p,
  .home-private-salon__content p {
  }
}


/* Texas Hold’em page styles */

.th-hero {
  padding-block: var(--space-7) var(--space-6);
  background-color: var(--color-cream-bg);
}

.th-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.th-hero__content {
  min-width: 0;
}

.th-hero__eyebrow {
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-apricot-deep);
  margin-block-end: var(--space-2);
}

.th-hero__content h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  margin-block-end: var(--space-4);
  max-width: 20ch;
}

.th-hero__perex {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  max-width: 70ch;
  margin-block-end: var(--space-4);
}

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

.th-hero__facts li {
  position: relative;
  padding-inline-start: var(--space-4);
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

.th-hero__facts li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-apricot-primary);
}

.th-hero__door {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.th-hero__door-frame {
  width: 100%;
  max-width: 300px;
  aspect-ratio: 3 / 4;
  border: 2px solid var(--color-sage-secondary);
  border-radius: var(--radius-large);
  background-color: var(--color-white-surface);
  padding: var(--space-3);
  box-shadow: var(--shadow-soft);
}

.th-hero__door-panel {
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(168, 195, 160, 0.6);
  border-radius: var(--radius-medium);
  background-color: var(--color-cream-bg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.th-hero__door-handle {
  position: absolute;
  right: var(--space-3);
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 40px;
  border-radius: 4px;
  background-color: var(--color-apricot-primary);
}

.th-hero__door-sign {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  color: var(--color-deep-teal-text);
  text-align: center;
  padding-inline: var(--space-4);
}

.th-atmosphere {
  padding-block: var(--space-6);
  background-color: var(--color-white-surface);
}

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

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

.th-atmosphere__block {
  min-width: 0;
}

.th-atmosphere__block h3 {
  margin-block-end: var(--space-3);
}

.th-atmosphere__block p {
  margin-block-end: var(--space-3);
}

.th-atmosphere__block p:last-child {
  margin-block-end: 0;
}

.th-rules {
  padding-block: var(--space-6);
  background-color: var(--color-cream-bg);
}

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

.th-rules__intro {
  max-width: 70ch;
  margin-block-end: 0;
}

.th-rules__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.th-rules__card {
  min-width: 0;
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  transition: var(--transition-transform);
}

.th-rules__card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.th-rules__card h3 {
  margin-block-end: var(--space-3);
}

.th-rules__card p {
  margin-block-end: var(--space-3);
}

.th-rules__card p:last-child {
  margin-block-end: 0;
}

.th-rules__card ul {
  margin-block-end: var(--space-3);
  padding-inline-start: var(--space-4);
}

.th-rules__card li {
  margin-block-end: var(--space-1);
}

.th-rules__card li:last-child {
  margin-block-end: 0;
}

.th-dining {
  padding-block: var(--space-6);
  background-color: var(--color-white-surface);
}

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

.th-dining__content {
  min-width: 0;
}

.th-dining__content h2 {
  margin-block-end: var(--space-4);
}

.th-dining__content h3 {
  margin-block-end: var(--space-2);
}

.th-dining__content p {
  margin-block-end: var(--space-3);
}

.th-dining__content p:last-child {
  margin-block-end: 0;
}

.th-dining__figure {
  min-width: 0;
  margin: 0;
}

.th-dining__figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid rgba(168, 195, 160, 0.4);
  transition: transform 250ms ease;
}

.th-dining__figure img:hover {
  transform: scale(1.02);
}

.th-dining__figure figcaption {
  margin-block-start: var(--space-2);
  font-size: var(--text-small);
  color: var(--color-sage-deep);
}

.th-poker-room {
  padding-block: var(--space-6);
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.th-poker-room__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: start;
}

.th-poker-room__content {
  min-width: 0;
}

.th-poker-room__content h2,
.th-poker-room__content h3 {
  color: var(--color-cream-on-dark);
}

.th-poker-room__content h2 {
  margin-block-end: var(--space-4);
}

.th-poker-room__content h3 {
  margin-block-end: var(--space-2);
}

.th-poker-room__content p {
  margin-block-end: var(--space-3);
}

.th-poker-room__content .btn {
  margin-block-start: var(--space-4);
}

.th-poker-room__figure {
  min-width: 0;
  margin: 0;
}

.th-poker-room__figure img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid rgba(253, 246, 236, 0.2);
}

.th-poker-room__figure figcaption {
  margin-block-start: var(--space-2);
  font-size: var(--text-small);
  color: var(--color-cream-on-dark);
  opacity: 0.8;
}

.th-events {
  padding-block: var(--space-6);
  background-color: var(--color-cream-bg);
}

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

.th-events__intro {
  max-width: 70ch;
  margin-block-end: 0;
}

.th-events__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.th-events__card {
  min-width: 0;
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  transition: var(--transition-transform);
}

.th-events__card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.th-events__card h3 {
  margin-block-end: var(--space-2);
}

.th-events__card p {
  margin-block-end: 0;
}

.th-events__private {
  background-color: var(--color-white-surface);
  border: var(--border-sage);
  border-radius: var(--radius-large);
  padding: var(--space-5);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.th-events__private h3 {
  margin-block-end: 0;
}

.th-events__private p {
  margin-block-end: 0;
}

.th-faq {
  padding-block: var(--space-6);
  background-color: var(--color-white-surface);
}

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

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

.th-faq__item {
  border: var(--border-sage);
  border-radius: var(--radius-medium);
  background-color: var(--color-cream-bg);
  overflow: hidden;
}

.th-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 600;
  color: var(--color-deep-teal-text);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: var(--transition-color);
}

.th-faq__question:hover {
  color: var(--color-apricot-deep);
}

.th-faq__question[aria-expanded="true"] {
  color: var(--color-apricot-deep);
}

.th-faq__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
}

.th-faq__icon::before,
.th-faq__icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform 250ms ease;
}

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

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

.th-faq__question[aria-expanded="true"] .th-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.th-faq__answer {
  padding: 0 var(--space-4) var(--space-4);
}

.th-faq__answer p {
  margin-block-end: 0;
}

.th-reservation {
  padding-block: var(--space-6);
  background-color: var(--color-deep-teal-surface);
  color: var(--color-cream-on-dark);
}

.th-reservation__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.th-reservation__inner h2 {
  color: var(--color-cream-on-dark);
  margin-block-end: 0;
}

.th-reservation__intro {
  max-width: 70ch;
  margin-block-end: 0;
}

.th-reservation__form {
  width: 100%;
  max-width: 500px;
  background-color: var(--color-white-surface);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  text-align: left;
}

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

.th-reservation__field label {
  font-size: var(--text-small);
  font-weight: 500;
  color: var(--color-deep-teal-text);
}

.th-reservation__field input,
.th-reservation__field select {
  width: 100%;
  min-height: 44px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid rgba(168, 195, 160, 0.6);
  border-radius: var(--radius-small);
  background-color: var(--color-cream-bg);
  color: var(--color-deep-teal-text);
  font-size: var(--text-body);
  transition: var(--transition-color);
}

.th-reservation__field input:focus,
.th-reservation__field select:focus {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
  border-color: var(--color-apricot-primary);
}

.th-reservation__consent {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-2);
}

.th-reservation__consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-block-start: 2px;
  accent-color: var(--color-apricot-primary);
}

.th-reservation__consent label {
  flex: 1;
  min-width: 0;
  font-size: var(--text-small);
  color: var(--color-deep-teal-text);
}

.th-reservation__error {
  font-size: var(--text-small);
  color: #b3261e;
  margin-block-end: 0;
}

.th-reservation__submit {
  align-self: flex-start;
}

.th-reservation__success {
  background-color: rgba(168, 195, 160, 0.2);
  border: 1px solid var(--color-sage-secondary);
  border-radius: var(--radius-small);
  padding: var(--space-3);
  color: var(--color-deep-teal-text);
  font-weight: 500;
  margin-block-end: 0;
}

.th-conclusion {
  padding-block: var(--space-6);
  background-color: var(--color-cream-bg);
}

.th-conclusion__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: flex-start;
}

.th-conclusion__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  width: 100%;
}

.th-conclusion__block {
  min-width: 0;
}

.th-conclusion__block h3 {
  margin-block-end: var(--space-2);
}

.th-conclusion__block p {
  margin-block-end: 0;
}

/* Scroll reveal */
.th-hero__content,
.th-hero__door,
.th-atmosphere__block,
.th-rules__card,
.th-dining__content,
.th-dining__figure,
.th-poker-room__content,
.th-poker-room__figure,
.th-events__card,
.th-events__private,
.th-faq__item,
.th-conclusion__block {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.th-hero__content.is-visible,
.th-hero__door.is-visible,
.th-atmosphere__block.is-visible,
.th-rules__card.is-visible,
.th-dining__content.is-visible,
.th-dining__figure.is-visible,
.th-poker-room__content.is-visible,
.th-poker-room__figure.is-visible,
.th-events__card.is-visible,
.th-events__private.is-visible,
.th-faq__item.is-visible,
.th-conclusion__block.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet */
@media (max-width: 1024px) {
  .th-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .th-hero__content h1 {
    max-width: none;
  }

  .th-hero__door {
    max-width: 300px;
    margin-inline: auto;
  }

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

  .th-rules__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .th-rules__card:last-child {
    grid-column: 1 / -1;
  }

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

  .th-poker-room__inner {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .th-events__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .th-events__card:last-child {
    grid-column: 1 / -1;
  }

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

/* Mobile */
@media (max-width: 767px) {
  .th-hero {
    padding-block: var(--space-5) var(--space-4);
  }

  .th-hero__inner {
    gap: var(--space-4);
  }

  .th-hero__content h1 {
    font-size: var(--text-h1);
  }

  .th-hero__perex {
    max-width: none;
  }

  .th-hero__door-frame {
    max-width: 240px;
  }

  .th-atmosphere,
  .th-rules,
  .th-dining,
  .th-poker-room,
  .th-events,
  .th-faq,
  .th-reservation,
  .th-conclusion {
    padding-block: var(--space-5);
  }

  .th-rules__grid,
  .th-events__grid {
    grid-template-columns: 1fr;
  }

  .th-rules__card:last-child,
  .th-events__card:last-child {
    grid-column: auto;
  }

  .th-rules__card p,
  .th-events__card p {
  }

  .th-dining__figure img,
  .th-poker-room__figure img {
    aspect-ratio: 4 / 3;
  }

  .th-reservation__form {
    padding: var(--space-4);
  }

  .th-reservation__submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .th-hero__content,
  .th-hero__door,
  .th-atmosphere__block,
  .th-rules__card,
  .th-dining__content,
  .th-dining__figure,
  .th-poker-room__content,
  .th-poker-room__figure,
  .th-events__card,
  .th-events__private,
  .th-faq__item,
  .th-conclusion__block {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* Thank-you page styles */
.thank-you {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  padding-block: var(--space-7);
  padding-inline: var(--container-gutter);
}

.thank-you__content {
  max-width: 36rem;
  width: 100%;
  text-align: center;
  margin-inline: auto;
}

.thank-you__title {
  margin-block-end: var(--space-3);
}

.thank-you__message {
  margin-block-end: var(--space-3);
}

.thank-you__next {
  margin-block-end: var(--space-4);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}

@media (max-width: 767px) {
  .thank-you {
    padding-block: var(--space-5);
  }

  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .btn {
    width: 100%;
  }
}