

:root {
  --color-ivory: #FDF6EC;
  --color-tomato-red: #D94F30;
  --color-dark-navy: #1B2A41;
  --color-pistachio-green: #A3C585;
  --color-warm-brown: #8B5E3C;

  --font-heading: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;

  --text-display-size: clamp(2.25rem, 5vw + 1rem, 4rem);
  --text-h1-size: clamp(2rem, 3.5vw + 0.75rem, 3rem);
  --text-h2-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.25rem);
  --text-h3-size: clamp(1.5rem, 1.5vw + 0.75rem, 1.75rem);
  --text-h4-size: 1.25rem;
  --text-body-large-size: 1.125rem;
  --text-body-size: 1rem;
  --text-caption-size: 0.875rem;

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

  --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;
  --space-9: 8rem;

  --container-max: 75rem;
  --container-padding: var(--space-4);

  --surface-card: var(--color-ivory);
  --surface-tint-pistachio: color-mix(in srgb, var(--color-pistachio-green) 18%, var(--color-ivory));
  --surface-tint-tomato: color-mix(in srgb, var(--color-tomato-red) 12%, var(--color-ivory));

  --border-thin: 1px solid var(--color-warm-brown);
  --border-focus: 2px solid var(--color-tomato-red);

  --shadow-soft: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-lift: 0 4px 8px rgba(0, 0, 0, 0.12);

  --radius-sharp: 0px;
  --radius-small: 4px;
  --radius-medium: 8px;

  --transition-fast: 0.2s ease;
  --touch-target-min: 44px;
}

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

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

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--leading-body);
  color: var(--color-dark-navy);
  background-color: var(--color-ivory);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

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

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

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

a {
  color: var(--color-tomato-red);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-dark-navy);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-tomato-red);
  text-underline-offset: 0.2em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-dark-navy);
  letter-spacing: -0.01em;
}

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

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

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

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

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

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

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

li {
  margin: 0;
}

blockquote {
  margin: 0;
  margin-block-end: var(--space-4);
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-tomato-red);
  font-style: italic;
}

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

figcaption {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  margin-block-start: var(--space-2);
}

hr {
  border: none;
  border-top: var(--border-thin);
  margin-block: var(--space-6);
}

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-bottom: var(--border-thin);
}

th {
  font-family: var(--font-heading);
  font-weight: 600;
}

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

pre {
  overflow-x: auto;
  padding: var(--space-3);
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-small);
  margin-block-end: var(--space-4);
}

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

strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

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

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

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

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

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

.surface-tint-pistachio {
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
}

.surface-tint-tomato {
  background-color: var(--surface-tint-tomato);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
}

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

.btn:hover {
  text-decoration: none;
}

.btn:focus-visible {
  outline: var(--border-focus);
  outline-offset: 2px;
}

.btn--primary {
  background-color: var(--color-tomato-red);
  color: var(--color-ivory);
}

.btn--primary:hover {
  background-color: color-mix(in srgb, var(--color-tomato-red) 85%, black);
  color: var(--color-ivory);
  box-shadow: var(--shadow-lift);
  transform: translateY(-2px);
}

.btn--outline {
  background-color: transparent;
  color: var(--color-dark-navy);
  border-color: var(--color-dark-navy);
}

.btn--outline:hover {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
  box-shadow: var(--shadow-lift);
  transform: translateY(-2px);
}

.btn--ghost {
  background-color: transparent;
  color: var(--color-tomato-red);
}

.btn--ghost:hover {
  color: var(--color-dark-navy);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-tomato-red);
  text-underline-offset: 0.2em;
}

.link-annotation {
  color: var(--color-tomato-red);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-tomato-red);
  text-underline-offset: 0.2em;
}

.link-annotation:hover {
  color: var(--color-dark-navy);
  text-decoration-color: var(--color-dark-navy);
}

.form-field {
  display: block;
  width: 100%;
  min-height: var(--touch-target-min);
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-ivory);
  border: 1px solid var(--color-warm-brown);
  border-radius: var(--radius-small);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--leading-body);
  color: var(--color-dark-navy);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.form-field::placeholder {
  color: color-mix(in srgb, var(--color-warm-brown) 60%, transparent);
}

.form-field:focus {
  outline: none;
  border-color: var(--color-tomato-red);
  box-shadow: 0 0 0 2px var(--color-tomato-red);
}

.form-label {
  display: block;
  margin-block-end: var(--space-2);
  font-weight: 500;
  color: var(--color-dark-navy);
}

.form-group {
  margin-block-end: var(--space-4);
}

.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-dark-navy);
  color: var(--color-ivory);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-small);
  transition: top var(--transition-fast);
}

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

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

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

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

.flex--align-center {
  align-items: center;
}

.flex--justify-between {
  justify-content: space-between;
}

.flex--justify-center {
  justify-content: center;
}

.flex > * {
  min-width: 0;
}

.grid-auto {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.grid-auto > * {
  min-width: 0;
}

.content-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
}

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

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

.content-list--spaced > li {
  margin-block-end: var(--space-3);
}

.content-list--spaced > li:last-child {
  margin-block-end: 0;
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote, figure, table, pre) {
  margin-block-start: 0;
}

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

@media (max-width: 768px) {
  :root {
    --container-padding: var(--space-3);
  }

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

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

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

  .surface-card,
  .surface-tint-pistachio,
  .surface-tint-tomato {
    padding: var(--space-3);
  }
}


/* Header component styles */
.site-header {
  position: relative;
  z-index: 100;
  background-color: var(--color-ivory);
  border-bottom: var(--border-thin);
}

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

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

.site-header__brand:hover {
  text-decoration: none;
  color: var(--color-dark-navy);
}

.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;
  letter-spacing: -0.01em;
  line-height: 1.2;
  white-space: nowrap;
}

.site-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: var(--touch-target-min);
  height: var(--touch-target-min);
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: var(--radius-small);
  transition: background-color var(--transition-fast);
}

.site-header__toggle:hover {
  background-color: var(--surface-tint-pistachio);
}

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

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-dark-navy);
  border-radius: 1px;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.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: block;
}

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

.site-header__item {
  margin: 0;
  padding: 0;
}

.site-header__link {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-target-min);
  padding: var(--space-2) var(--space-1);
  color: var(--color-dark-navy);
  text-decoration: none;
  font-size: var(--text-body-size);
  line-height: 1.2;
  white-space: nowrap;
  transition: color var(--transition-fast);
}

.site-header__link:hover {
  color: var(--color-tomato-red);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-tomato-red);
  text-underline-offset: 0.2em;
}

.site-header__link:focus-visible {
  outline: var(--border-focus);
  outline-offset: 2px;
}

/* Mobile breakpoint */
@media (max-width: 1024px) {
  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-ivory);
    border-bottom: var(--border-thin);
    box-shadow: var(--shadow-soft);
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    display: none;
    padding: var(--space-3);
  }

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

  .site-header__list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-1);
  }

  .site-header__link {
    display: flex;
    width: 100%;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-small);
  }

  .site-header__link:hover {
    background-color: var(--surface-tint-pistachio);
    text-decoration: none;
  }
}

@media (max-width: 480px) {
  .site-header__brand-text {
    display: none;
  }

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


/* Footer and consent styles */
.site-footer {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
  padding-block: var(--space-7) var(--space-4);
  margin-top: auto;
}

.site-footer a {
  color: var(--color-ivory);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer a:hover {
  color: var(--color-pistachio-green);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-pistachio-green);
  text-underline-offset: 0.2em;
}

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

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

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

.site-footer__brand-text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.site-footer__tagline {
  font-size: var(--text-body-size);
  line-height: var(--leading-body);
  color: color-mix(in srgb, var(--color-ivory) 80%, transparent);
  max-width: 30ch;
  margin-block: 0;
}

.site-footer__heading {
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  line-height: var(--leading-h4);
  color: var(--color-ivory);
  margin-block: 0 var(--space-3);
}

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

.site-footer__list li {
  margin: 0;
}

.site-footer__list a {
  display: inline-block;
  padding-block: var(--space-1);
}

.site-footer__contact {
  font-style: normal;
}

.site-footer__address,
.site-footer__phone,
.site-footer__email {
  margin-block: 0 var(--space-2);
  line-height: var(--leading-body);
}

.site-footer__bottom {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-ivory) 20%, transparent);
}

.site-footer__copyright {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: color-mix(in srgb, var(--color-ivory) 70%, transparent);
  margin: 0;
  text-align: center;
}

/* Consent banner */
.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: var(--color-ivory);
  border-top: var(--border-thin);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
  padding: var(--space-3);
}

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

.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;
  margin: 0;
  font-size: var(--text-body-size);
  line-height: var(--leading-body);
  color: var(--color-dark-navy);
}

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

.consent-banner__button {
  min-height: var(--touch-target-min);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-small);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
  border: 2px solid transparent;
}

.consent-banner__button--accept {
  background-color: var(--color-tomato-red);
  color: var(--color-ivory);
}

.consent-banner__button--accept:hover {
  background-color: color-mix(in srgb, var(--color-tomato-red) 85%, black);
  box-shadow: var(--shadow-lift);
}

.consent-banner__button--reject {
  background-color: transparent;
  color: var(--color-dark-navy);
  border-color: var(--color-dark-navy);
}

.consent-banner__button--reject:hover {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
  box-shadow: var(--shadow-lift);
}

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

/* Responsive */
@media (max-width: 1024px) {
  .site-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
  }
}

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

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

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


/* Polityka Cookies – page-owned styles */

.cookies-page {
  background-color: var(--color-ivory);
  color: var(--color-dark-navy);
}

.cookies-section {
  padding-block: var(--space-8);
  border-bottom: var(--border-thin);
}

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

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

.cookies-container--narrow {
  max-width: 720px;
}

.cookies-heading {
  margin-block-end: var(--space-4);
  position: relative;
}

.cookies-heading--page {
  font-size: var(--text-h1-size);
  line-height: var(--leading-h1);
  padding-block-end: var(--space-3);
}

.cookies-heading--page::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  background-color: var(--color-tomato-red);
  margin-block-start: var(--space-3);
}

.cookies-intro__text,
.cookies-intro__scope,
.cookies-text-block {
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.cookies-intro__text p,
.cookies-intro__scope p,
.cookies-text-block p {
  margin-block-end: var(--space-3);
}

.cookies-intro__text p:last-child,
.cookies-intro__scope p:last-child,
.cookies-text-block p:last-child {
  margin-block-end: 0;
}

.cookies-date-card {
  max-width: 400px;
  margin-inline: auto;
  margin-block: var(--space-4);
  padding: var(--space-4);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  text-align: center;
  position: relative;
}

.cookies-date-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-medium);
  clip-path: polygon(0 0, 100% 0, 100% 92%, 96% 100%, 92% 94%, 88% 100%, 84% 94%, 80% 100%, 76% 94%, 72% 100%, 68% 94%, 64% 100%, 60% 94%, 56% 100%, 52% 94%, 48% 100%, 44% 94%, 40% 100%, 36% 94%, 32% 100%, 28% 94%, 24% 100%, 20% 94%, 16% 100%, 12% 94%, 8% 100%, 4% 94%, 0 100%);
  background-color: var(--surface-card);
  z-index: -1;
}

.cookies-date-card__label {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  margin-block-end: var(--space-2);
}

.cookies-date-card__value {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--leading-h3);
  color: var(--color-tomato-red);
  margin-block-end: 0;
}

.cookies-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  max-width: 720px;
  margin-inline: auto;
}

.cookies-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  position: relative;
  overflow: hidden;
}

.cookies-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
}

.cookies-card--necessary::before {
  background-color: var(--color-tomato-red);
}

.cookies-card--analytics::before {
  background-color: var(--color-pistachio-green);
}

.cookies-card--marketing::before {
  background-color: var(--color-warm-brown);
}

.cookies-card__title {
  margin-block-end: var(--space-3);
}

.cookies-card__body p {
  margin-block-end: var(--space-3);
}

.cookies-card__body p:last-child {
  margin-block-end: 0;
}

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

.cookies-browser-list,
.cookies-rights-list,
.cookies-contact-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
}

.cookies-browser-list li,
.cookies-rights-list li,
.cookies-contact-list li {
  margin-block-end: var(--space-2);
  padding-inline-start: var(--space-4);
  position: relative;
}

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

.cookies-browser-list li::before,
.cookies-rights-list li::before,
.cookies-contact-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.cookies-section--casino {
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-medium);
  margin-block: var(--space-4);
  padding-block: var(--space-6);
}

.cookies-section--casino .cookies-container {
  max-width: 720px;
}

.cookies-contact-card {
  max-width: 400px;
  margin-inline: auto;
  padding: var(--space-4);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  text-align: left;
  position: relative;
}

.cookies-contact-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-medium);
  clip-path: polygon(0 0, 100% 0, 100% 92%, 96% 100%, 92% 94%, 88% 100%, 84% 94%, 80% 100%, 76% 94%, 72% 100%, 68% 94%, 64% 100%, 60% 94%, 56% 100%, 52% 94%, 48% 100%, 44% 94%, 40% 100%, 36% 94%, 32% 100%, 28% 94%, 24% 100%, 20% 94%, 16% 100%, 12% 94%, 8% 100%, 4% 94%, 0 100%);
  background-color: var(--surface-card);
  z-index: -1;
}

.cookies-contact-card p {
  margin-block-end: var(--space-3);
}

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

@media (max-width: 768px) {
  .cookies-section {
    padding-block: var(--space-6);
  }

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

  .cookies-heading--page {
    font-size: var(--text-h2-size);
    line-height: var(--leading-h2);
  }

  .cookies-date-card,
  .cookies-contact-card {
    max-width: 100%;
  }

  .cookies-section--casino {
    margin-block: var(--space-3);
    padding-block: var(--space-5);
  }
}


.regulamin-page {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.regulamin-hero {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.regulamin-hero__inner {
  width: min(100%, 800px);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: center;
}

.regulamin-hero__eyebrow {
  margin: 0 0 var(--space-2);
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-tomato-red);
}

.regulamin-hero__title {
  margin: 0 0 var(--space-4);
  font-size: var(--text-h1-size);
  line-height: var(--leading-h1);
  color: var(--color-dark-navy);
  text-wrap: balance;
}

.regulamin-hero__lead {
  margin: 0 0 var(--space-5);
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  color: var(--color-dark-navy);
  text-wrap: pretty;
}

.regulamin-hero__date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  padding: var(--space-2) var(--space-4);
  background-color: var(--surface-tint-tomato);
  border: var(--border-thin);
  border-radius: var(--radius-small);
  font-size: var(--text-body-size);
  line-height: var(--leading-body);
  color: var(--color-dark-navy);
}

.regulamin-hero__date-label {
  font-weight: 600;
  color: var(--color-tomato-red);
}

.regulamin-hero__date time {
  font-style: italic;
  color: var(--color-tomato-red);
}

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

.regulamin-section__inner {
  width: min(100%, 800px);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.regulamin-section__title {
  margin: 0 0 var(--space-5);
  font-size: var(--text-h2-size);
  line-height: var(--leading-h2);
  color: var(--color-dark-navy);
  position: relative;
  padding-bottom: var(--space-3);
}

.regulamin-section__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 64px;
  height: 4px;
  background-color: var(--color-tomato-red);
  border-radius: var(--radius-small);
}

.regulamin-card-title {
  margin: 0 0 var(--space-3);
  font-size: var(--text-h3-size);
  line-height: var(--leading-h3);
  color: var(--color-dark-navy);
}

.regulamin-section--general {
  background-color: var(--surface-tint-pistachio);
}

.regulamin-general-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.regulamin-general-card,
.regulamin-definitions {
  min-width: 0;
}

.regulamin-general-card p,
.regulamin-definitions p {
  margin: 0 0 var(--space-3);
}

.regulamin-general-card p:last-child,
.regulamin-definitions p:last-child {
  margin-bottom: 0;
}

.regulamin-definitions {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
}

.regulamin-definition-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-3);
}

.regulamin-definition-item {
  display: block;
  min-width: 0;
}

.regulamin-definition-item dt {
  font-weight: 600;
  color: var(--color-dark-navy);
  margin-bottom: var(--space-1);
}

.regulamin-definition-item dd {
  margin: 0;
  font-style: italic;
  color: var(--color-warm-brown);
}

.regulamin-definitions__note {
  margin-top: var(--space-4);
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
}

.regulamin-section--reservations {
  background-color: var(--color-ivory);
}

.regulamin-reservations-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-reservations-card,
.regulamin-restaurant-card,
.regulamin-liability-card,
.regulamin-final-card {
  min-width: 0;
}

.regulamin-reservations-card p,
.regulamin-restaurant-card p,
.regulamin-liability-card p,
.regulamin-final-card p {
  margin: 0 0 var(--space-3);
}

.regulamin-reservations-card p:last-child,
.regulamin-restaurant-card p:last-child,
.regulamin-liability-card p:last-child,
.regulamin-final-card p:last-child {
  margin-bottom: 0;
}

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

.regulamin-list li {
  position: relative;
  padding-left: var(--space-3);
  color: var(--color-dark-navy);
}

.regulamin-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  border-radius: 50%;
}

.regulamin-phone,
.regulamin-email,
.regulamin-address {
  font-weight: 600;
  color: var(--color-tomato-red);
}

.regulamin-section--restaurant {
  background-color: var(--surface-tint-pistachio);
}

.regulamin-restaurant-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-section--casino {
  background-color: var(--color-dark-navy);
}

.regulamin-section--casino .regulamin-section__title {
  color: var(--color-ivory);
}

.regulamin-section--casino .regulamin-section__title::after {
  background-color: var(--color-tomato-red);
}

.regulamin-casino-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-casino-card {
  min-width: 0;
  background-color: color-mix(in srgb, var(--color-ivory) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ivory) 30%, transparent);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
}

.regulamin-casino-card .regulamin-card-title {
  color: var(--color-ivory);
}

.regulamin-casino-card p {
  margin: 0 0 var(--space-3);
  color: var(--color-ivory);
}

.regulamin-casino-card p:last-child {
  margin-bottom: 0;
}

.regulamin-list--light li {
  color: var(--color-ivory);
}

.regulamin-list--light li::before {
  background-color: var(--color-pistachio-green);
}

.regulamin-section--responsible {
  background-color: var(--surface-tint-pistachio);
}

.regulamin-responsible-content {
  min-width: 0;
}

.regulamin-responsible-content p {
  margin: 0 0 var(--space-3);
}

.regulamin-responsible-content p:last-child {
  margin-bottom: 0;
}

.regulamin-highlight {
  color: var(--color-tomato-red);
}

.regulamin-section--liability {
  background-color: var(--color-ivory);
}

.regulamin-liability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-section--final {
  background-color: var(--surface-tint-pistachio);
}

.regulamin-final-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-section--contact {
  background-color: var(--color-ivory);
}

.regulamin-contact-card {
  width: min(100%, 600px);
  margin-inline: auto;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  text-align: center;
}

.regulamin-contact-card .regulamin-card-title {
  text-align: center;
}

.regulamin-contact-card p {
  margin: 0 0 var(--space-3);
  text-align: center;
}

.regulamin-contact-card p:last-child {
  margin-bottom: 0;
}

.regulamin-contact-card__note {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
}

@media (max-width: 900px) {
  .regulamin-general-grid,
  .regulamin-reservations-grid,
  .regulamin-restaurant-grid,
  .regulamin-casino-content,
  .regulamin-liability-grid,
  .regulamin-final-content {
    grid-template-columns: 1fr;
  }

  .regulamin-hero__inner,
  .regulamin-section__inner {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .regulamin-hero {
    padding-block: var(--space-6);
  }

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

  .regulamin-hero__inner,
  .regulamin-section__inner {
    padding-inline: var(--container-padding);
  }

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

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

  .regulamin-contact-card {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .regulamin-hero__title {
    font-size: 2rem;
  }

  .regulamin-section__title {
    font-size: 1.75rem;
  }

  .regulamin-card-title {
    font-size: 1.5rem;
  }

  .regulamin-hero__date {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
    text-align: left;
  }
}


/* ===== Kasyno page styles ===== */

/* Hero */
.kasyno-hero {
  padding-block: var(--space-7) var(--space-8);
  background-color: var(--color-ivory);
}

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

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

.kasyno-hero__eyebrow {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-tomato-red);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
}

.kasyno-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--leading-display);
  margin: 0;
  max-width: 20ch;
}

.kasyno-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  margin: 0;
  max-width: 60ch;
}

.kasyno-hero__cta {
  align-self: flex-start;
  margin-top: var(--space-2);
}

.kasyno-hero__media {
  min-width: 0;
  border-radius: var(--radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: var(--border-thin);
}

.kasyno-hero__image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

/* Intro */
.kasyno-intro {
  background-color: var(--color-ivory);
}

.kasyno-intro__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.kasyno-intro__title {
  margin-block-end: var(--space-4);
}

.kasyno-intro__text {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  margin: 0;
  max-width: 70ch;
  margin-inline: auto;
}

/* Atmosfera */
.kasyno-atmosfera {
  background-color: var(--surface-tint-pistachio);
}

.kasyno-atmosfera__container {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-6);
  align-items: start;
}

.kasyno-atmosfera__text {
  min-width: 0;
}

.kasyno-atmosfera__title {
  margin-block-end: var(--space-4);
}

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

.kasyno-atmosfera__paragraph:last-child {
  margin-block-end: 0;
}

.kasyno-atmosfera__decor {
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: var(--color-tomato-red);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  opacity: 0.15;
  margin-top: var(--space-4);
}

/* Gry */
.kasyno-gry {
  background-color: var(--color-ivory);
}

.kasyno-gry__title {
  margin-block-end: var(--space-6);
}

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

.kasyno-gry__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: 0;
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kasyno-gry__card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lift);
}

.kasyno-gry__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-tomato-red);
}

.kasyno-gry__card-title {
  margin: 0;
}

.kasyno-gry__card-text {
  margin: 0;
  max-width: 30ch;
}

/* Restauracja */
.kasyno-restauracja {
  background-color: var(--color-ivory);
}

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

.kasyno-restauracja__content {
  min-width: 0;
}

.kasyno-restauracja__title {
  margin-block-end: var(--space-4);
}

.kasyno-restauracja__text {
  max-width: 60ch;
  margin-block-end: var(--space-4);
}

.kasyno-restauracja__steps-title {
  margin-block-end: var(--space-3);
}

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

.kasyno-restauracja__step {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

.kasyno-restauracja__step::before {
  content: "→";
  color: var(--color-tomato-red);
  font-weight: 600;
  flex-shrink: 0;
}

.kasyno-restauracja__media {
  min-width: 0;
  border-radius: var(--radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: var(--border-thin);
}

.kasyno-restauracja__image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

/* Wieczór */
.kasyno-wieczor {
  background-color: var(--surface-tint-pistachio);
}

.kasyno-wieczor__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.kasyno-wieczor__title {
  margin-block-end: var(--space-6);
}

.kasyno-wieczor__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  text-align: left;
}

.kasyno-wieczor__block {
  min-width: 0;
}

.kasyno-wieczor__block-title {
  margin-block-end: var(--space-2);
}

.kasyno-wieczor__text {
  max-width: 65ch;
  margin: 0;
}

/* Rezerwacja */
.kasyno-rezerwacja {
  background-color: var(--color-tomato-red);
}

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

.kasyno-rezerwacja__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.kasyno-rezerwacja__title {
  color: var(--color-ivory);
  margin: 0;
}

.kasyno-rezerwacja__text {
  color: var(--color-ivory);
  max-width: 40ch;
  margin: 0;
}

.kasyno-rezerwacja__cta {
  background-color: var(--color-ivory);
  color: var(--color-tomato-red);
  border-color: var(--color-ivory);
  margin-top: var(--space-2);
}

.kasyno-rezerwacja__cta:hover {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
  border-color: var(--color-dark-navy);
}

/* FAQ */
.kasyno-faq {
  background-color: var(--color-ivory);
}

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

.kasyno-faq__title {
  margin-block-end: var(--space-6);
}

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

.kasyno-faq__item {
  border: var(--border-thin);
  border-radius: 0;
  background-color: var(--surface-card);
  box-shadow: var(--shadow-soft);
  min-width: 0;
}

.kasyno-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-3) var(--space-4);
  min-height: var(--touch-target-min);
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  line-height: var(--leading-h4);
  color: var(--color-dark-navy);
  background: none;
  border: none;
  cursor: pointer;
}

.kasyno-faq__question:hover {
  color: var(--color-tomato-red);
}

.kasyno-faq__question:focus-visible {
  outline: var(--border-focus);
  outline-offset: 2px;
}

.kasyno-faq__question-text {
  flex: 1;
  min-width: 0;
}

.kasyno-faq__icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.kasyno-faq__icon::before,
.kasyno-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background-color: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--transition-fast);
}

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

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

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

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

.kasyno-faq__answer-text {
  max-width: 70ch;
  margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .kasyno-hero__inner,
  .kasyno-restauracja__container {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .kasyno-hero__media,
  .kasyno-restauracja__media {
    order: 2;
  }

  .kasyno-hero__content,
  .kasyno-restauracja__content {
    order: 1;
  }

  .kasyno-atmosfera__container {
    grid-template-columns: 1fr;
  }

  .kasyno-atmosfera__decor {
    display: none;
  }

  .kasyno-gry__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .kasyno-hero {
    padding-block: var(--space-6) var(--space-7);
  }

  .kasyno-hero__title {
    font-size: var(--text-h1-size);
    line-height: var(--leading-h1);
  }

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

  .kasyno-intro__container,
  .kasyno-wieczor__container,
  .kasyno-faq__container {
    padding-inline: var(--space-3);
  }

  .kasyno-intro__text,
  .kasyno-wieczor__text,
  .kasyno-faq__answer-text {
    max-width: 100%;
  }

  .kasyno-gry__card {
    padding: var(--space-3);
  }

  .kasyno-rezerwacja__container {
    padding-inline: var(--space-3);
  }

  .kasyno-rezerwacja__cta {
    width: 100%;
    justify-content: center;
  }

  .kasyno-faq__question {
    padding: var(--space-2) var(--space-3);
  }

  .kasyno-faq__answer {
    padding: 0 var(--space-3) var(--space-3);
  }
}

@media (max-width: 480px) {
  .kasyno-hero__title {
    font-size: 2rem;
    line-height: 1.2;
  }

  .kasyno-hero__eyebrow {
    font-size: 0.75rem;
  }
}


/* Dania Autorskie – page-owned styles */

.da-hero {
  background-color: var(--color-ivory);
}

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

.da-hero__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.da-hero__eyebrow {
  margin: 0;
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-tomato-red);
  font-weight: 600;
}

.da-hero__title {
  margin: 0;
  font-size: var(--text-display-size);
  line-height: var(--leading-display);
  max-width: 12ch;
}

.da-hero__lead {
  margin: 0;
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  max-width: 62ch;
}

.da-hero__support {
  margin: 0;
  max-width: 62ch;
}

.da-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.da-hero__invite {
  margin: 0;
  max-width: 62ch;
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  border-left: 3px solid var(--color-tomato-red);
  padding-left: var(--space-3);
}

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

.da-hero__image {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-medium);
  border: var(--border-thin);
  box-shadow: var(--shadow-soft);
}

.da-philosophy {
  background-color: var(--surface-tint-pistachio);
}

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

.da-philosophy__intro,
.da-philosophy__principles {
  min-width: 0;
}

.da-philosophy__intro h2,
.da-philosophy__principles h3 {
  margin-bottom: var(--space-3);
}

.da-philosophy__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  max-width: 70ch;
}

.da-philosophy__intro p:not(.da-philosophy__lead) {
  max-width: 70ch;
}

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

.da-principles-list__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.da-principles-list__marker {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  margin-top: 0.35em;
  background-color: var(--color-tomato-red);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.da-gallery {
  background-color: var(--color-ivory);
}

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

.da-gallery__intro {
  max-width: 80ch;
}

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

.da-gallery-card {
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.da-gallery-card__link {
  display: block;
  border-radius: var(--radius-medium);
  overflow: hidden;
  border: var(--border-thin);
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.da-gallery-card__link:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lift);
}

.da-gallery-card__image {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.da-gallery-card__caption {
  margin: 0;
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  font-style: italic;
}

.da-ingredients {
  background-color: var(--color-ivory);
}

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

.da-ingredients__content {
  max-width: 70ch;
}

.da-ingredients__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
}

.da-ingredients__list-wrapper {
  width: 100%;
}

.da-ingredients-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-4);
}

.da-ingredients-list li {
  min-width: 0;
  padding-left: var(--space-4);
  position: relative;
}

.da-ingredients-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  border-radius: 50%;
}

.da-serving {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

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

.da-serving__copy,
.da-serving__elements {
  min-width: 0;
}

.da-serving h2,
.da-serving h3 {
  color: var(--color-ivory);
}

.da-serving__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  max-width: 60ch;
}

.da-serving__copy p:not(.da-serving__lead) {
  max-width: 60ch;
}

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

.da-serving-list li {
  padding-left: var(--space-4);
  position: relative;
}

.da-serving-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.da-dishes {
  background-color: var(--surface-tint-pistachio);
}

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

.da-dishes__intro {
  max-width: 70ch;
}

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

.da-dish-card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

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

.da-dish-card h3 {
  margin: 0;
}

.da-dish-card p {
  margin: 0;
}

.da-dish-card__note {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  font-style: italic;
}

.da-dishes__cta {
  max-width: 70ch;
}

.da-casino {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

.da-casino__container {
  max-width: 60ch;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.da-casino h2 {
  color: var(--color-ivory);
}

.da-casino__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
}

.da-casino__invite {
  border-left: 3px solid var(--color-tomato-red);
  padding-left: var(--space-3);
  font-style: italic;
}

.da-reservation {
  background-color: var(--color-ivory);
}

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

.da-reservation__copy,
.da-reservation__card {
  min-width: 0;
}

.da-reservation__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  max-width: 70ch;
}

.da-reservation__copy p:not(.da-reservation__lead) {
  max-width: 70ch;
}

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

.da-reservation__card h3 {
  margin: 0;
}

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

.da-contact-list li {
  margin: 0;
}

.da-reservation__hours {
  margin: 0;
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
}

/* Lightbox overlay */
.da-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(27, 42, 65, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast);
}

.da-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.da-lightbox__content {
  position: relative;
  max-width: min(90vw, 900px);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
}

.da-lightbox__image {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-lift);
}

.da-lightbox__title {
  color: var(--color-ivory);
  font-size: var(--text-h4-size);
  line-height: var(--leading-h4);
  margin: 0;
}

.da-lightbox__close {
  position: absolute;
  top: -1rem;
  right: -1rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--color-tomato-red);
  color: var(--color-ivory);
  font-size: 1.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-ivory);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.da-lightbox__close:hover {
  background-color: color-mix(in srgb, var(--color-tomato-red) 85%, black);
}

@media (max-width: 900px) {
  .da-hero__container,
  .da-philosophy__container,
  .da-serving__container,
  .da-reservation__container {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .da-gallery__grid,
  .da-dishes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .da-hero__title {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .da-gallery__grid,
  .da-dishes__grid,
  .da-ingredients-list {
    grid-template-columns: 1fr;
  }

  .da-hero__title {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  .da-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

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

  .da-lightbox__close {
    top: 0.5rem;
    right: 0.5rem;
  }
}


/* ===== Kontakt page styles ===== */

/* Hero kontaktowy */
.kontakt-hero {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
  position: relative;
}

.kontakt-hero__inner {
  max-width: 600px;
  margin-inline: 0;
}

.kontakt-hero__title {
  color: var(--color-dark-navy);
  margin-block-end: var(--space-4);
  position: relative;
}

.kontakt-hero__title::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background-color: var(--color-tomato-red);
  margin-block-start: var(--space-3);
}

.kontakt-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  color: var(--color-dark-navy);
  margin-block-end: var(--space-4);
}

.kontakt-hero__support {
  color: var(--color-warm-brown);
  margin-block-end: 0;
}

/* Dane kontaktowe */
.kontakt-dane {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.kontakt-dane__title {
  margin-block-end: var(--space-6);
}

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

.kontakt-dane__card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  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;
}

.kontakt-dane__card--phone {
  border-block-start: 4px solid var(--color-tomato-red);
}

.kontakt-dane__card--email {
  border-block-start: 4px solid var(--color-pistachio-green);
}

.kontakt-dane__card--address {
  border-block-start: 4px solid var(--color-warm-brown);
}

.kontakt-dane__icon {
  width: 40px;
  height: 40px;
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-small);
  position: relative;
}

.kontakt-dane__icon--phone::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  border: 2px solid var(--color-dark-navy);
  border-radius: 50%;
}

.kontakt-dane__icon--email::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 12px;
  border: 2px solid var(--color-dark-navy);
  border-radius: 2px;
}

.kontakt-dane__icon--address::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 16px;
  border: 2px solid var(--color-dark-navy);
  border-radius: 50% 50% 50% 0;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.kontakt-dane__card-title {
  font-size: var(--text-h4-size);
  margin-block-end: 0;
}

.kontakt-dane__value {
  font-weight: 600;
  color: var(--color-dark-navy);
  margin-block-end: 0;
  overflow-wrap: break-word;
}

.kontakt-dane__value a {
  color: var(--color-tomato-red);
}

.kontakt-dane__value a:hover {
  color: var(--color-dark-navy);
  text-decoration-style: dashed;
}

.kontakt-dane__value--address {
  font-weight: 400;
}

.kontakt-dane__description {
  color: var(--color-warm-brown);
  margin-block-end: 0;
}

/* Kontakt & Rezerwacja */
.kontakt-rezerwacja {
  background-color: var(--surface-tint-pistachio);
  padding-block: var(--space-8);
}

.kontakt-rezerwacja__title {
  margin-block-end: var(--space-6);
}

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

.kontakt-rezerwacja__form-wrapper,
.kontakt-rezerwacja__process {
  min-width: 0;
}

.kontakt-rezerwacja__form-title,
.kontakt-rezerwacja__process-title {
  margin-block-end: var(--space-3);
}

.kontakt-rezerwacja__form-intro,
.kontakt-rezerwacja__process-intro {
  margin-block-end: var(--space-4);
}

.kontakt-rezerwacja__form {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
}

.kontakt-rezerwacja__submit {
  width: 100%;
  margin-block-start: var(--space-3);
}

.kontakt-rezerwacja__status {
  margin-block-start: var(--space-3);
  font-weight: 500;
  min-height: 1.5em;
}

.kontakt-rezerwacja__status--success {
  color: var(--color-dark-navy);
}

.kontakt-rezerwacja__status--error {
  color: var(--color-tomato-red);
}

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

.kontakt-rezerwacja__step {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}

.kontakt-rezerwacja__step-number {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--color-tomato-red);
  color: var(--color-ivory);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.kontakt-rezerwacja__step-title {
  margin-block-end: var(--space-1);
}

.kontakt-rezerwacja__step-text {
  margin-block-end: 0;
}

/* Godziny otwarcia */
.kontakt-godziny {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
  position: relative;
}

.kontakt-godziny__inner {
  max-width: 600px;
  margin-inline: 0;
}

.kontakt-godziny__title {
  margin-block-end: var(--space-4);
}

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

.kontakt-godziny__subtitle {
  margin-block-end: var(--space-2);
}

.kontakt-godziny__intro {
  margin-block-end: var(--space-3);
}

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

.kontakt-godziny__item {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
}

.kontakt-godziny__day {
  font-weight: 500;
  color: var(--color-dark-navy);
  white-space: nowrap;
}

.kontakt-godziny__dots {
  flex: 1;
  border-block-end: 1px dotted var(--color-warm-brown);
  min-width: 20px;
}

.kontakt-godziny__hours {
  font-weight: 500;
  color: var(--color-dark-navy);
  white-space: nowrap;
}

.kontakt-godziny__note {
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  margin-block-start: var(--space-3);
}

.kontakt-godziny__note-title {
  margin-block-end: var(--space-2);
}

.kontakt-godziny__note-text {
  margin-block-end: 0;
}

/* Zasady rezerwacji */
.kontakt-zasady {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.kontakt-zasady__inner {
  max-width: 600px;
  margin-inline: 0;
}

.kontakt-zasady__title {
  margin-block-end: var(--space-4);
}

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

.kontakt-zasady__subtitle {
  margin-block-end: var(--space-2);
}

.kontakt-zasady__intro {
  margin-block-end: var(--space-3);
}

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

.kontakt-zasady__item {
  position: relative;
  padding-inline-start: var(--space-4);
}

.kontakt-zasady__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  border-radius: 50%;
}

.kontakt-zasady__dresscode {
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  margin-block-start: var(--space-3);
}

.kontakt-zasady__dresscode-title {
  margin-block-end: var(--space-2);
}

.kontakt-zasady__dresscode-text {
  margin-block-end: 0;
}

/* Dojazd i parking */
.kontakt-dojazd {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.kontakt-dojazd__inner {
  max-width: 600px;
  margin-inline: 0;
}

.kontakt-dojazd__title {
  margin-block-end: var(--space-4);
}

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

.kontakt-dojazd__subtitle {
  margin-block-end: var(--space-2);
}

.kontakt-dojazd__text {
  margin-block-end: 0;
}

/* Wieczór z grami stolikowymi */
.kontakt-wieczor {
  background-color: var(--color-dark-navy);
  padding-block: var(--space-8);
  color: var(--color-ivory);
}

.kontakt-wieczor__inner {
  max-width: 600px;
  margin-inline: 0;
}

.kontakt-wieczor__title {
  color: var(--color-ivory);
  margin-block-end: var(--space-4);
}

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

.kontakt-wieczor__subtitle {
  color: var(--color-ivory);
  margin-block-end: var(--space-2);
}

.kontakt-wieczor__text {
  color: var(--color-ivory);
  margin-block-end: 0;
}

.kontakt-wieczor__text a {
  color: var(--color-pistachio-green);
}

.kontakt-wieczor__text a:hover {
  color: var(--color-ivory);
  text-decoration-color: var(--color-pistachio-green);
}

/* FAQ */
.kontakt-faq {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.kontakt-faq__inner {
  max-width: 600px;
  margin-inline: 0;
}

.kontakt-faq__title {
  margin-block-end: var(--space-4);
}

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

.kontakt-faq__item {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.kontakt-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  min-height: var(--touch-target-min);
  padding: var(--space-3) var(--space-4);
  background-color: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.kontakt-faq__question:hover {
  background-color: var(--surface-tint-pistachio);
}

.kontakt-faq__question:focus-visible {
  outline: var(--border-focus);
  outline-offset: -2px;
}

.kontakt-faq__question-text {
  font-weight: 500;
  color: var(--color-dark-navy);
  flex: 1;
  min-width: 0;
}

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

.kontakt-faq__icon::before,
.kontakt-faq__icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-tomato-red);
  transition: transform var(--transition-fast);
}

.kontakt-faq__icon::before {
  width: 14px;
  height: 2px;
}

.kontakt-faq__icon::after {
  width: 2px;
  height: 14px;
}

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

.kontakt-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
}

.kontakt-faq__item.open .kontakt-faq__answer {
  max-height: 300px;
}

.kontakt-faq__answer-text {
  padding: 0 var(--space-4) var(--space-4);
  margin-block-end: 0;
  color: var(--color-warm-brown);
}

/* CTA */
.kontakt-cta {
  background-color: var(--color-tomato-red);
  padding-block: var(--space-8);
  color: var(--color-ivory);
}

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

.kontakt-cta__title {
  color: var(--color-ivory);
  margin-block-end: 0;
}

.kontakt-cta__text {
  color: var(--color-ivory);
  margin-block-end: 0;
}

.kontakt-cta__text a {
  color: var(--color-ivory);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-ivory);
}

.kontakt-cta__text a:hover {
  color: var(--color-dark-navy);
  text-decoration-color: var(--color-dark-navy);
}

.kontakt-cta__button {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
  border: 2px solid var(--color-dark-navy);
}

.kontakt-cta__button:hover {
  background-color: color-mix(in srgb, var(--color-dark-navy) 85%, black);
  color: var(--color-ivory);
}

/* Responsive */
@media (max-width: 992px) {
  .kontakt-dane__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 768px) {
  .kontakt-hero,
  .kontakt-dane,
  .kontakt-rezerwacja,
  .kontakt-godziny,
  .kontakt-zasady,
  .kontakt-dojazd,
  .kontakt-wieczor,
  .kontakt-faq,
  .kontakt-cta {
    padding-block: var(--space-6);
  }

  .kontakt-hero__inner,
  .kontakt-godziny__inner,
  .kontakt-zasady__inner,
  .kontakt-dojazd__inner,
  .kontakt-wieczor__inner,
  .kontakt-faq__inner {
    max-width: 100%;
  }

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

  .kontakt-rezerwacja__layout {
    gap: var(--space-4);
  }

  .kontakt-rezerwacja__form,
  .kontakt-rezerwacja__process {
    padding: var(--space-3);
  }

  .kontakt-cta__inner {
    max-width: 100%;
  }

  .kontakt-cta__button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .kontakt-hero__title {
    font-size: var(--text-h1-size);
  }

  .kontakt-godziny__item {
    flex-wrap: wrap;
    gap: var(--space-1);
  }

  .kontakt-godziny__dots {
    display: none;
  }

  .kontakt-godziny__hours {
    width: 100%;
    padding-inline-start: 0;
  }
}


/* Poker page styles */

.poker-hero {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

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

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

.poker-hero__eyebrow {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-tomato-red);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
}

.poker-hero__content h1 {
  margin: 0;
  font-size: var(--text-h1-size);
  line-height: var(--leading-h1);
  color: var(--color-dark-navy);
}

.poker-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  margin: 0;
}

.poker-hero__details {
  margin: 0;
}

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

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

.poker-hero__media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
}

.poker-hero__media figcaption {
  font-style: italic;
  color: var(--color-warm-brown);
  margin-block-start: var(--space-2);
}

.poker-atmosphere {
  background-color: var(--surface-tint-pistachio);
  padding-block: var(--space-8);
}

.poker-atmosphere__inner {
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-6);
  align-items: start;
}

.poker-atmosphere__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.poker-atmosphere__content h2 {
  margin: 0;
}

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

.poker-atmosphere__block h3 {
  margin: 0;
}

.poker-atmosphere__block p {
  margin: 0;
}

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

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

.poker-atmosphere__list li::before {
  content: "♠";
  position: absolute;
  left: 0;
  color: var(--color-tomato-red);
  font-size: var(--text-caption-size);
}

.poker-atmosphere__decor {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding-block-start: var(--space-6);
}

.poker-atmosphere__card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 5.5rem;
  background-color: var(--color-ivory);
  border: var(--border-thin);
  border-radius: var(--radius-small);
  box-shadow: var(--shadow-soft);
  font-size: 2rem;
  color: var(--color-dark-navy);
  transform: rotate(-8deg);
}

.poker-atmosphere__card--two {
  transform: rotate(6deg);
  color: var(--color-tomato-red);
}

.poker-atmosphere__card--three {
  transform: rotate(-3deg);
  color: var(--color-warm-brown);
}

.poker-tables {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

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

.poker-tables__intro {
  max-width: 70%;
}

.poker-tables__intro h2 {
  margin: 0 0 var(--space-3);
}

.poker-tables__intro p {
  margin: 0;
}

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

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

.poker-tables__column h3 {
  margin: 0;
}

.poker-tables__column p {
  margin: 0;
}

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

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

.poker-tables__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-tomato-red);
}

.poker-tables__media {
  margin: var(--space-3) 0 0;
  min-width: 0;
}

.poker-tables__media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
}

.poker-tables__media figcaption {
  font-style: italic;
  color: var(--color-warm-brown);
  margin-block-start: var(--space-2);
}

.poker-dining {
  background-color: var(--surface-tint-pistachio);
  padding-block: var(--space-8);
}

.poker-dining__inner {
  display: grid;
  grid-template-columns: minmax(0, 70%) minmax(0, 30%);
  gap: var(--space-6);
  align-items: start;
}

.poker-dining__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.poker-dining__content h2 {
  margin: 0;
}

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

.poker-dining__block h3 {
  margin: 0;
}

.poker-dining__block p {
  margin: 0;
}

.poker-dining__block .btn {
  align-self: flex-start;
  margin-block-start: var(--space-2);
}

.poker-dining__media {
  margin: 0;
  min-width: 0;
}

.poker-dining__media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
}

.poker-dining__media figcaption {
  font-style: italic;
  color: var(--color-warm-brown);
  margin-block-start: var(--space-2);
}

.poker-safety {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

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

.poker-safety__inner h2 {
  margin: 0;
}

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

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

.poker-safety__column h3 {
  margin: 0;
}

.poker-safety__column p {
  margin: 0;
}

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

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

.poker-safety__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-pistachio-green);
  font-weight: 600;
}

.poker-reservation {
  background-color: var(--surface-tint-pistachio);
  padding-block: var(--space-8);
}

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

.poker-reservation__intro {
  max-width: 70%;
}

.poker-reservation__intro h2 {
  margin: 0 0 var(--space-3);
}

.poker-reservation__intro p {
  margin: 0;
}

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

.poker-reservation__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  background-color: var(--color-ivory);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
}

.poker-reservation__form .form-group {
  margin: 0;
}

.poker-reservation__form .btn {
  align-self: flex-start;
}

.poker-reservation__message {
  margin: 0;
  min-height: 1.5em;
  font-weight: 500;
  color: var(--color-dark-navy);
}

.poker-reservation__message.is-success {
  color: var(--color-pistachio-green);
}

.poker-reservation__message.is-error {
  color: var(--color-tomato-red);
}

.poker-reservation__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--color-ivory);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
}

.poker-reservation__contact h3 {
  margin: 0;
}

.poker-reservation__contact p {
  margin: 0;
}

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

.poker-reservation__contact-list a {
  color: var(--color-tomato-red);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-tomato-red);
  text-underline-offset: 0.2em;
}

.poker-reservation__contact-list a:hover {
  color: var(--color-dark-navy);
  text-decoration-color: var(--color-dark-navy);
}

.poker-faq {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.poker-faq__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 70%;
}

.poker-faq__inner h2 {
  margin: 0;
}

.poker-faq__intro {
  margin: 0;
}

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

.poker-faq__item {
  border: var(--border-thin);
  border-radius: var(--radius-small);
  background-color: var(--color-ivory);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.poker-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: var(--touch-target-min);
  padding: var(--space-3) var(--space-4);
  background: none;
  border: none;
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  line-height: var(--leading-h4);
  font-weight: 600;
  color: var(--color-dark-navy);
  cursor: pointer;
  text-align: start;
  transition: color var(--transition-fast);
}

.poker-faq__question:hover {
  color: var(--color-tomato-red);
}

.poker-faq__question:focus-visible {
  outline: var(--border-focus);
  outline-offset: -2px;
}

.poker-faq__question::after {
  content: "+";
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-tomato-red);
  transition: transform var(--transition-fast);
}

.poker-faq__question[aria-expanded="true"]::after {
  transform: rotate(45deg);
}

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

.poker-faq__answer p {
  margin: 0;
}

.poker-other-games {
  background-color: var(--surface-tint-pistachio);
  padding-block: var(--space-8);
}

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

.poker-other-games__inner h2 {
  margin: 0;
}

.poker-other-games__intro {
  margin: 0;
  max-width: 70%;
}

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

.poker-other-games__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background-color: var(--color-ivory);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.poker-other-games__card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lift);
}

.poker-other-games__card h3 {
  margin: 0;
}

.poker-other-games__card p {
  margin: 0;
}

.poker-other-games__card .btn {
  align-self: flex-start;
  margin-block-start: var(--space-2);
}

.poker-cta {
  background-color: var(--color-tomato-red);
  padding-block: var(--space-8);
}

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

.poker-cta__inner h2 {
  margin: 0;
  color: var(--color-ivory);
}

.poker-cta__inner p {
  margin: 0;
  color: var(--color-ivory);
}

.poker-cta__inner .btn {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

.poker-cta__inner .btn:hover {
  background-color: color-mix(in srgb, var(--color-dark-navy) 85%, black);
  color: var(--color-ivory);
}

@media (max-width: 1024px) {
  .poker-hero__inner {
    gap: var(--space-5);
  }

  .poker-atmosphere__inner {
    grid-template-columns: minmax(0, 65%) minmax(0, 35%);
    gap: var(--space-5);
  }

  .poker-dining__inner {
    grid-template-columns: minmax(0, 65%) minmax(0, 35%);
    gap: var(--space-5);
  }

  .poker-tables__grid,
  .poker-safety__grid,
  .poker-reservation__grid,
  .poker-other-games__grid {
    gap: var(--space-5);
  }

  .poker-faq__inner,
  .poker-reservation__intro,
  .poker-tables__intro,
  .poker-other-games__intro {
    max-width: 85%;
  }

  .poker-cta__inner {
    max-width: 80%;
  }
}

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

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

  .poker-hero__content h1 {
    font-size: var(--text-h2-size);
    line-height: var(--leading-h2);
  }

  .poker-hero__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .poker-atmosphere {
    padding-block: var(--space-6);
  }

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

  .poker-atmosphere__decor {
    display: none;
  }

  .poker-tables {
    padding-block: var(--space-6);
  }

  .poker-tables__intro,
  .poker-reservation__intro,
  .poker-other-games__intro {
    max-width: 100%;
  }

  .poker-tables__grid,
  .poker-safety__grid,
  .poker-reservation__grid,
  .poker-other-games__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

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

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

  .poker-safety {
    padding-block: var(--space-6);
  }

  .poker-reservation {
    padding-block: var(--space-6);
  }

  .poker-faq {
    padding-block: var(--space-6);
  }

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

  .poker-other-games {
    padding-block: var(--space-6);
  }

  .poker-cta {
    padding-block: var(--space-6);
  }

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

@media (max-width: 480px) {
  .poker-hero__content h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

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

  .poker-reservation__form,
  .poker-reservation__contact {
    padding: var(--space-3);
  }

  .poker-faq__question {
    font-size: var(--text-body-size);
    line-height: var(--leading-body);
    padding: var(--space-2) var(--space-3);
  }

  .poker-faq__answer {
    padding: 0 var(--space-3) var(--space-3);
  }
}


.privacy-page {
  padding-block: var(--space-8);
}

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

.privacy-section {
  margin-block-start: var(--space-8);
}

.privacy-section h2 {
  margin-block-end: var(--space-4);
}

.privacy-intro__heading {
  text-align: center;
}

.privacy-intro__heading h1 {
  margin-block-end: var(--space-4);
}

.privacy-intro__date-card {
  max-width: 400px;
  margin-inline: auto;
  margin-block-end: var(--space-4);
  padding: var(--space-3) var(--space-4);
  background-color: var(--surface-tint-pistachio);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  text-align: center;
}

.privacy-intro__date-card p {
  margin: 0;
}

.privacy-intro__copy {
  text-align: left;
}

.privacy-admin__card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-4);
  background-color: var(--surface-tint-pistachio);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.privacy-admin__column {
  min-width: 0;
}

.privacy-admin__column h3 {
  margin-block-end: var(--space-3);
}

.privacy-contact-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.privacy-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin-block-end: var(--space-2);
}

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

.privacy-icon {
  flex-shrink: 0;
  color: var(--color-tomato-red);
  font-size: 1.1em;
  line-height: 1.4;
}

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

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

.privacy-scope__item h3 {
  margin-block-end: var(--space-3);
}

.privacy-scope__item p {
  margin-block-end: var(--space-3);
}

.privacy-scope__item p:last-child {
  margin-block-end: 0;
}

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

.privacy-purposes__list li {
  padding: var(--space-4);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.privacy-purposes__list h3 {
  margin-block-end: var(--space-2);
}

.privacy-purposes__list p {
  margin-block-end: 0;
}

.privacy-legal {
  color: var(--color-tomato-red);
  font-weight: 500;
}

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

.privacy-retention__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

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

.privacy-rights__column {
  min-width: 0;
}

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

.privacy-rights__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

.privacy-recipients__copy,
.privacy-eog__copy,
.privacy-security__copy,
.privacy-changes__copy {
  text-align: left;
}

.privacy-recipients__copy p,
.privacy-eog__copy p,
.privacy-security__copy p,
.privacy-changes__copy p {
  margin-block-end: var(--space-3);
}

.privacy-recipients__copy p:last-child,
.privacy-eog__copy p:last-child,
.privacy-security__copy p:last-child,
.privacy-changes__copy p:last-child {
  margin-block-end: 0;
}

@media (max-width: 768px) {
  .privacy-page {
    padding-block: var(--space-6);
  }

  .privacy-section {
    margin-block-start: var(--space-6);
  }

  .privacy-admin__card,
  .privacy-scope__grid,
  .privacy-rights__grid {
    grid-template-columns: 1fr;
  }

  .privacy-admin__card {
    max-width: 100%;
  }

  .privacy-intro__date-card {
    max-width: 100%;
  }
}


/* Menu page styles — scoped to page-owned components */

.menu-hero {
  background-color: var(--color-ivory);
  padding-block: var(--space-8) var(--space-6);
  text-align: center;
}

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

.menu-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--leading-display);
  color: var(--color-dark-navy);
  margin: 0;
}

.menu-hero__subtitle {
  font-size: var(--text-h4-size);
  line-height: var(--leading-h4);
  color: var(--color-tomato-red);
  margin: 0;
  max-width: 40rem;
}

.menu-hero__intro {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  color: var(--color-dark-navy);
  margin: 0;
  max-width: 45rem;
}

.menu-hero__accent {
  width: 6rem;
  height: 0.25rem;
  background-color: var(--color-tomato-red);
  margin-block-start: var(--space-2);
}

.menu-philosophy {
  background-color: var(--surface-tint-pistachio);
}

.menu-philosophy__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-6);
  align-items: start;
}

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

.menu-philosophy__text h2 {
  margin-block-end: var(--space-4);
}

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

.menu-philosophy__text p:last-child {
  margin-block-end: 0;
}

.menu-philosophy__note {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  transform: rotate(2deg);
  min-width: 0;
}

.menu-philosophy__note-text {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-body-large-size);
  color: var(--color-tomato-red);
  margin: 0;
}

.menu-category {
  background-color: var(--color-ivory);
}

.menu-category--mains,
.menu-category--vegetarian,
.menu-category--desserts {
  background-color: var(--surface-tint-pistachio);
}

.menu-category__grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: start;
}

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

.menu-category__list h2 {
  margin-block-end: var(--space-4);
}

.menu-category__lead {
  margin-block-end: var(--space-4);
}

.menu-category__figure {
  margin: 0;
  min-width: 0;
}

.menu-category__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.menu-category__figure--offset {
  transform: translateX(1.5rem);
}

.menu-category__figure--rotated {
  transform: rotate(-2deg);
}

.menu-category__media-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  min-width: 0;
}

.menu-category__caption {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  margin-block-start: var(--space-2);
  font-style: italic;
}

.menu-category__note {
  margin-block-start: var(--space-3);
  font-size: var(--text-caption-size);
  color: var(--color-warm-brown);
  font-style: italic;
}

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

.menu-list--compact {
  gap: var(--space-3);
}

.menu-list__item {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-2);
  min-width: 0;
}

.menu-list__toggle {
  display: contents;
  text-align: start;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 0;
  background: none;
  border: none;
}

.menu-list__name {
  font-weight: 500;
  color: var(--color-dark-navy);
  min-width: 0;
  flex: 1 1 auto;
}

.menu-list__dots {
  flex: 1 1 auto;
  min-width: 1.5rem;
  border-bottom: 2px dotted var(--color-warm-brown);
  transform: translateY(-0.25em);
}

.menu-list__price {
  font-weight: 600;
  color: var(--color-tomato-red);
  white-space: nowrap;
}

.menu-list__details {
  flex-basis: 100%;
  margin: 0;
  padding-block-start: var(--space-2);
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-dark-navy);
  border-top: 1px dashed var(--color-warm-brown);
}

.menu-authorial {
  background-color: var(--color-ivory);
}

.menu-authorial__lead {
  max-width: 52rem;
  margin-block-end: var(--space-5);
}

.menu-authorial__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-end: var(--space-5);
}

.menu-note-card {
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.menu-note-card h3 {
  margin: 0;
}

.menu-note-card p {
  margin: 0;
}

.menu-note-card__price {
  font-weight: 600;
  color: var(--color-tomato-red);
}

.menu-note-card__annotation {
  font-size: var(--text-caption-size);
  color: var(--color-warm-brown);
  font-style: italic;
}

.menu-authorial__figure {
  margin: 0;
  max-width: 36rem;
}

.menu-authorial__figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.menu-sides {
  background-color: var(--color-ivory);
}

.menu-sides__lead {
  margin-block-end: var(--space-4);
}

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

.menu-sides__grid .menu-list {
  min-width: 0;
}

.menu-drinks {
  background-color: var(--color-ivory);
}

.menu-drinks__lead {
  margin-block-end: var(--space-4);
}

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

.menu-drinks__grid .menu-list {
  min-width: 0;
}

.menu-experience {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

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

.menu-experience__inner h2 {
  color: var(--color-ivory);
  margin: 0;
}

.menu-experience__inner p {
  margin: 0;
  color: var(--color-ivory);
}

.menu-experience__contact {
  font-style: normal;
  margin-block-start: var(--space-3);
}

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

.menu-experience__contact a {
  color: var(--color-tomato-red);
}

.menu-experience__contact a:hover {
  color: var(--color-ivory);
}

.menu-reservation {
  background-color: var(--color-ivory);
}

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

.menu-reservation__inner h2 {
  margin: 0;
}

.menu-reservation__inner p {
  margin: 0;
}

.menu-reservation__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.menu-reservation__address {
  font-size: var(--text-caption-size);
  color: var(--color-warm-brown);
}

@media (max-width: 1024px) {
  .menu-philosophy__grid,
  .menu-category__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .menu-category__figure--offset,
  .menu-category__figure--rotated {
    transform: none;
  }

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

  .menu-authorial__figure {
    max-width: 100%;
  }
}

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

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

  .menu-hero__subtitle {
    font-size: var(--text-body-size);
  }

  .menu-hero__intro {
    font-size: var(--text-body-size);
  }

  .menu-philosophy__note {
    transform: none;
  }

  .menu-sides__grid,
  .menu-drinks__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .menu-list__item {
    flex-wrap: nowrap;
  }

  .menu-list__name {
    flex: 1 1 auto;
  }

  .menu-list__dots {
    flex: 1 1 auto;
  }

  .menu-reservation__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

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

@media (max-width: 480px) {
  .menu-hero__title {
    font-size: 2rem;
  }

  .menu-list__item {
    flex-wrap: wrap;
  }

  .menu-list__dots {
    display: none;
  }

  .menu-list__price {
    flex-basis: 100%;
    text-align: start;
  }
}


/* Page-owned styles for Restauracja */

.restauracja-main {
  overflow-x: hidden;
}

/* Hero */
.restauracja-hero {
  background-color: var(--color-ivory);
  padding-block: var(--space-8) var(--space-7);
}

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

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

.restauracja-hero__copy h1 {
  font-size: var(--text-h1-size);
  line-height: var(--leading-h1);
  margin-block-end: 0;
}

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

.restauracja-hero__facts {
  margin-block-end: 0;
}

.restauracja-hero__cta {
  align-self: flex-start;
}

.restauracja-hero__illustration {
  position: relative;
  min-width: 0;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.restauracja-hero__cutout {
  position: absolute;
  width: 180px;
  height: 180px;
  background-color: var(--color-tomato-red);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  opacity: 0.85;
}

.restauracja-hero__cutout--knife {
  transform: rotate(45deg) translate(20px, -20px);
  background-color: var(--color-dark-navy);
  clip-path: polygon(0 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 0 100%, 20% 50%);
}

.restauracja-hero__cutout--spade {
  transform: rotate(-15deg) translate(-20px, 20px);
  background-color: var(--color-tomato-red);
  clip-path: polygon(50% 0%, 100% 40%, 80% 100%, 20% 100%, 0% 40%);
}

/* Koncepcja */
.restauracja-koncepcja__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.restauracja-koncepcja__col {
  min-width: 0;
}

.restauracja-koncepcja__col h3 {
  margin-block-end: var(--space-3);
}

.restauracja-koncepcja__col p {
  margin-block-end: var(--space-3);
}

.restauracja-koncepcja__col blockquote {
  margin-block-start: var(--space-3);
}

/* Przystawki */
.restauracja-przystawki__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.restauracja-przystawki__copy {
  min-width: 0;
}

.restauracja-przystawki__copy h2 {
  margin-block-end: var(--space-4);
}

.restauracja-przystawki__copy p {
  margin-block-end: var(--space-3);
}

.restauracja-przystawki__media {
  min-width: 0;
  margin-block-end: 0;
}

.restauracja-przystawki__media img,
.restauracja-autorskie__media img,
.restauracja-napoje__media img,
.restauracja-wnetrze__media img,
.restauracja-dania__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  filter: sepia(0.12);
}

.restauracja-przystawki__media figcaption,
.restauracja-autorskie__media figcaption,
.restauracja-napoje__media figcaption,
.restauracja-wnetrze__media figcaption,
.restauracja-dania__media figcaption {
  font-style: italic;
  color: var(--color-warm-brown);
}

/* Dania główne */
.restauracja-dania__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.restauracja-dania__col {
  min-width: 0;
}

.restauracja-dania__col h3 {
  margin-block-end: var(--space-3);
}

.restauracja-dania__col p {
  margin-block-end: var(--space-3);
}

.restauracja-dania__media {
  min-width: 0;
  margin-block-end: 0;
}

/* Dania autorskie */
.restauracja-autorskie__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.restauracja-autorskie__copy {
  min-width: 0;
}

.restauracja-autorskie__copy h2 {
  margin-block-end: var(--space-4);
}

.restauracja-autorskie__copy p {
  margin-block-end: var(--space-3);
}

.restauracja-autorskie__media {
  min-width: 0;
  margin-block-end: 0;
}

/* Dodatki i desery */
.restauracja-dodatki__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.restauracja-dodatki__col {
  min-width: 0;
}

.restauracja-dodatki__col h3 {
  margin-block-end: var(--space-3);
}

.restauracja-dodatki__col p {
  margin-block-end: var(--space-3);
}

/* Napoje */
.restauracja-napoje__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.restauracja-napoje__copy {
  min-width: 0;
}

.restauracja-napoje__copy h2 {
  margin-block-end: var(--space-4);
}

.restauracja-napoje__copy p {
  margin-block-end: var(--space-3);
}

.restauracja-napoje__media {
  min-width: 0;
  margin-block-end: 0;
}

/* Wnętrze */
.restauracja-wnetrze__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.restauracja-wnetrze__copy {
  min-width: 0;
}

.restauracja-wnetrze__copy h2 {
  margin-block-end: var(--space-4);
}

.restauracja-wnetrze__copy p {
  margin-block-end: var(--space-3);
}

.restauracja-wnetrze__media {
  min-width: 0;
  margin-block-end: 0;
}

/* Kasyno */
.restauracja-kasyno {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

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

.restauracja-kasyno__copy {
  min-width: 0;
}

.restauracja-kasyno__copy h2 {
  color: var(--color-ivory);
  margin-block-end: var(--space-4);
}

.restauracja-kasyno__copy p {
  margin-block-end: var(--space-3);
}

.restauracja-kasyno__copy ul {
  color: var(--color-ivory);
}

.restauracja-kasyno__illustration {
  position: relative;
  min-width: 0;
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.restauracja-kasyno__cutout {
  position: absolute;
  width: 140px;
  height: 140px;
  background-color: var(--color-tomato-red);
  clip-path: polygon(50% 0%, 100% 40%, 80% 100%, 20% 100%, 0% 40%);
  opacity: 0.9;
}

.restauracja-kasyno__cutout--spade {
  transform: rotate(-20deg) translate(-20px, 10px);
  background-color: var(--color-ivory);
}

.restauracja-kasyno__cutout--heart {
  transform: rotate(15deg) translate(20px, -10px);
  background-color: var(--color-tomato-red);
  clip-path: polygon(50% 100%, 0 40%, 15% 0, 50% 25%, 85% 0, 100% 40%);
}

/* Rezerwacja */
.restauracja-rezerwacja__container {
  display: flex;
  justify-content: center;
}

.restauracja-rezerwacja__card {
  width: 100%;
  max-width: 600px;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  box-shadow: var(--shadow-soft);
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  text-align: center;
}

.restauracja-rezerwacja__card h2 {
  margin-block-end: 0;
}

.restauracja-rezerwacja__card p {
  margin-block-end: 0;
}

.restauracja-rezerwacja__contacts {
  margin-block-end: 0;
  text-align: left;
  align-self: center;
}

.restauracja-rezerwacja__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}

/* Notka */
.restauracja-notka__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.restauracja-notka__container h2 {
  margin-block-end: var(--space-4);
}

.restauracja-notka__copy {
  width: 70%;
  min-width: 0;
}

.restauracja-notka__copy p {
  margin-block-end: var(--space-3);
}

/* Tablet */
@media (max-width: 1024px) {
  .restauracja-hero__container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
    gap: var(--space-4);
  }

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

  .restauracja-dania__media {
    grid-column: span 2;
  }

  .restauracja-kasyno__container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
  }
}

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

  .restauracja-hero__container,
  .restauracja-przystawki__container,
  .restauracja-autorskie__container,
  .restauracja-napoje__container,
  .restauracja-wnetrze__container,
  .restauracja-kasyno__container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .restauracja-hero__illustration {
    min-height: 200px;
  }

  .restauracja-hero__cutout {
    width: 140px;
    height: 140px;
  }

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

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

  .restauracja-dania__media {
    grid-column: auto;
  }

  .restauracja-kasyno__illustration {
    min-height: 180px;
  }

  .restauracja-kasyno__cutout {
    width: 110px;
    height: 110px;
  }

  .restauracja-rezerwacja__card {
    padding: var(--space-4);
    clip-path: none;
  }

  .restauracja-notka__copy {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .restauracja-hero__copy h1 {
    font-size: clamp(2rem, 8vw, 2.5rem);
    line-height: 1.2;
  }

  .restauracja-hero__lead {
    font-size: 1rem;
    line-height: 1.5;
  }

  .restauracja-hero__illustration {
    min-height: 160px;
  }

  .restauracja-hero__cutout {
    width: 110px;
    height: 110px;
  }

  .restauracja-rezerwacja__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .restauracja-rezerwacja__actions .btn {
    width: 100%;
  }
}


/* Wnętrze page styles */

.wnetrze-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background-color: var(--color-dark-navy);
  background-image: linear-gradient(rgba(27, 42, 65, 0.72), rgba(27, 42, 65, 0.72)), url('/src/media/wnetrze-koncepcja.webp');
  background-size: cover;
  background-position: center;
  color: var(--color-ivory);
  padding-block: var(--space-8);
}

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

.wnetrze-hero__content {
  min-width: 0;
  max-width: 55ch;
}

.wnetrze-hero__title {
  color: var(--color-ivory);
  margin-block-end: var(--space-4);
  font-size: clamp(2.5rem, 5vw + 1rem, 4rem);
  line-height: var(--leading-display);
}

.wnetrze-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  margin-block-end: var(--space-4);
}

.wnetrze-hero__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  gap: var(--space-2);
}

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

.wnetrze-hero__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.wnetrze-hero__art {
  position: relative;
  min-height: 320px;
  min-width: 0;
}

.wnetrze-hero__cutout {
  position: absolute;
  display: block;
  background-color: var(--color-tomato-red);
  clip-path: polygon(0 0, 100% 10%, 90% 100%, 10% 90%);
  opacity: 0.85;
}

.wnetrze-hero__cutout--one {
  width: 55%;
  height: 55%;
  top: 10%;
  left: 5%;
  background-color: var(--color-pistachio-green);
}

.wnetrze-hero__cutout--two {
  width: 45%;
  height: 45%;
  bottom: 5%;
  right: 5%;
  background-color: var(--color-tomato-red);
}

.wnetrze-hero__cutout--three {
  width: 35%;
  height: 35%;
  top: 40%;
  left: 35%;
  background-color: var(--color-warm-brown);
  opacity: 0.6;
}

.wnetrze-koncepcja {
  background-color: var(--surface-tint-pistachio);
}

.wnetrze-koncepcja__grid {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  gap: var(--space-6);
  align-items: start;
}

.wnetrze-koncepcja__content {
  min-width: 0;
  max-width: 70ch;
}

.wnetrze-koncepcja__content h3 {
  margin-block-start: var(--space-5);
}

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

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

.wnetrze-koncepcja__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.wnetrze-koncepcja__media {
  min-width: 0;
  margin-block-end: 0;
}

.wnetrze-koncepcja__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-thin);
  box-shadow: var(--shadow-soft);
}

.wnetrze-jadalnia {
  background-color: var(--color-ivory);
}

.wnetrze-jadalnia__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
  gap: var(--space-5);
  align-items: start;
}

.wnetrze-jadalnia__content {
  min-width: 0;
  max-width: 65ch;
}

.wnetrze-jadalnia__content h3 {
  margin-block-start: var(--space-5);
}

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

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

.wnetrze-jadalnia__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.wnetrze-jadalnia__media {
  min-width: 0;
  margin-block-end: 0;
}

.wnetrze-jadalnia__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-thin);
  box-shadow: var(--shadow-soft);
}

.wnetrze-bar {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

.wnetrze-bar__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.wnetrze-bar__content {
  min-width: 0;
  max-width: 70ch;
}

.wnetrze-bar__content h2,
.wnetrze-bar__content h3 {
  color: var(--color-ivory);
}

.wnetrze-bar__content h3 {
  margin-block-start: var(--space-5);
}

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

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

.wnetrze-bar__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.wnetrze-bar__media {
  min-width: 0;
  margin-block-end: 0;
}

.wnetrze-bar__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-warm-brown);
  box-shadow: var(--shadow-soft);
}

.wnetrze-kasyno {
  background-color: var(--color-ivory);
}

.wnetrze-kasyno__grid {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  gap: var(--space-6);
  align-items: start;
}

.wnetrze-kasyno__content {
  min-width: 0;
  max-width: 70ch;
}

.wnetrze-kasyno__content h3 {
  margin-block-start: var(--space-5);
}

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

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

.wnetrze-kasyno__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.wnetrze-kasyno__media {
  min-width: 0;
  margin-block-end: 0;
}

.wnetrze-kasyno__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-thin);
  box-shadow: var(--shadow-soft);
}

.wnetrze-detale {
  background-color: var(--surface-tint-pistachio);
}

.wnetrze-detale__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.33fr) minmax(0, 2.33fr) minmax(0, 2.33fr);
  gap: var(--space-4);
  align-items: start;
}

.wnetrze-detale__content {
  min-width: 0;
  max-width: 65ch;
}

.wnetrze-detale__content h3 {
  margin-block-start: var(--space-5);
}

.wnetrze-detale__media {
  min-width: 0;
  margin-block-end: 0;
}

.wnetrze-detale__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: var(--border-thin);
  box-shadow: var(--shadow-soft);
}

.wnetrze-wieczor {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

.wnetrze-wieczor__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.wnetrze-wieczor__content {
  min-width: 0;
  max-width: 70ch;
}

.wnetrze-wieczor__content h2,
.wnetrze-wieczor__content h3 {
  color: var(--color-ivory);
}

.wnetrze-wieczor__content h3 {
  margin-block-start: var(--space-5);
}

.wnetrze-wieczor__media {
  min-width: 0;
  margin-block-end: 0;
}

.wnetrze-wieczor__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-warm-brown);
  box-shadow: var(--shadow-soft);
}

.wnetrze-rezerwacja {
  background-color: var(--color-ivory);
  padding-block: var(--space-8);
}

.wnetrze-rezerwacja__card {
  max-width: 600px;
  margin-inline: auto;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  box-shadow: var(--shadow-soft);
  position: relative;
  text-align: center;
}

.wnetrze-rezerwacja__card::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 20px;
  right: 20px;
  height: 16px;
  background-color: var(--surface-card);
  clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
  border: var(--border-thin);
  border-bottom: none;
}

.wnetrze-rezerwacja__card h2 {
  margin-block-end: var(--space-3);
}

.wnetrze-rezerwacja__card p {
  margin-inline: auto;
  margin-block-end: var(--space-4);
}

.wnetrze-rezerwacja__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
  display: grid;
  gap: var(--space-2);
  text-align: center;
}

.wnetrze-rezerwacja__cta {
  margin-block-start: var(--space-3);
}

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

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

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

  .wnetrze-jadalnia__content {
    grid-column: 1 / -1;
  }

  .wnetrze-jadalnia__media--stol {
    grid-column: 1 / 2;
  }

  .wnetrze-jadalnia__media--kuchnia {
    grid-column: 2 / 3;
  }

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

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

  .wnetrze-detale__content {
    grid-column: 1 / -1;
  }

  .wnetrze-detale__media--one {
    grid-column: 1 / 2;
  }

  .wnetrze-detale__media--two {
    grid-column: 2 / 3;
  }

  .wnetrze-detale__media--three {
    grid-column: 1 / -1;
    max-width: 50%;
    justify-self: center;
  }
}

@media (max-width: 768px) {
  .wnetrze-hero {
    min-height: auto;
    padding-block: var(--space-6);
  }

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

  .wnetrze-hero__content {
    max-width: 100%;
    text-align: center;
  }

  .wnetrze-hero__list {
    justify-items: center;
  }

  .wnetrze-hero__list li {
    text-align: left;
  }

  .wnetrze-hero__art {
    min-height: 200px;
    order: 2;
  }

  .wnetrze-koncepcja__grid,
  .wnetrze-kasyno__grid,
  .wnetrze-bar__grid,
  .wnetrze-wieczor__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .wnetrze-koncepcja__media,
  .wnetrze-kasyno__media,
  .wnetrze-bar__media,
  .wnetrze-wieczor__media {
    order: -1;
  }

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

  .wnetrze-jadalnia__content,
  .wnetrze-jadalnia__media--stol,
  .wnetrze-jadalnia__media--kuchnia {
    grid-column: 1 / -1;
  }

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

  .wnetrze-detale__content,
  .wnetrze-detale__media--one,
  .wnetrze-detale__media--two,
  .wnetrze-detale__media--three {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  .wnetrze-rezerwacja__card {
    padding: var(--space-4);
  }

  .wnetrze-rezerwacja__card::before {
    left: 10px;
    right: 10px;
  }
}

@media (max-width: 480px) {
  .wnetrze-hero__title {
    font-size: 2.25rem;
  }

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

  .wnetrze-rezerwacja__card {
    padding: var(--space-3);
  }
}


/* Page-owned styles for Kuchnia page */

.kuchnia-page {
  --kuchnia-hero-text-measure: 65ch;
  --kuchnia-intro-text-measure: 70ch;
  --kuchnia-philosophy-card-measure: 50ch;
  --kuchnia-ingredients-text-measure: 58ch;
  --kuchnia-gallery-caption-measure: 35ch;
  --kuchnia-casino-text-measure: 65ch;
  --kuchnia-backstage-text-measure: 60ch;
  --kuchnia-cta-text-measure: 55ch;
}

/* Hero */
.kuchnia-hero {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

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

.kuchnia-hero__text {
  min-width: 0;
}

.kuchnia-hero__text h1 {
  margin-block-end: var(--space-4);
}

.kuchnia-hero__lead {
  max-width: var(--kuchnia-hero-text-measure);
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
}

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

.kuchnia-hero__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  clip-path: polygon(0% 0%, 100% 2%, 98% 96%, 3% 100%, 0% 98%);
  box-shadow: var(--shadow-soft);
}

/* Intro */
.kuchnia-intro {
  padding-block: var(--space-8);
  background-color: var(--surface-tint-pistachio);
  border-top: var(--border-thin);
  border-bottom: var(--border-thin);
}

.kuchnia-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-6);
  align-items: start;
}

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

.kuchnia-intro__text h2 {
  margin-block-end: var(--space-4);
}

.kuchnia-intro__text p {
  }

.kuchnia-intro__list {
  max-width: var(--kuchnia-intro-text-measure);
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-4);
}

.kuchnia-intro__list li {
  position: relative;
  padding-inline-start: var(--space-4);
  margin-block-end: var(--space-2);
}

.kuchnia-intro__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.kuchnia-intro__illustration {
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: var(--space-4);
}

.kuchnia-intro__sketch {
  position: relative;
  width: 120px;
  height: 120px;
  border: 1px dashed var(--color-warm-brown);
  border-radius: var(--radius-medium);
  background-color: var(--color-ivory);
}

.kuchnia-intro__sketch-knife {
  position: absolute;
  top: 30px;
  left: 20px;
  width: 50px;
  height: 12px;
  background-color: var(--color-dark-navy);
  transform: rotate(-35deg);
  border-radius: 2px;
}

.kuchnia-intro__sketch-knife::after {
  content: '';
  position: absolute;
  right: -18px;
  top: -6px;
  width: 18px;
  height: 24px;
  background-color: var(--color-warm-brown);
  border-radius: 0 4px 4px 0;
}

.kuchnia-intro__sketch-spatula {
  position: absolute;
  bottom: 25px;
  right: 20px;
  width: 16px;
  height: 55px;
  background-color: var(--color-tomato-red);
  border-radius: 8px 8px 2px 2px;
}

.kuchnia-intro__sketch-spatula::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 12px;
  background-color: var(--color-pistachio-green);
  border-radius: 2px;
}

/* Philosophy */
.kuchnia-philosophy {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.kuchnia-philosophy h2 {
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.kuchnia-philosophy__card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: center;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kuchnia-philosophy__card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lift);
}

.kuchnia-philosophy__card h3 {
  margin-block-end: 0;
}

.kuchnia-philosophy__card p {
  margin-inline: auto;
  margin-block-end: 0;
}

.kuchnia-philosophy__icon {
  width: 48px;
  height: 48px;
  margin-inline: auto;
  background-color: var(--surface-tint-pistachio);
  border-radius: var(--radius-small);
  position: relative;
}

.kuchnia-philosophy__icon--balance::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  width: 28px;
  height: 2px;
  background-color: var(--color-dark-navy);
  box-shadow: 0 -8px 0 -0.5px var(--color-dark-navy), 0 8px 0 -0.5px var(--color-dark-navy);
}

.kuchnia-philosophy__icon--balance::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 24px;
  background-color: var(--color-tomato-red);
}

.kuchnia-philosophy__icon--texture::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 16px;
  background-color: var(--color-dark-navy);
  clip-path: polygon(0% 0%, 100% 0%, 80% 50%, 100% 100%, 0% 100%, 20% 50%);
}

.kuchnia-philosophy__icon--texture::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateY(6px);
  width: 30px;
  height: 4px;
  background-color: var(--color-pistachio-green);
}

.kuchnia-philosophy__icon--season::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 18px;
  height: 18px;
  background-color: var(--color-pistachio-green);
  border-radius: 50% 0 50% 0;
}

.kuchnia-philosophy__icon--season::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 28px;
  background-color: var(--color-warm-brown);
}

/* Ingredients */
.kuchnia-ingredients {
  padding-block: var(--space-8);
  background-color: var(--surface-tint-pistachio);
  border-top: var(--border-thin);
  border-bottom: var(--border-thin);
}

.kuchnia-ingredients h2 {
  margin-block-end: var(--space-6);
}

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

.kuchnia-ingredients__block {
  min-width: 0;
}

.kuchnia-ingredients__block h3 {
  margin-block-end: var(--space-3);
}

.kuchnia-ingredients__block p {
  }

.kuchnia-ingredients__list {
  max-width: var(--kuchnia-ingredients-text-measure);
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-3);
  margin-block-end: var(--space-4);
}

.kuchnia-ingredients__list li {
  position: relative;
  padding-inline-start: var(--space-4);
  margin-block-end: var(--space-2);
}

.kuchnia-ingredients__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 6px;
  height: 6px;
  background-color: var(--color-tomato-red);
  border-radius: 50%;
}

.kuchnia-ingredients__block img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  clip-path: polygon(0% 2%, 98% 0%, 100% 96%, 2% 100%);
  box-shadow: var(--shadow-soft);
  margin-block-start: var(--space-4);
}

/* Gallery */
.kuchnia-gallery {
  padding-block: var(--space-8);
  background-color: var(--color-ivory);
}

.kuchnia-gallery h2 {
  text-align: center;
  margin-block-end: var(--space-4);
}

.kuchnia-gallery__intro {
  max-width: 60ch;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.kuchnia-gallery__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-end: 0;
}

.kuchnia-gallery__link {
  display: block;
  min-width: 0;
  border-radius: var(--radius-medium);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kuchnia-gallery__link:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lift);
}

.kuchnia-gallery__link img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.kuchnia-gallery__caption {
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-warm-brown);
  max-width: var(--kuchnia-gallery-caption-measure);
  margin-inline: auto;
  text-align: center;
  font-style: italic;
  transform: rotate(-1deg);
}

/* Casino */
.kuchnia-casino {
  padding-block: var(--space-8);
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

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

.kuchnia-casino__text {
  min-width: 0;
}

.kuchnia-casino__text h2 {
  color: var(--color-ivory);
  margin-block-end: var(--space-4);
}

.kuchnia-casino__text p {
  color: var(--color-ivory);
}

.kuchnia-casino__list {
  max-width: var(--kuchnia-casino-text-measure);
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-4);
  color: var(--color-ivory);
}

.kuchnia-casino__list li {
  position: relative;
  padding-inline-start: var(--space-4);
  margin-block-end: var(--space-2);
}

.kuchnia-casino__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  background-color: var(--color-tomato-red);
  transform: rotate(45deg);
}

.kuchnia-casino__illustration {
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: var(--space-4);
}

.kuchnia-casino__card-fork {
  position: relative;
  width: 120px;
  height: 140px;
  border: 1px dashed var(--color-warm-brown);
  border-radius: var(--radius-medium);
  background-color: var(--color-ivory);
}

.kuchnia-casino__card-shape {
  position: absolute;
  top: 20px;
  left: 30px;
  width: 50px;
  height: 70px;
  background-color: var(--color-tomato-red);
  border-radius: 4px;
  transform: rotate(-8deg);
}

.kuchnia-casino__card-shape::after {
  content: '♠';
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--color-ivory);
  font-size: 28px;
  line-height: 1;
}

.kuchnia-casino__fork-shape {
  position: absolute;
  bottom: 20px;
  right: 25px;
  width: 14px;
  height: 60px;
  background-color: var(--color-pistachio-green);
  border-radius: 2px;
}

.kuchnia-casino__fork-shape::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -8px;
  width: 30px;
  height: 10px;
  background-color: var(--color-pistachio-green);
  border-radius: 2px;
}

/* Backstage */
.kuchnia-backstage {
  padding-block: var(--space-8);
  background-color: var(--surface-tint-pistachio);
  border-top: var(--border-thin);
  border-bottom: var(--border-thin);
}

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

.kuchnia-backstage__media {
  min-width: 0;
}

.kuchnia-backstage__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.kuchnia-backstage__text {
  min-width: 0;
}

.kuchnia-backstage__text h2 {
  margin-block-end: var(--space-4);
}

.kuchnia-backstage__text p {
  }

/* CTA */
.kuchnia-cta {
  padding-block: var(--space-8);
  background-color: var(--surface-tint-pistachio);
}

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

.kuchnia-cta__inner h2 {
  margin-block-end: 0;
}

.kuchnia-cta__inner p {
  margin-inline: auto;
  margin-block-end: 0;
}

.kuchnia-cta__button {
  margin-block-start: var(--space-2);
}

/* Lightbox */
.kuchnia-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(27, 42, 65, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast);
}

.kuchnia-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.kuchnia-lightbox__content {
  position: relative;
  max-width: min(1000px, 100%);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
}

.kuchnia-lightbox__image {
  max-width: 100%;
  max-height: 75vh;
  width: auto;
  height: auto;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-lift);
}

.kuchnia-lightbox__caption {
  color: var(--color-ivory);
  font-size: var(--text-body-size);
  text-align: center;
  max-width: 60ch;
}

.kuchnia-lightbox__close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--color-tomato-red);
  color: var(--color-ivory);
  font-size: 24px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: background-color var(--transition-fast);
}

.kuchnia-lightbox__close:hover {
  background-color: color-mix(in srgb, var(--color-tomato-red) 85%, black);
}

.kuchnia-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--color-ivory);
  color: var(--color-dark-navy);
  font-size: 24px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: background-color var(--transition-fast);
}

.kuchnia-lightbox__nav:hover {
  background-color: var(--color-pistachio-green);
}

.kuchnia-lightbox__nav--prev {
  left: var(--space-3);
}

.kuchnia-lightbox__nav--next {
  right: var(--space-3);
}

/* Responsive */
@media (max-width: 1024px) {
  .kuchnia-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

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

  .kuchnia-intro__illustration {
    display: none;
  }

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

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

  .kuchnia-casino__illustration {
    display: none;
  }
}

@media (max-width: 768px) {
  .kuchnia-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .kuchnia-hero__text {
    text-align: center;
  }

  .kuchnia-hero__lead {
    margin-inline: auto;
  }

  .kuchnia-hero__media img {
    clip-path: none;
    border-radius: var(--radius-small);
  }

  .kuchnia-intro__text p,
  .kuchnia-intro__list {
    max-width: 100%;
  }

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

  .kuchnia-philosophy__card {
    text-align: center;
  }

  .kuchnia-philosophy__card p {
  }

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

  .kuchnia-ingredients__block p,
  .kuchnia-ingredients__list {
    max-width: 100%;
  }

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

  .kuchnia-gallery__caption {
    max-width: 100%;
  }

  .kuchnia-casino__text p,
  .kuchnia-casino__list {
    max-width: 100%;
  }

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

  .kuchnia-backstage__text p {
  }

  .kuchnia-cta__inner p {
  }

  .kuchnia-cta__button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .kuchnia-hero {
    padding-block: var(--space-6);
  }

  .kuchnia-hero__text h1 {
    font-size: var(--text-h1-size);
  }

  .kuchnia-intro,
  .kuchnia-philosophy,
  .kuchnia-ingredients,
  .kuchnia-gallery,
  .kuchnia-casino,
  .kuchnia-backstage,
  .kuchnia-cta {
    padding-block: var(--space-6);
  }

  .kuchnia-philosophy h2,
  .kuchnia-gallery h2 {
    text-align: center;
  }

  .kuchnia-gallery__intro {
    max-width: 100%;
  }
}


/* Palate Atelier — home page styles */

/* Hero */
.home-hero {
  padding-block: var(--space-8);
}

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

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

.home-hero__title {
  max-width: 800px;
  font-size: var(--text-display-size);
  line-height: var(--leading-display);
  margin: 0;
}

.home-hero__lead {
  max-width: 600px;
  font-size: var(--text-body-large-size);
  line-height: var(--leading-body-large);
  margin: 0;
}

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

.home-hero__cta {
  min-width: 180px;
}

.home-hero__media {
  min-width: 0;
  position: relative;
  margin-inline-end: -20px;
}

.home-hero__image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

/* Idea */
.home-idea {
  padding-block: var(--space-8);
}

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

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

.home-idea__title {
  max-width: 700px;
  margin: 0;
}

.home-idea__text {
  max-width: 700px;
  margin: 0;
}

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

.home-idea__features-title {
  margin: 0;
}

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

.home-idea__item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin: 0;
}

.home-idea__icon {
  flex: 0 0 auto;
  width: 24px;
  text-align: center;
  color: var(--color-tomato-red);
  font-size: 1.2rem;
  line-height: 1.4;
}

/* Kitchen */
.home-kitchen {
  padding-block: var(--space-8);
}

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

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

.home-kitchen__title {
  max-width: 650px;
  margin: 0;
}

.home-kitchen__text {
  max-width: 650px;
  margin: 0;
}

.home-kitchen__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: flex-start;
}

.home-kitchen__tag {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-target-min);
  padding: var(--space-2) var(--space-3);
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-small);
  font-size: var(--text-caption-size);
  line-height: var(--leading-caption);
  color: var(--color-dark-navy);
  box-shadow: var(--shadow-soft);
}

/* Menu */
.home-menu {
  padding-block: var(--space-8);
}

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

.home-menu__title {
  margin: 0;
  max-width: 700px;
}

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

.home-menu__card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transform: rotate(0deg);
}

.home-menu__card:nth-child(2) {
  transform: rotate(1deg);
}

.home-menu__card:nth-child(3) {
  transform: rotate(-1deg);
}

.home-menu__card:nth-child(4) {
  transform: rotate(0.5deg);
}

.home-menu__card-title {
  margin: 0;
}

.home-menu__card-intro {
  margin: 0;
  font-size: var(--text-body-size);
}

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

.home-menu__item {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  margin: 0;
}

.home-menu__dish {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home-menu__dots {
  flex: 1 1 auto;
  border-bottom: 1px dotted var(--color-warm-brown);
  min-width: 20px;
}

.home-menu__price {
  flex: 0 0 auto;
  color: var(--color-tomato-red);
  font-weight: 500;
}

.home-menu__note {
  margin: 0;
  font-size: var(--text-caption-size);
  color: var(--color-warm-brown);
}

/* Dishes */
.home-dishes {
  padding-block: var(--space-8);
}

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

.home-dishes__title {
  margin: 0;
  max-width: 700px;
}

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

.home-dishes__card {
  min-width: 0;
  background-color: var(--surface-card);
  border: var(--border-thin);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.home-dishes__media {
  min-width: 0;
  margin: -15px -15px 0 -15px;
  overflow: hidden;
}

.home-dishes__image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.home-dishes__body {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.home-dishes__card-title {
  margin: 0;
}

.home-dishes__text {
  margin: 0;
}

/* Process */
.home-process {
  padding-block: var(--space-8);
}

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

.home-process__title {
  margin: 0;
  max-width: 700px;
}

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

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

.home-process__step-title {
  margin: 0;
}

.home-process__text {
  margin: 0;
}

/* Interior */
.home-interior {
  padding-block: var(--space-8);
}

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

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

.home-interior__title {
  max-width: 700px;
  margin: 0;
}

.home-interior__text {
  max-width: 700px;
  margin: 0;
}

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

.home-interior__details-title {
  margin: 0;
}

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

/* Transition */
.home-transition {
  padding-block: var(--space-8);
}

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

.home-transition__title {
  max-width: 700px;
  margin: 0;
}

.home-transition__text {
  max-width: 700px;
  margin: 0;
}

/* Poker */
.home-poker {
  padding-block: var(--space-8);
}

.home-poker--dark {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

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

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

.home-poker__title,
.home-poker__list-title {
  color: var(--color-ivory);
  margin: 0;
}

.home-poker__text {
  max-width: 600px;
  color: var(--color-ivory);
  margin: 0;
}

.home-poker__list-wrap {
  min-width: 0;
  background-color: color-mix(in srgb, var(--color-ivory) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ivory) 30%, transparent);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.home-poker__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-ivory);
}

/* Roulette */
.home-roulette {
  padding-block: var(--space-8);
}

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

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

.home-roulette__title,
.home-roulette__list-title {
  margin: 0;
}

.home-roulette__text {
  max-width: 600px;
  margin: 0;
}

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

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

/* Blackjack */
.home-blackjack {
  padding-block: var(--space-8);
}

.home-blackjack--dark {
  background-color: var(--color-dark-navy);
  color: var(--color-ivory);
}

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

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

.home-blackjack__title,
.home-blackjack__list-title {
  color: var(--color-ivory);
  margin: 0;
}

.home-blackjack__text {
  max-width: 600px;
  color: var(--color-ivory);
  margin: 0;
}

.home-blackjack__list-wrap {
  min-width: 0;
  background-color: color-mix(in srgb, var(--color-ivory) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ivory) 30%, transparent);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.home-blackjack__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-ivory);
}

/* Evening */
.home-evening {
  padding-block: var(--space-8);
}

.home-evening--accent {
  background-color: var(--color-tomato-red);
  color: var(--color-ivory);
}

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

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

.home-evening__title,
.home-evening__booking-title {
  color: var(--color-ivory);
  margin: 0;
}

.home-evening__text {
  max-width: 700px;
  color: var(--color-ivory);
  margin: 0;
}

.home-evening__booking {
  min-width: 0;
  background-color: color-mix(in srgb, var(--color-ivory) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-ivory) 40%, transparent);
  border-radius: var(--radius-medium);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.home-evening__booking-text {
  color: var(--color-ivory);
  margin: 0;
}

.home-evening__contact {
  color: var(--color-ivory);
  margin: 0;
}

.home-evening__contact a {
  color: var(--color-ivory);
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--color-pistachio-green);
  text-underline-offset: 0.2em;
}

.home-evening__contact a:hover {
  color: var(--color-pistachio-green);
}

.home-evening__cta {
  background-color: var(--color-ivory);
  color: var(--color-tomato-red);
  border-color: var(--color-ivory);
}

.home-evening__cta:hover {
  background-color: var(--color-pistachio-green);
  color: var(--color-dark-navy);
  border-color: var(--color-pistachio-green);
}

/* Gallery */
.home-gallery {
  padding-block: var(--space-8);
}

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

.home-gallery__title {
  margin: 0;
  max-width: 700px;
}

.home-gallery__intro {
  margin: 0;
  max-width: 700px;
}

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

.home-gallery__item {
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.home-gallery__image {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-soft);
}

.home-gallery__caption {
  margin: 0;
  max-width: 200px;
  font-size: var(--text-caption-size);
  color: var(--color-warm-brown);
}

/* About */
.home-about {
  padding-block: var(--space-8);
}

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

.home-about__title {
  margin: 0;
}

.home-about__text {
  max-width: 700px;
  margin: 0;
}

/* Contact */
.home-contact {
  padding-block: var(--space-8);
}

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

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

.home-contact__title {
  margin: 0;
}

.home-contact__intro {
  margin: 0;
}

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

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

.home-contact__form-title {
  margin: 0;
}

.home-contact__form-intro {
  margin: 0;
}

.home-contact__submit {
  align-self: flex-start;
}

.home-contact__form-note {
  margin: 0;
  min-height: 1.5em;
  font-size: var(--text-caption-size);
  color: var(--color-tomato-red);
}

/* Tablet */
@media (max-width: 1024px) {
  .home-hero__container,
  .home-idea__container,
  .home-interior__container,
  .home-poker__container,
  .home-roulette__container,
  .home-blackjack__container,
  .home-evening__container,
  .home-contact__container {
    grid-template-columns: 1fr;
  }

  .home-hero__media {
    margin-inline-end: 0;
  }

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

  .home-dishes__grid,
  .home-process__steps,
  .home-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .home-hero__container {
    gap: var(--space-5);
  }

  .home-hero__title {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

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

  .home-hero__cta {
    width: 100%;
  }

  .home-idea,
  .home-kitchen,
  .home-menu,
  .home-dishes,
  .home-process,
  .home-interior,
  .home-transition,
  .home-poker,
  .home-roulette,
  .home-blackjack,
  .home-evening,
  .home-gallery,
  .home-about,
  .home-contact {
    padding-block: var(--space-6);
  }

  .home-menu__grid,
  .home-dishes__grid,
  .home-process__steps,
  .home-gallery__grid {
    grid-template-columns: 1fr;
  }

  .home-menu__card:nth-child(2),
  .home-menu__card:nth-child(3),
  .home-menu__card:nth-child(4) {
    transform: none;
  }

  .home-dishes__media {
    margin: 0;
  }

  .home-kitchen__tags {
    justify-content: flex-start;
  }

  .home-contact__submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-menu__card,
  .home-menu__card:nth-child(2),
  .home-menu__card:nth-child(3),
  .home-menu__card:nth-child(4) {
    transform: none;
  }
}


.thank-you {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - var(--header-height, 0px) - var(--footer-height, 0px));
  padding-block: var(--space-8);
  padding-inline: var(--container-padding);
}

.thank-you__content {
  max-width: 36rem;
  width: 100%;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.thank-you__title {
  margin-block-end: 0;
}

.thank-you__message,
.thank-you__next {
  margin-block-end: 0;
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-block-start: var(--space-2);
}

@media (max-width: 768px) {
  .thank-you {
    padding-block: var(--space-6);
  }

  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .btn {
    width: 100%;
  }
}