

:root {
  --color-sand-white: #F5F0E8;
  --color-turquoise: #1B7F8E;
  --color-coral: #E85D4A;
  --color-mustard: #D4A72C;
  --color-petrol: #0F3B4C;
  --color-petrol-10: rgba(15, 59, 76, 0.1);
  --color-white: #FFFFFF;
  --color-turquoise-dark: #14626E;
  --color-coral-dark: #C94A39;
  --color-mustard-dark: #B58A1F;
  --color-petrol-light: #1A5065;

  --font-heading: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --text-display: clamp(2.5rem, 5vw, 4rem);
  --text-h1: clamp(2rem, 4vw, 3rem);
  --text-h2: clamp(1.5rem, 3vw, 2.25rem);
  --text-h3: 1.5rem;
  --text-body: 1.125rem;
  --text-small: 0.875rem;

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

  --weight-display: 700;
  --weight-h1: 700;
  --weight-h2: 600;
  --weight-h3: 600;
  --weight-body: 400;
  --weight-small: 400;

  --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: 1200px;
  --container-padding: clamp(1.5rem, 4vw, 3rem);

  --section-gap: clamp(3rem, 8vw, 8rem);
  --card-padding: clamp(1.5rem, 3vw, 2rem);

  --radius-none: 0px;
  --radius-button: 4px;
  --radius-card: 8px;
  --radius-modal: 16px;

  --shadow-card: 0 4px 12px rgba(15, 59, 76, 0.1);
  --shadow-card-hover: 0 8px 24px rgba(15, 59, 76, 0.16);
  --shadow-modal: 0 12px 40px rgba(15, 59, 76, 0.2);

  --border-hairline: 1px solid var(--color-petrol-10);

  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
}

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

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

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  background-color: var(--color-sand-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

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

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

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

a {
  color: var(--color-turquoise);
  text-decoration: none;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
  color: var(--color-turquoise-dark);
  text-decoration: underline;
  text-decoration-color: var(--color-coral);
  text-underline-offset: 0.2em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: var(--weight-h1);
  color: var(--color-petrol);
  margin-block-start: 0;
  margin-block-end: var(--space-4);
}

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

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

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

h4,
h5,
h6 {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  font-weight: var(--weight-h2);
}

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

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

blockquote {
  margin: var(--space-5) 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-coral);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-petrol);
}

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

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

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

hr {
  border: none;
  border-top: var(--border-hairline);
  margin: var(--space-6) 0;
}

address {
  font-style: normal;
}

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

strong,
b {
  font-weight: 600;
}

em,
i {
  font-style: italic;
}

mark {
  background-color: var(--color-mustard);
  color: var(--color-petrol);
  padding: 0.1em 0.3em;
  border-radius: var(--radius-button);
}

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

pre {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
  padding: var(--space-4);
  border-radius: var(--radius-card);
  overflow-x: auto;
  margin-block-end: var(--space-4);
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: var(--space-4);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

caption {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.75;
  margin-block-end: var(--space-2);
  text-align: start;
}

th,
td {
  padding: var(--space-2) var(--space-3);
  text-align: start;
  border-bottom: var(--border-hairline);
}

th {
  font-weight: 600;
  color: var(--color-petrol);
  background-color: rgba(15, 59, 76, 0.04);
}

fieldset {
  border: var(--border-hairline);
  border-radius: var(--radius-card);
  padding: var(--space-4);
  margin: 0 0 var(--space-4);
}

legend {
  font-family: var(--font-heading);
  font-size: var(--text-body);
  font-weight: var(--weight-h2);
  color: var(--color-petrol);
  padding-inline: var(--space-2);
}

label {
  display: block;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  font-weight: 500;
  color: var(--color-petrol);
  margin-block-end: var(--space-2);
}

input,
textarea,
select {
  display: block;
  width: 100%;
  padding: var(--space-3) var(--space-3);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  background-color: var(--color-white);
  border: 1px solid var(--color-petrol-10);
  border-radius: var(--radius-button);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-petrol);
  opacity: 0.5;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 3px rgba(27, 127, 142, 0.15);
}

textarea {
  min-height: 8rem;
  resize: vertical;
}

select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230F3B4C' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-3) center;
  padding-inline-end: var(--space-5);
}

input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  width: auto;
  margin-inline-end: var(--space-2);
  vertical-align: middle;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  margin-block-end: 0;
  vertical-align: middle;
}

input[type="submit"],
input[type="reset"],
input[type="button"] {
  width: auto;
  cursor: pointer;
}

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

.container--wide {
  max-width: 1400px;
}

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

.section--tight {
  padding-block: calc(var(--section-gap) * 0.5);
}

.section--sand {
  background-color: var(--color-sand-white);
}

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

.section--petrol {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
}

.section--petrol h1,
.section--petrol h2,
.section--petrol h3,
.section--petrol h4,
.section--petrol h5,
.section--petrol h6 {
  color: var(--color-sand-white);
}

.section--petrol a {
  color: var(--color-turquoise);
}

.section--petrol a:hover {
  color: var(--color-mustard);
}

.section--petrol input,
.section--petrol textarea,
.section--petrol select {
  background-color: rgba(245, 240, 232, 0.08);
  border-color: rgba(245, 240, 232, 0.2);
  color: var(--color-sand-white);
}

.section--petrol input::placeholder,
.section--petrol textarea::placeholder {
  color: var(--color-sand-white);
  opacity: 0.5;
}

.section--petrol input:focus,
.section--petrol textarea:focus,
.section--petrol select:focus {
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 3px rgba(27, 127, 142, 0.3);
}

.section--petrol label {
  color: var(--color-sand-white);
}

.section--petrol th,
.section--petrol td {
  border-bottom-color: rgba(245, 240, 232, 0.15);
}

.section--petrol th {
  background-color: rgba(245, 240, 232, 0.06);
  color: var(--color-sand-white);
}

.section--petrol hr {
  border-top-color: rgba(245, 240, 232, 0.15);
}

.section--petrol blockquote {
  color: var(--color-sand-white);
  border-inline-start-color: var(--color-coral);
}

.section--petrol figcaption,
.section--petrol caption {
  color: var(--color-sand-white);
  opacity: 0.7;
}

.card {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.card--sand {
  background-color: var(--color-sand-white);
}

.card--petrol {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
}

.card--petrol h1,
.card--petrol h2,
.card--petrol h3,
.card--petrol h4,
.card--petrol h5,
.card--petrol h6 {
  color: var(--color-sand-white);
}

.card--petrol a {
  color: var(--color-turquoise);
}

.card--petrol a:hover {
  color: var(--color-mustard);
}

.card--flat {
  box-shadow: none;
  border: var(--border-hairline);
}

.card--flat:hover {
  box-shadow: none;
  transform: none;
}

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

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 600;
  line-height: var(--leading-body);
  text-align: center;
  text-decoration: none;
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
  white-space: nowrap;
  min-width: 0;
}

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

.btn--coral {
  background-color: var(--color-coral);
  color: var(--color-white);
}

.btn--coral:hover {
  background-color: var(--color-coral-dark);
  color: var(--color-white);
  text-decoration: none;
}

.btn--turquoise {
  background-color: var(--color-turquoise);
  color: var(--color-white)!important;
}

.btn--turquoise:hover {
  background-color: var(--color-turquoise-dark);
  color: var(--color-white);
  text-decoration: none;
}

.btn--petrol {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
}

.btn--petrol:hover {
  background-color: var(--color-petrol-light);
  color: var(--color-sand-white);
  text-decoration: none;
}

.btn--mustard {
  background-color: var(--color-mustard);
  color: var(--color-petrol);
}

.btn--mustard:hover {
  background-color: var(--color-mustard-dark);
  color: var(--color-petrol);
  text-decoration: none;
}

.btn--outline {
  background-color: transparent;
  color: var(--color-turquoise);
  border: 1px solid var(--color-turquoise);
}

.btn--outline:hover {
  background-color: var(--color-turquoise);
  color: var(--color-white);
  text-decoration: none;
}

.btn--outline-coral {
  background-color: transparent;
  color: var(--color-coral);
  border: 1px solid var(--color-coral);
}

.btn--outline-coral:hover {
  background-color: var(--color-coral);
  color: var(--color-white);
  text-decoration: none;
}

.btn--outline-light {
  background-color: transparent;
  color: var(--color-sand-white);
  border: 1px solid rgba(245, 240, 232, 0.5);
}

.btn--outline-light:hover {
  background-color: var(--color-sand-white);
  color: var(--color-petrol);
  text-decoration: none;
}

.btn--sm {
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.btn--lg {
  padding: var(--space-4) var(--space-6);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

.btn--block {
  display: flex;
  width: 100%;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: var(--radius-button);
  white-space: nowrap;
}

.badge--coral {
  background-color: rgba(232, 93, 74, 0.12);
  color: var(--color-coral);
}

.badge--turquoise {
  background-color: rgba(27, 127, 142, 0.12);
  color: var(--color-turquoise);
}

.badge--mustard {
  background-color: rgba(212, 167, 44, 0.15);
  color: var(--color-mustard-dark);
}

.badge--petrol {
  background-color: rgba(15, 59, 76, 0.1);
  color: var(--color-petrol);
}

.badge--light {
  background-color: rgba(245, 240, 232, 0.15);
  color: var(--color-sand-white);
}

.eyebrow {
  display: block;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-coral);
  margin-block-end: var(--space-2);
}

.eyebrow--turquoise {
  color: var(--color-turquoise);
}

.eyebrow--mustard {
  color: var(--color-mustard);
}

.eyebrow--light {
  color: var(--color-sand-white);
  opacity: 0.8;
}

.lead {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.7;
  font-weight: 400;
  color: var(--color-petrol);
}

.section--petrol .lead {
  color: var(--color-sand-white);
  opacity: 0.9;
}

.display {
  font-family: var(--font-heading);
  font-size: var(--text-display);
  line-height: var(--leading-display);
  font-weight: var(--weight-display);
  color: var(--color-petrol);
  margin-block-end: var(--space-4);
}

.section--petrol .display {
  color: var(--color-sand-white);
}

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

.text-coral {
  color: var(--color-coral);
}

.text-turquoise {
  color: var(--color-turquoise);
}

.text-mustard {
  color: var(--color-mustard);
}

.text-petrol {
  color: var(--color-petrol);
}

.text-sand {
  color: var(--color-sand-white);
}

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

.text-start {
  text-align: start;
}

.text-end {
  text-align: end;
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.sr-only {
  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-4);
  z-index: 1000;
  padding: var(--space-3) var(--space-5);
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
  border-radius: var(--radius-button);
  font-weight: 600;
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: var(--space-4);
  color: var(--color-sand-white);
  text-decoration: none;
}

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

.stack--sm {
  gap: var(--space-2);
}

.stack--lg {
  gap: var(--space-6);
}

.stack > :last-child {
  margin-block-end: 0;
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.cluster--sm {
  gap: var(--space-2);
}

.cluster--lg {
  gap: var(--space-5);
}

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

.cluster--wrap-all > * {
  flex-shrink: 1;
}

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

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

.between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

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

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

.list-unstyled > li {
  margin-block-end: 0;
}

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

.content-list > li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin-block-end: var(--space-3);
}

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

.content-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-coral);
}

.content-list--turquoise > li::before {
  background-color: var(--color-turquoise);
}

.content-list--mustard > li::before {
  background-color: var(--color-mustard);
}

.content-list--check > li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background-color: transparent;
  color: var(--color-turquoise);
  font-weight: 700;
  font-size: var(--text-body);
}

.divider {
  border: none;
  border-top: var(--border-hairline);
  margin: var(--space-6) 0;
}

.divider--coral {
  border-top-color: var(--color-coral);
  opacity: 0.4;
}

.divider--turquoise {
  border-top-color: var(--color-turquoise);
  opacity: 0.4;
}

.divider--mustard {
  border-top-color: var(--color-mustard);
  opacity: 0.5;
}

.divider--light {
  border-top-color: rgba(245, 240, 232, 0.2);
}

.img-rounded {
  border-radius: var(--radius-card);
  overflow: hidden;
}

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

.ratio {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-card);
}

.ratio > img,
.ratio > video,
.ratio > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

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

.ratio--3-2 {
  aspect-ratio: 3 / 2;
}

.ratio--1-1 {
  aspect-ratio: 1 / 1;
}

.ratio--21-9 {
  aspect-ratio: 21 / 9;
}

.overlay {
  position: relative;
}

.overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.1), rgba(15, 59, 76, 0.55));
  pointer-events: none;
  border-radius: inherit;
}

.overlay--strong::after {
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.3), rgba(15, 59, 76, 0.75));
}

.overlay--coral::after {
  background: linear-gradient(to bottom, rgba(232, 93, 74, 0.15), rgba(232, 93, 74, 0.5));
}

.overlay > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  :root {
    --section-gap: 3rem;
    --card-padding: 1.5rem;
  }

  h1 {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  h2 {
    font-size: clamp(1.375rem, 5vw, 1.75rem);
  }

  h3 {
    font-size: 1.25rem;
  }

  .display {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .lead {
    font-size: 1.0625rem;
  }

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

  .btn {
    padding: var(--space-2) var(--space-4);
  }

  .btn--lg {
    padding: var(--space-3) var(--space-5);
    font-size: var(--text-body);
  }
}

@media (max-width: 480px) {
  :root {
    --container-padding: 1.25rem;
    --section-gap: 2.5rem;
  }

  h1 {
    font-size: 1.625rem;
  }

  h2 {
    font-size: 1.375rem;
  }

  .display {
    font-size: 1.875rem;
  }

  .btn--block-mobile {
    display: flex;
    width: 100%;
  }
}

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


/* Header component styles */
.site-header {
  --header-height: 80px;
  --header-bg: var(--color-sand-white);
  --header-border: var(--border-hairline);
  --header-z: 1000;
  --header-transition: var(--transition-base);
  --header-logo-size: 48px;
  --header-logo-size-mobile: 32px;
  --header-nav-gap: var(--space-5);
  --header-nav-gap-mobile: var(--space-3);
  --header-ticker-height: 32px;

  position: sticky;
  top: 0;
  z-index: var(--header-z);
  width: 100%;
  background-color: var(--header-bg);
  border-bottom: var(--header-border);
  box-shadow: 0 1px 0 rgba(15, 59, 76, 0.05);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  min-height: var(--header-height);
  padding-block: var(--space-3);
}

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

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

.site-header__logo {
  width: var(--header-logo-size);
  height: var(--header-logo-size);
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.site-header__brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}

.site-header__brand-name {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-petrol);
  white-space: nowrap;
}

.site-header__brand-subtitle {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-turquoise);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}

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

.site-header__toggle:hover {
  background-color: rgba(15, 59, 76, 0.06);
}

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

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-petrol);
  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: flex;
  align-items: center;
  gap: var(--space-5);
  flex-shrink: 0;
}

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

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

.site-header__nav-link {
  display: inline-block;
  padding: var(--space-2) 0;
  font-size: var(--text-small);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--color-petrol);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
  position: relative;
}

.site-header__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-coral);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-base);
}

.site-header__nav-link:hover,
.site-header__nav-link:focus-visible {
  color: var(--color-turquoise);
  text-decoration: none;
}

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

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

.site-header__cta {
  flex-shrink: 0;
  white-space: nowrap;
}

.site-header__ticker {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
  height: var(--header-ticker-height);
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
}

.site-header__ticker-text {
  display: inline-block;
  padding-inline: var(--space-4);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  animation: site-header-ticker-scroll 20s linear infinite;
}

@keyframes site-header-ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

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

  .site-header__nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(85vw, 360px);
    max-width: 100%;
    background-color: var(--color-sand-white);
    box-shadow: -8px 0 24px rgba(15, 59, 76, 0.15);
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-5);
    padding: var(--space-6) var(--space-5);
    transform: translateX(100%);
    transition: transform var(--transition-base);
    overflow-y: auto;
    z-index: 1001;
    visibility: hidden;
  }

  .site-header__nav.is-open {
    transform: translateX(0);
    visibility: visible;
  }

  .site-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--header-nav-gap-mobile);
  }

  .site-header__nav-link {
    display: block;
    padding: var(--space-2) 0;
    font-size: 1rem;
    font-weight: 600;
    border-bottom: var(--border-hairline);
  }

  .site-header__nav-link::after {
    display: none;
  }

  .site-header__cta {
    margin-top: auto;
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  :root {
    --header-height: 64px;
    --header-logo-size: 32px;
  }

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

  .site-header__brand-name {
    font-size: 1rem;
  }

  .site-header__ticker {
    height: 28px;
  }

  .site-header__ticker-text {
    font-size: 0.625rem;
  }
}

@media (max-width: 480px) {
  .site-header__inner {
    gap: var(--space-2);
  }

  .site-header__brand {
    gap: var(--space-2);
  }

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

  .site-header__brand-name {
    font-size: 0.875rem;
  }
}


/* Footer, consent banner, and age modal styles */
.site-footer {
  --footer-bg: var(--color-petrol);
  --footer-text: var(--color-sand-white);
  --footer-muted: rgba(245, 240, 232, 0.7);
  --footer-border: rgba(245, 240, 232, 0.15);
  --footer-link: var(--color-turquoise);
  --footer-link-hover: var(--color-mustard);
  --footer-padding: var(--space-8) 0 var(--space-6);
  --footer-legal-bg: var(--color-petrol-light);
  --footer-legal-text: rgba(245, 240, 232, 0.8);
  --footer-legal-link: var(--color-sand-white);
  --footer-legal-link-hover: var(--color-mustard);

  background-color: var(--footer-bg);
  color: var(--footer-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
}

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

.site-footer a:hover {
  color: var(--footer-link-hover);
  text-decoration: underline;
  text-decoration-color: var(--color-coral);
  text-underline-offset: 0.2em;
}

.site-footer__rooms {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
  padding: var(--space-6) var(--container-padding);
  background-color: rgba(15, 59, 76, 0.6);
  border-bottom: var(--footer-border);
}

.site-footer__room {
  position: relative;
  min-height: 200px;
  border-radius: var(--radius-card);
  overflow: hidden;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  padding: var(--space-4);
  box-shadow: var(--shadow-card);
}

.site-footer__room::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 59, 76, 0.7), rgba(15, 59, 76, 0.1));
  pointer-events: none;
}

.site-footer__room--poker {
  background-image: url('/src/media/poker-table.webp');
}

.site-footer__room--roulette {
  background-image: url('/src/media/ruletka-stol.webp');
}

.site-footer__room--blackjack {
  background-image: url('/src/media/blackjack-stol.webp');
}

.site-footer__room-label {
  position: relative;
  z-index: 1;
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 600;
  color: var(--color-sand-white);
}

.site-footer__main {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr auto;
  gap: var(--space-6);
  padding-block: var(--space-8);
  align-items: start;
}

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

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

.site-footer__brand-link:hover {
  color: var(--color-sand-white);
  text-decoration: none;
}

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

.site-footer__brand-name {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.site-footer__tagline {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.3;
  font-weight: 600;
  color: var(--color-sand-white);
  margin: 0;
  max-width: 20ch;
}

.site-footer__nav {
  margin: 0;
}

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

.site-footer__nav-list a {
  font-size: var(--text-small);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--footer-link);
}

.site-footer__nav-list a:hover {
  color: var(--footer-link-hover);
}

.site-footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--footer-muted);
}

.site-footer__contact a {
  color: var(--footer-link);
}

.site-footer__contact a:hover {
  color: var(--footer-link-hover);
}

.site-footer__contact address {
  font-style: normal;
  color: var(--footer-muted);
}

.site-footer__cta {
  align-self: start;
  white-space: nowrap;
}

.site-footer__legal {
  background-color: var(--footer-legal-bg);
  padding-block: var(--space-4);
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--footer-legal-text);
}

.site-footer__legal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.site-footer__legal-nav {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.site-footer__legal-nav a {
  color: var(--footer-legal-link);
  text-decoration: none;
}

.site-footer__legal-nav a:hover {
  color: var(--footer-legal-link-hover);
  text-decoration: underline;
}

/* Consent banner */
.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1200;
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
  box-shadow: 0 -4px 12px rgba(15, 59, 76, 0.2);
  padding: var(--space-4) var(--container-padding);
}

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

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

.consent-banner__text {
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-sand-white);
  opacity: 0.9;
}

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

.consent-banner__button {
  white-space: nowrap;
}

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

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

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

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(15, 59, 76, 0.85);
  backdrop-filter: blur(4px);
}

.age-modal__dialog {
  position: relative;
  z-index: 1;
  background-color: var(--color-sand-white);
  color: var(--color-petrol);
  border-radius: var(--radius-modal);
  box-shadow: var(--shadow-modal);
  padding: var(--space-6);
  max-width: 480px;
  width: 100%;
  max-height: calc(100vh - var(--space-8));
  overflow-y: auto;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: 600;
  color: var(--color-petrol);
  margin-block-end: var(--space-4);
}

.age-modal__description {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  margin-block-end: var(--space-5);
}

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

.age-modal__button {
  flex: 1 1 auto;
  min-width: 140px;
}

.age-modal__button:focus-visible {
  outline: 2px solid var(--color-mustard);
  outline-offset: 2px;
}

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

  .site-footer__cta {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 768px) {
  .site-footer__rooms {
    grid-template-columns: 1fr;
    gap: var(--space-3);
    padding: var(--space-4) var(--container-padding);
  }

  .site-footer__room {
    min-height: 160px;
  }

  .site-footer__main {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-block: var(--space-6);
  }

  .site-footer__legal-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }

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

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

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

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

  .age-modal__button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .site-footer__tagline {
    font-size: 1.25rem;
  }

  .site-footer__legal-nav {
    flex-direction: column;
    gap: var(--space-2);
  }
}


.cookies-page {
  background-color: var(--color-sand-white);
  color: #333333;
}

.cookies-section {
  padding-block: 64px;
}

.cookies-column {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: left;
}

.cookies-column--intro {
  max-width: 720px;
}

.cookies-title {
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  color: var(--color-petrol);
  margin-block-end: var(--space-5);
}

.cookies-lead {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  margin-block-end: var(--space-4);
}

.cookies-lead strong {
  color: var(--color-petrol);
}

.cookies-meta {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.8;
  margin-block-end: 0;
}

.cookies-heading {
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  color: var(--color-turquoise);
  margin-block-end: var(--space-5);
}

.cookies-column p {
  margin-block-end: var(--space-4);
}

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

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

.cookies-list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin-block-end: var(--space-3);
}

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

.cookies-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-turquoise);
}

.cookies-list--arrows li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background-color: transparent;
  color: var(--color-turquoise);
  font-weight: 700;
  font-size: var(--text-body);
}

.cookies-cards {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-block-end: 0;
}

.cookies-card {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
  width: 100%;
  min-width: 0;
}

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

.cookies-card-icon {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-turquoise);
  margin-block-end: var(--space-3);
}

.cookies-card-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.cookies-card-title {
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-petrol);
  margin-block-end: var(--space-3);
}

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

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

.cookies-card-list li {
  position: relative;
  padding-inline-start: var(--space-5);
  margin-block-end: var(--space-2);
}

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

.cookies-card-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-coral);
}

.cookies-warning {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  background-color: rgba(232, 93, 74, 0.08);
  border-left: 3px solid var(--color-coral);
  padding: var(--space-3) var(--space-4);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  margin-block-end: 0;
}

.cookies-update {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  margin-block-end: 0;
}

.cookies-update time {
  color: var(--color-coral);
  font-weight: 600;
}

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

.cookies-contact-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
}

.cookies-contact-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--color-turquoise);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cookies-contact-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.cookies-contact-list a,
.cookies-contact-list span:not(.cookies-contact-icon) {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

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

  .cookies-column {
    padding-inline: 16px;
  }

  .cookies-title {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  .cookies-heading {
    font-size: clamp(1.375rem, 5vw, 1.75rem);
  }

  .cookies-cards {
    gap: 16px;
  }

  .cookies-card {
    padding: 1.5rem;
  }
}

@media (max-width: 480px) {
  .cookies-section {
    padding-block: 40px;
  }

  .cookies-column {
    padding-inline: 16px;
  }

  .cookies-title {
    font-size: 1.625rem;
  }

  .cookies-heading {
    font-size: 1.375rem;
  }

  .cookies-contact-list li {
    align-items: flex-start;
  }

  .cookies-contact-icon {
    margin-top: 0.2em;
  }
}


/* Regulamin page styles */

.regulamin-page {
  display: block;
}

/* Shared inner column for all legal sections */
.regulamin-intro__inner,
.regulamin-section__inner,
.regulamin-final__inner {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.regulamin-intro__inner {
  gap: var(--space-3);
}

.regulamin-intro__inner .eyebrow {
  margin-block-end: 0;
}

.regulamin-intro__inner h1 {
  margin-block-end: 0;
}

.regulamin-intro__lead {
  margin-block-end: 0;
}

.regulamin-intro__date {
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.85;
}

.regulamin-intro__divider {
  width: 100%;
  height: 1px;
  background-color: var(--color-petrol-10);
  margin-block-start: var(--space-2);
}

.regulamin-section h2,
.regulamin-final h2 {
  margin-block-end: 0;
}

.regulamin-section h3,
.regulamin-final h3 {
  margin-block-end: 0;
  color: var(--color-petrol);
}

.regulamin-final h2,
.regulamin-final h3 {
  color: var(--color-sand-white);
}

.regulamin-section p,
.regulamin-final p {
  margin-block-end: 0;
}

.regulamin-section ul,
.regulamin-final ul {
  margin-block-end: 0;
}

.regulamin-definitions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: 0;
}

.regulamin-definitions__item {
  display: grid;
  grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: baseline;
  padding-block-end: var(--space-3);
  border-bottom: var(--border-hairline);
}

.regulamin-definitions__item:last-child {
  padding-block-end: 0;
  border-bottom: none;
}

.regulamin-definitions dt {
  font-weight: 600;
  color: var(--color-turquoise);
  min-width: 0;
}

.regulamin-definitions dd {
  margin: 0;
  min-width: 0;
}

.regulamin-section__highlight {
  border-inline-start: 3px solid var(--color-coral);
  padding-inline-start: var(--space-4);
  font-weight: 500;
  color: var(--color-petrol);
}

.regulamin-final__address {
  font-style: normal;
  line-height: var(--leading-body);
}

.regulamin-final a {
  color: var(--color-turquoise);
}

.regulamin-final a:hover {
  color: var(--color-mustard);
}

/* Tablet adjustments */
@media (max-width: 768px) {
  .regulamin-intro__inner,
  .regulamin-section__inner,
  .regulamin-final__inner {
    gap: var(--space-3);
  }

  .regulamin-definitions__item {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}

/* Mobile adjustments */
@media (max-width: 480px) {
  .regulamin-intro__inner,
  .regulamin-section__inner,
  .regulamin-final__inner {
    gap: var(--space-3);
  }

  .regulamin-intro__inner h1 {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  .regulamin-section h2,
  .regulamin-final h2 {
    font-size: 1.375rem;
  }

  .regulamin-section h3,
  .regulamin-final h3 {
    font-size: 1.125rem;
  }
}


/* Polityka Prywatności – page-owned styles */
.privacy-page {
    background-color: var(--color-sand-white);
}

.privacy-page__container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-padding);
    padding-block: var(--space-8);
}

.privacy-section {
    max-width: 760px;
    margin-inline: auto;
    margin-block-end: var(--space-8);
}

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

.privacy-section__title {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
    font-weight: var(--weight-h2);
    color: var(--color-petrol);
    margin-block-end: var(--space-4);
}

.privacy-intro__title {
    font-family: var(--font-heading);
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
    font-weight: var(--weight-h1);
    color: var(--color-petrol);
    margin-block-end: var(--space-4);
}

.privacy-intro__lead {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-petrol);
    margin-block-end: var(--space-4);
}

.privacy-intro__date {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-turquoise);
    margin-block-end: var(--space-4);
}

.privacy-intro__date strong {
    font-weight: 600;
}

.privacy-intro__contact {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-petrol);
    margin-block-end: 0;
}

.privacy-intro__contact a {
    color: var(--color-turquoise);
    text-decoration: underline;
    text-decoration-color: var(--color-coral);
    text-underline-offset: 0.2em;
}

.privacy-intro__contact a:hover {
    color: var(--color-turquoise-dark);
}

.privacy-scope__block,
.privacy-purposes__block,
.privacy-cookies__block,
.privacy-sharing__block {
    margin-block-end: var(--space-5);
}

.privacy-scope__block:last-child,
.privacy-purposes__block:last-child,
.privacy-cookies__block:last-child,
.privacy-sharing__block:last-child {
    margin-block-end: 0;
}

.privacy-scope__subtitle,
.privacy-purposes__subtitle,
.privacy-cookies__subtitle,
.privacy-sharing__subtitle {
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
    font-weight: var(--weight-h3);
    color: var(--color-petrol);
    margin-block-end: var(--space-3);
}

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

.privacy-list > li {
    position: relative;
    padding-inline-start: var(--space-5);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-petrol);
}

.privacy-list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: var(--color-turquoise);
}

.privacy-list--check > li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: auto;
    border-radius: 0;
    background-color: transparent;
    color: var(--color-turquoise);
    font-weight: 700;
    font-size: var(--text-body);
}

.privacy-contact__block {
    background-color: var(--color-sand-white);
    border: 1px solid var(--color-turquoise);
    border-radius: var(--radius-card);
    padding: var(--space-4);
}

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

.privacy-contact__block .privacy-list {
    gap: var(--space-2);
}

.privacy-contact__block .privacy-list > li {
    padding-inline-start: 0;
}

.privacy-contact__block .privacy-list > li::before {
    display: none;
}

.privacy-contact__block a {
    color: var(--color-turquoise);
    text-decoration: underline;
    text-decoration-color: var(--color-coral);
    text-underline-offset: 0.2em;
}

.privacy-contact__block a:hover {
    color: var(--color-turquoise-dark);
}

.privacy-retention p,
.privacy-security p,
.privacy-changes p {
    margin-block-end: var(--space-4);
}

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

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

    .privacy-intro__title {
        font-size: clamp(1.75rem, 6vw, 2rem);
    }

    .privacy-section__title {
        font-size: clamp(1.375rem, 5vw, 1.75rem);
    }

    .privacy-scope__subtitle,
    .privacy-purposes__subtitle,
    .privacy-cookies__subtitle,
    .privacy-sharing__subtitle {
        font-size: 1.25rem;
    }

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

@media (max-width: 480px) {
    .privacy-page__container {
        padding-block: var(--space-5);
    }

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

    .privacy-intro__title {
        font-size: 1.625rem;
    }

    .privacy-section__title {
        font-size: 1.375rem;
    }

    .privacy-list > li {
        padding-inline-start: var(--space-4);
    }

    .privacy-list--check > li {
        padding-inline-start: var(--space-5);
    }
}

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


/* Kontakt page-owned styles */

.kontakt-hero {
  background-color: var(--color-petrol);
  background-image: radial-gradient(circle at 20% 30%, rgba(245, 240, 232, 0.08) 0%, rgba(245, 240, 232, 0.02) 40%, transparent 70%),
    radial-gradient(circle at 80% 70%, rgba(27, 127, 142, 0.18) 0%, transparent 55%),
    linear-gradient(135deg, rgba(245, 240, 232, 0.04) 0%, rgba(245, 240, 232, 0) 50%, rgba(232, 93, 74, 0.08) 100%);
  padding-block: clamp(4rem, 10vw, 8rem) clamp(3rem, 7vw, 6rem);
  color: var(--color-sand-white);
}

.kontakt-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

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

.kontakt-hero__title {
  color: var(--color-sand-white);
  font-size: clamp(2.25rem, 5vw, 4rem);
  line-height: var(--leading-display);
  font-weight: var(--weight-display);
  max-width: 12ch;
  margin-block-end: 0;
}

.kontakt-hero__lead {
  max-width: 65ch;
  margin-inline: auto;
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.7;
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: 0;
}

.kontakt-contact {
  background-color: var(--color-sand-white);
}

.kontakt-contact__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
  margin-block-end: var(--space-7);
}

.kontakt-contact__header .eyebrow {
  margin-block-end: 0;
}

.kontakt-contact__title {
  max-width: 18ch;
  margin-block-end: 0;
}

.kontakt-contact__intro {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-petrol);
  opacity: 0.85;
}

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

.kontakt-contact-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
  min-width: 0;
  padding: var(--space-6) var(--space-4);
}

.kontakt-contact-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: rgba(27, 127, 142, 0.1);
  color: var(--color-turquoise);
  flex-shrink: 0;
}

.kontakt-contact-card__title {
  margin-block-end: 0;
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
}

.kontakt-contact-card__text {
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.85;
}

.kontakt-contact-card__link {
  font-weight: 600;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-turquoise);
  overflow-wrap: anywhere;
}

.kontakt-contact-card__address {
  font-weight: 600;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  overflow-wrap: anywhere;
}

.kontakt-form-section {
  background-color: var(--color-white);
}

.kontakt-form-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  text-align: center;
  margin-block-end: var(--space-6);
}

.kontakt-form-section__header .eyebrow {
  margin-block-end: 0;
}

.kontakt-form-section__title {
  margin-block-end: 0;
}

.kontakt-form-section__intro {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-petrol);
  opacity: 0.85;
}

.kontakt-form-card {
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-6);
}

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

.kontakt-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

.kontakt-form__field label {
  margin-block-end: 0;
}

.kontakt-form__field input,
.kontakt-form__field textarea {
  width: 100%;
}

.kontakt-form__error {
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-coral);
}

.kontakt-form__submit {
  width: 100%;
  min-height: 48px;
}

.kontakt-form__success {
  margin-block-end: 0;
  padding: var(--space-3);
  background-color: rgba(27, 127, 142, 0.1);
  border: 1px solid rgba(27, 127, 142, 0.3);
  border-radius: var(--radius-button);
  color: var(--color-turquoise-dark);
  font-weight: 600;
  text-align: center;
  animation: kontakt-fade-in 300ms ease;
}

@keyframes kontakt-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.kontakt-atmosphere {
  background-color: var(--color-sand-white);
}

.kontakt-atmosphere__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: var(--space-6);
}

.kontakt-atmosphere__header .eyebrow {
  margin-block-end: 0;
}

.kontakt-atmosphere__title {
  max-width: 22ch;
  margin-block-end: 0;
}

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

.kontakt-atmosphere__column {
  min-width: 0;
}

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

.kontakt-atmosphere__column p {
  margin-block-end: 0;
}

.kontakt-cta {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
  padding-block: clamp(4rem, 8vw, 7rem);
}

.kontakt-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

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

.kontakt-cta__text {
  max-width: 600px;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.9;
}

.kontakt-cta__button {
  min-width: 200px;
}

.kontakt-location {
  background-color: var(--color-white);
}

.kontakt-location__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: var(--space-6);
}

.kontakt-location__header .eyebrow {
  margin-block-end: 0;
}

.kontakt-location__title {
  max-width: 24ch;
  margin-block-end: 0;
}

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

.kontakt-location__column {
  min-width: 0;
}

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

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

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

.kontakt-faq {
  background-color: var(--color-sand-white);
}

.kontakt-faq__container {
  max-width: 800px;
}

.kontakt-faq__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-end: var(--space-6);
  text-align: center;
  align-items: center;
}

.kontakt-faq__header .eyebrow {
  margin-block-end: 0;
}

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

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

.kontakt-faq__item {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-5);
}

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

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

.kontakt-final {
  background-color: var(--color-turquoise);
  color: var(--color-sand-white);
  padding-block: clamp(4rem, 8vw, 7rem);
}

.kontakt-final__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
}

.kontakt-final__title {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.kontakt-final__text {
  max-width: 600px;
  margin-inline: auto;
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.95;
}

.kontakt-final__link {
  color: var(--color-sand-white);
  text-decoration: underline;
  text-decoration-color: var(--color-mustard);
  text-underline-offset: 0.2em;
}

.kontakt-final__link:hover {
  color: var(--color-mustard);
}

.kontakt-final__button {
  min-width: 200px;
}

@media (max-width: 900px) {
  .kontakt-contact__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .kontakt-atmosphere__grid,
  .kontakt-location__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
}

@media (max-width: 768px) {
  .kontakt-hero {
    padding-block: 3rem 2.5rem;
  }

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

  .kontakt-hero__title {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  .kontakt-hero__lead {
    font-size: 1.0625rem;
  }

  .kontakt-contact__header,
  .kontakt-form-section__header,
  .kontakt-faq__header {
    margin-block-end: var(--space-5);
  }

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

  .kontakt-contact-card:last-child {
    grid-column: auto;
  }

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

  .kontakt-atmosphere__header,
  .kontakt-location__header {
    margin-block-end: var(--space-5);
  }

  .kontakt-cta,
  .kontakt-final {
    padding-block: 3rem;
  }

  .kontakt-cta__inner,
  .kontakt-final__inner {
    gap: var(--space-4);
  }

  .kontakt-cta__button,
  .kontakt-final__button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .kontakt-hero {
    padding-block: 2.5rem 2rem;
  }

  .kontakt-hero__title {
    font-size: 1.625rem;
  }

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

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

  .kontakt-faq__item {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kontakt-form__success {
    animation: none;
  }
}


/* Blackjack page styles */

.blackjack-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("/src/media/blackjack-hero.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.blackjack-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.45), rgba(15, 59, 76, 0.75));
  z-index: 1;
}

.blackjack-hero__content {
  position: relative;
  z-index: 2;
  max-width: 700px;
  margin-inline: auto;
  padding-inline: var(--container-padding);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.blackjack-hero__title {
  font-size: var(--text-display);
  line-height: var(--leading-display);
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.blackjack-hero__lead {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.7;
  color: var(--color-sand-white);
  opacity: 0.92;
  margin-block-end: 0;
}

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

/* Introduction */
.blackjack-intro {
  padding-block: var(--section-gap);
}

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

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

.blackjack-intro__text h2 {
  margin-block-end: var(--space-4);
}

.blackjack-intro__text p {
  margin-block-end: var(--space-4);
}

.blackjack-intro__text p:last-child {
  margin-block-end: 0;
}

.blackjack-intro__benefits {
  min-width: 0;
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
}

.blackjack-intro__benefits h3 {
  margin-block-end: var(--space-4);
}

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

.blackjack-intro__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
}

.blackjack-intro__icon {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(27, 127, 142, 0.12);
  color: var(--color-turquoise);
  font-size: 1rem;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.blackjack-intro__item:hover .blackjack-intro__icon {
  background-color: var(--color-turquoise);
  color: var(--color-white);
}

/* Rules */
.blackjack-rules {
  padding-block: var(--section-gap);
}

.blackjack-rules__container {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.blackjack-rules__container h2 {
  color: var(--color-sand-white);
  margin-block-end: var(--space-4);
}

.blackjack-rules__lead {
  max-width: 80%;
  margin-inline: auto;
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: var(--space-6);
}

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

.blackjack-rules__step {
  min-width: 0;
  text-align: left;
  background-color: rgba(245, 240, 232, 0.06);
  border-color: rgba(245, 240, 232, 0.15);
  color: var(--color-sand-white);
  padding: var(--space-4);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.blackjack-rules__step:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.blackjack-rules__step h3 {
  color: var(--color-turquoise);
  margin-block-end: var(--space-3);
}

.blackjack-rules__step p {
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.9;
}

.blackjack-rules__table-wrap {
  overflow-x: auto;
  }

.blackjack-rules__table {
  width: 100%;
  min-width: 420px;
  margin-block-end: 0;
  color: var(--color-sand-white);
}

.blackjack-rules__table caption {
  color: var(--color-sand-white);
  opacity: 0.8;
}

.blackjack-rules__table th,
.blackjack-rules__table td {
  border-bottom-color: rgba(245, 240, 232, 0.15);
  color: var(--color-sand-white);
}

.blackjack-rules__table th {
  background-color: rgba(245, 240, 232, 0.06);
}

/* Atmosphere */
.blackjack-atmosphere {
  padding-block: var(--section-gap);
}

.blackjack-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}

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

.blackjack-atmosphere__text h2 {
  margin-block-end: var(--space-4);
}

.blackjack-atmosphere__text p {
  margin-block-end: var(--space-4);
}

.blackjack-atmosphere__text blockquote {
  margin-block-end: var(--space-4);
}

.blackjack-atmosphere__figure {
  min-width: 0;
  margin: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.blackjack-atmosphere__image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform var(--transition-slow);
}

.blackjack-atmosphere__figure:hover .blackjack-atmosphere__image {
  transform: scale(1.03);
}

.blackjack-atmosphere__figure figcaption {
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-white);
  color: var(--color-petrol);
  opacity: 0.75;
}

/* Experience */
.blackjack-experience {
  padding-block: var(--section-gap);
}

.blackjack-experience__grid {
  display: grid;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
  gap: var(--space-8);
  align-items: center;
}

.blackjack-experience__text {
  min-width: 0;
}

.blackjack-experience__text h2 {
  color: var(--color-sand-white);
  margin-block-end: var(--space-4);
}

.blackjack-experience__text p {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: var(--space-4);
}

.blackjack-experience__text p:last-child {
  margin-block-end: 0;
}

.blackjack-experience__figure {
  min-width: 0;
  margin: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.blackjack-experience__image {
  width: 100%;
  height: auto;
  display: block;
}

.blackjack-experience__figure figcaption {
  padding: var(--space-2) var(--space-3);
  background-color: var(--color-petrol-light);
  color: var(--color-sand-white);
  opacity: 0.8;
}

/* Tips */
.blackjack-tips {
  padding-block: var(--section-gap);
}

.blackjack-tips__container {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.blackjack-tips__container h2 {
  margin-block-end: var(--space-4);
}

.blackjack-tips__lead {
  max-width: 80%;
  margin-inline: auto;
  margin-block-end: var(--space-6);
}

.blackjack-tips__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  text-align: left;
}

.blackjack-tips__item {
  min-width: 0;
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-4);
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  counter-increment: tip-counter;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.blackjack-tips__item::before {
  content: counter(tip-counter);
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--color-turquoise);
  color: var(--color-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

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

.blackjack-tips__list {
  counter-reset: tip-counter;
}

/* Reservation */
.blackjack-reservation {
  padding-block: var(--section-gap);
}

.blackjack-reservation__container {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.blackjack-reservation__container h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.blackjack-reservation__lead {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: 0;
}

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

.blackjack-reservation__address {
  color: var(--color-sand-white);
  opacity: 0.8;
  margin-block-end: 0;
  font-size: var(--text-small);
}

/* FAQ */
.blackjack-faq {
  padding-block: var(--section-gap);
}

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

.blackjack-faq__container h2 {
  margin-block-end: var(--space-6);
}

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

.blackjack-faq__item {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.blackjack-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: var(--weight-h3);
  line-height: var(--leading-h3);
  color: var(--color-petrol);
  background-color: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: color var(--transition-fast);
}

.blackjack-faq__trigger:hover {
  color: var(--color-turquoise);
}

.blackjack-faq__trigger[aria-expanded="true"] {
  color: var(--color-turquoise);
}

.blackjack-faq__icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
  display: inline-block;
}

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

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

.blackjack-faq__trigger[aria-expanded="true"] .blackjack-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.blackjack-faq__panel {
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-petrol);
}

.blackjack-faq__panel p {
  margin-block-end: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .blackjack-intro__grid,
  .blackjack-atmosphere__grid,
  .blackjack-experience__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

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

  .blackjack-tips__list {
    grid-template-columns: 1fr;
  }

  .blackjack-rules__lead,
  .blackjack-tips__lead {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .blackjack-hero {
    min-height: 50vh;
  }

  .blackjack-hero__content {
    gap: var(--space-4);
  }

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

  .blackjack-hero__lead {
    font-size: 1.0625rem;
  }

  .blackjack-hero__cta {
    width: 100%;
    max-width: 320px;
  }

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

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

  .blackjack-faq__trigger {
    font-size: 1.25rem;
    padding: var(--space-3);
  }

  .blackjack-faq__panel {
    padding: 0 var(--space-3) var(--space-3);
  }
}

@media (max-width: 480px) {
  .blackjack-hero {
    min-height: 60vh;
  }

  .blackjack-hero__content {
    padding-inline: var(--container-padding);
  }

  .blackjack-rules__table {
    min-width: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blackjack-hero {
    background-attachment: scroll;
  }
}


/* Casino Lounge page-owned styles */

.casino-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-petrol);
}

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

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

.casino-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.35), rgba(15, 59, 76, 0.75));
  pointer-events: none;
}

.casino-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
  padding-block: var(--space-8);
  width: 100%;
  max-width: 700px;
  margin-inline: auto;
}

.casino-hero__title {
  color: var(--color-sand-white);
  font-size: clamp(2.25rem, 6vw, 4rem);
  line-height: 1.1;
  margin-block-end: 0;
}

.casino-hero__lead {
  color: var(--color-sand-white);
  opacity: 0.9;
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.7;
  margin-block-end: 0;
}

.casino-hero__content .btn {
  margin-block-start: var(--space-2);
}

.casino-intro {
  padding-block: var(--section-gap);
}

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

.casino-intro__copy,
.casino-intro__benefits {
  min-width: 0;
}

.casino-intro__copy h2 {
  margin-block-end: var(--space-4);
}

.casino-intro__copy p {
  margin-block-end: var(--space-4);
}

.casino-benefit-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-end: 0;
}

.casino-benefit-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-4);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.casino-benefit-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: var(--color-petrol-10);
  color: var(--color-turquoise);
  font-size: 1.5rem;
  line-height: 1;
  transition: transform var(--transition-fast);
}

.casino-benefit-item:hover .casino-benefit-icon {
  transform: scale(1.1);
}

.casino-benefit-item h3 {
  font-size: var(--text-h3);
  margin-block-end: var(--space-1);
}

.casino-benefit-item p {
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.casino-atmosphere {
  padding-block: var(--section-gap);
}

.casino-atmosphere__copy {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-6);
}

.casino-atmosphere__copy h2 {
  margin-block-end: var(--space-4);
}

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

.casino-atmosphere__gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  max-width: 900px;
  margin-inline: auto;
}

.casino-gallery-item {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

.casino-gallery-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.casino-gallery-item:hover img {
  transform: scale(1.03);
}

.casino-gallery-item figcaption {
  padding: var(--space-3);
  text-align: center;
  background-color: var(--color-white);
}

.casino-game {
  padding-block: var(--section-gap);
}

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

.casino-game__grid--reversed .casino-game__copy {
  order: 2;
}

.casino-game__grid--reversed .casino-game__media {
  order: 1;
}

.casino-game__copy,
.casino-game__media {
  min-width: 0;
}

.casino-game__copy h2 {
  margin-block-end: var(--space-4);
}

.casino-game__copy p {
  margin-block-end: var(--space-4);
}

.casino-game__copy .content-list {
  margin-block-end: 0;
}

.casino-game__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

.casino-game__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.casino-game__media:hover img {
  transform: scale(1.03);
}

.casino-game__media figcaption {
  padding: var(--space-3);
  text-align: center;
  background-color: var(--color-white);
}

.casino-social {
  padding-block: var(--section-gap);
}

.casino-social__content {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
}

.casino-social__content h2 {
  margin-block-end: var(--space-4);
}

.casino-social__content p {
  margin-block-end: var(--space-5);
}

.casino-social__quote {
  max-width: 600px;
  margin-inline: auto;
  margin-block: var(--space-5) 0;
  border-inline-start-color: var(--color-coral);
  text-align: start;
}

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

.casino-social__quote cite {
  font-style: normal;
  font-size: var(--text-small);
  color: var(--color-sand-white);
  opacity: 0.8;
}

.casino-safety {
  padding-block: var(--section-gap);
}

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

.casino-safety__copy,
.casino-safety__certificates {
  min-width: 0;
}

.casino-safety__copy h2 {
  margin-block-end: var(--space-4);
}

.casino-safety__copy p {
  margin-block-end: 0;
}

.casino-certificate-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-block-end: 0;
}

.casino-certificate-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  background-color: var(--color-sand-white);
  border-radius: var(--radius-card);
  padding: var(--space-4);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.casino-certificate-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--color-turquoise);
  color: var(--color-white);
  font-weight: 700;
  transition: transform var(--transition-fast);
}

.casino-certificate-item:hover .casino-certificate-icon {
  transform: scale(1.1);
}

.casino-certificate-item h3 {
  font-size: var(--text-h3);
  margin-block-end: var(--space-1);
}

.casino-certificate-item p {
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.casino-reservation {
  padding-block: var(--section-gap);
}

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

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

.casino-reservation__content p {
  margin-block-end: 0;
}

.casino-reservation__contact {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  opacity: 0.9;
}

.casino-reservation__contact a {
  color: var(--color-mustard);
}

.casino-reservation__contact a:hover {
  color: var(--color-mustard-dark);
}

@media (max-width: 900px) {
  .casino-intro__grid,
  .casino-game__grid,
  .casino-safety__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .casino-game__grid--reversed .casino-game__copy {
    order: 1;
  }

  .casino-game__grid--reversed .casino-game__media {
    order: 2;
  }

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

@media (max-width: 600px) {
  .casino-hero {
    min-height: 100svh;
  }

  .casino-hero__title {
    font-size: clamp(1.75rem, 8vw, 2.5rem);
  }

  .casino-hero__lead {
    font-size: 1rem;
  }

  .casino-atmosphere__copy,
  .casino-social__content,
  .casino-reservation__content {
    text-align: start;
  }

  .casino-social__quote {
    text-align: start;
  }
}


/* Ruletka page styles */

.ruletka-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-petrol);
}

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

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

.ruletka-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.2), rgba(15, 59, 76, 0.75));
  z-index: 1;
}

.ruletka-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-7) var(--container-padding);
  text-align: center;
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
}

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

.ruletka-hero h1 {
  color: var(--color-sand-white);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.2;
  margin-block-end: 0;
}

.ruletka-hero__lead {
  color: var(--color-sand-white);
  opacity: 0.9;
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.7;
  margin-block-end: 0;
}

.ruletka-hero__cta {
  flex-shrink: 0;
}

/* Atmosfera */
.ruletka-atmosfera__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

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

.ruletka-atmosfera__text h2 {
  margin-block-end: 0;
}

.ruletka-atmosfera__text p {
  margin-block-end: 0;
}

.ruletka-atmosfera__list {
  margin-block-end: 0;
}

.ruletka-atmosfera__media {
  min-width: 0;
}

.ruletka-atmosfera__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-card);
  display: block;
  transition: transform var(--transition-base);
}

.ruletka-atmosfera__media img:hover {
  transform: scale(1.02);
}

/* Zasady */
.ruletka-zasady__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

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

.ruletka-zasady__card h3 {
  margin-block-end: 0;
}

.ruletka-zasady__card p {
  margin-block-end: 0;
}

.ruletka-zasady__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-petrol);
  flex-shrink: 0;
}

/* Stół */
.ruletka-stol__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
  text-align: center;
}

.ruletka-stol h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.ruletka-stol__text {
  max-width: 700px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.ruletka-stol__text p {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: 0;
}

.ruletka-stol__list {
  text-align: left;
  margin-block-end: 0;
  color: var(--color-sand-white);
}

.ruletka-stol__list li {
  color: var(--color-sand-white);
}

.ruletka-stol__media {
  width: 100%;
  max-width: 1000px;
}

.ruletka-stol__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-card);
  display: block;
}

/* Wieczór */
.ruletka-wieczor__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

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

.ruletka-wieczor__card h3 {
  margin-block-end: 0;
}

.ruletka-wieczor__card p {
  margin-block-end: 0;
}

.ruletka-wieczor__step {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--color-coral);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: var(--text-body);
  flex-shrink: 0;
}

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

.ruletka-opinie__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  text-align: center;
  padding: var(--card-padding);
}

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

.ruletka-opinie__card cite {
  font-style: normal;
  font-weight: 600;
  color: var(--color-petrol);
}

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

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

.ruletka-faq__item {
  border: var(--border-hairline);
  border-radius: var(--radius-card);
  background-color: var(--color-white);
  overflow: hidden;
}

.ruletka-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-4);
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-body);
  font-weight: 600;
  color: var(--color-petrol);
  background: none;
  cursor: pointer;
}

.ruletka-faq__question:hover {
  color: var(--color-turquoise);
}

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

.ruletka-faq__icon::before,
.ruletka-faq__icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform var(--transition-base);
}

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

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

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

.ruletka-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.ruletka-faq__answer p {
  padding: 0 var(--space-4) var(--space-4);
  margin-block-end: 0;
}

/* Rezerwacja */
.ruletka-rezerwacja__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  text-align: center;
  max-width: 600px;
  margin-inline: auto;
}

.ruletka-rezerwacja h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.ruletka-rezerwacja__lead {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: 0;
}

.ruletka-rezerwacja__lead a {
  color: var(--color-turquoise);
}

.ruletka-rezerwacja__lead a:hover {
  color: var(--color-mustard);
}

.ruletka-rezerwacja__cta {
  flex-shrink: 0;
}

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

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

  .ruletka-atmosfera__media img {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 768px) {
  .ruletka-hero {
    min-height: 70vh;
  }

  .ruletka-hero__content {
    padding: var(--space-6) var(--container-padding);
    gap: var(--space-4);
  }

  .ruletka-hero h1 {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  .ruletka-hero__lead {
    font-size: 1.0625rem;
  }

  .ruletka-zasady__grid,
  .ruletka-wieczor__grid,
  .ruletka-opinie__grid {
    grid-template-columns: 1fr;
  }

  .ruletka-stol__inner {
    gap: var(--space-5);
  }

  .ruletka-stol__media img {
    aspect-ratio: 4 / 3;
  }

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

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

@media (max-width: 480px) {
  .ruletka-hero__cta,
  .ruletka-rezerwacja__cta {
    width: 100%;
  }

  .ruletka-atmosfera__media img {
    aspect-ratio: 4 / 3;
  }
}


/* ===== HOME PAGE STYLES ===== */

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

.home-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to right, rgba(15, 59, 76, 0.88) 0%, rgba(15, 59, 76, 0.55) 55%, rgba(15, 59, 76, 0.25) 100%),
    linear-gradient(to bottom, rgba(15, 59, 76, 0.35) 0%, rgba(15, 59, 76, 0.15) 40%, rgba(15, 59, 76, 0.65) 100%);
}

.home-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  padding-block: var(--space-8);
}

.home-hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-items: flex-start;
}

.home-hero__title {
  font-size: clamp(2.25rem, 5.5vw, 4rem);
  line-height: 1.1;
  font-weight: 700;
  color: var(--color-sand-white);
  margin-block-end: 0;
  text-wrap: balance;
}

.home-hero__lead {
  font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
  line-height: 1.7;
  color: var(--color-sand-white);
  opacity: 0.92;
  margin-block-end: 0;
}

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

.home-hero__actions .btn {
  flex-shrink: 0;
  min-width: 0;
}

.home-hero__ticker {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-sand-white);
  opacity: 0.7;
  margin-block-start: var(--space-4);
  margin-block-end: 0;
  max-width: 700px;
}

/* ---------- CONCEPT ---------- */
.home-concept__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.home-concept__intro {
  grid-column: span 5;
  min-width: 0;
}

.home-concept__intro p {
  margin-block-end: 0;
}

.home-concept__features {
  grid-column: span 3;
  min-width: 0;
}

.home-concept__features h3 {
  margin-block-end: var(--space-4);
}

.home-concept__features .content-list {
  margin-block-end: 0;
}

.home-concept__features .content-list > li {
  max-width: 32ch;
}

.home-concept__quote {
  grid-column: span 4;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-5);
}

.home-concept__quote blockquote {
  margin: 0;
  font-size: clamp(1.375rem, 2.2vw, 1.75rem);
  line-height: 1.4;
  color: var(--color-petrol);
  border-inline-start: none;
  padding-inline-start: 0;
  max-width: 28ch;
  text-wrap: balance;
}

/* ---------- CUISINE ---------- */
.home-cuisine__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.home-cuisine__header .lead {
  max-width: 70ch;
  margin-block-end: 0;
}

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

.home-cuisine-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.home-cuisine-card__media {
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  overflow: hidden;
}

.home-cuisine-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.home-cuisine-card:hover .home-cuisine-card__media img {
  transform: scale(1.04);
}

.home-cuisine-card__body {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

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

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

/* ---------- LOUNGE ---------- */
.home-lounge {
  position: relative;
  overflow: hidden;
}

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

.home-lounge__content {
  grid-column: span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.home-lounge__content h2 {
  margin-block-end: 0;
}

.home-lounge__content p {
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.9;
}

.home-lounge__content .content-list {
  margin-block-end: 0;
}

.home-lounge__content .content-list > li {
  color: var(--color-sand-white);
  max-width: 62ch;
}

.home-lounge__cta {
  margin-block-start: var(--space-3);
  display: flex;
  justify-content: flex-start;
}

.home-lounge__media {
  grid-column: span 5;
  min-width: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.home-lounge__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 10;
  display: block;
}

/* ---------- GAMES ---------- */
.home-games__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.home-games__header .lead {
  max-width: 70ch;
  margin-block-end: 0;
}

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

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

.home-game-card__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-petrol);
  margin-block-end: var(--space-2);
}

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

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

/* ---------- EVENTS ---------- */
.home-events__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.home-events__intro {
  grid-column: span 6;
  min-width: 0;
}

.home-events__intro p {
  margin-block-end: 0;
}

.home-events__list {
  grid-column: span 6;
  min-width: 0;
}

.home-events__list h3 {
  margin-block-end: var(--space-4);
}

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

.home-event-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  min-width: 0;
}

.home-event-item__date {
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-mustard-dark);
  flex-shrink: 0;
}

.home-event-item__name {
  font-weight: 500;
  color: var(--color-petrol);
  min-width: 0;
}

.home-events__list .text-small {
  margin-block-end: 0;
  opacity: 0.75;
}

/* ---------- TESTIMONIALS ---------- */
.home-testimonials__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

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

.home-testimonial-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  text-align: center;
  padding: var(--space-5);
}

.home-testimonial-card blockquote {
  margin: 0;
  font-size: var(--text-h3);
  line-height: 1.5;
  color: var(--color-petrol);
  border-inline-start: none;
  padding-inline-start: 0;
  max-width: 42ch;
  margin-inline: auto;
}

.home-testimonial-card figcaption {
  font-size: var(--text-small);
  font-weight: 600;
  color: var(--color-turquoise);
  opacity: 1;
  margin-block-start: 0;
}

/* ---------- RESERVATION ---------- */
.home-reservation__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

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

.home-reservation__content p {
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.92;
  }

.home-reservation__phone {
  font-weight: 600;
}

.home-reservation__phone a {
  color: var(--color-mustard);
}

.home-reservation__phone a:hover {
  color: var(--color-sand-white);
}

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

/* ---------- LOCATION ---------- */
.home-location__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.home-location__info {
  grid-column: span 5;
  min-width: 0;
}

.home-location__info p {
  margin-block-end: var(--space-4);
}

.home-location__info address {
  font-style: normal;
  font-weight: 600;
  color: var(--color-petrol);
}

.home-location__map {
  grid-column: span 7;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  aspect-ratio: 16 / 10;
}

.home-location__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---------- FINAL CTA ---------- */
.home-final-cta__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.home-final-cta__content h2 {
  margin-block-end: 0;
}

.home-final-cta__content p {
  margin-block-end: 0;
  }

.home-final-cta__actions {
  margin-block-start: var(--space-2);
}

/* ===== RESPONSIVE ===== */

@media (max-width: 1024px) {
  .home-cuisine__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-lounge__grid {
    gap: var(--space-5);
  }

  .home-lounge__content {
    grid-column: span 7;
  }

  .home-lounge__media {
    grid-column: span 5;
  }
}

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

  .home-concept__intro,
  .home-concept__features,
  .home-concept__quote {
    grid-column: 1 / -1;
  }

  .home-concept__quote {
    justify-content: flex-start;
    text-align: start;
    padding: 0;
  }

  .home-concept__quote blockquote {
    margin-inline: 0;
    max-width: 42ch;
  }

  .home-lounge__grid {
    grid-template-columns: 1fr;
  }

  .home-lounge__content,
  .home-lounge__media {
    grid-column: 1 / -1;
  }

  .home-lounge__media {
    aspect-ratio: 16 / 9;
  }

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

  .home-events__intro,
  .home-events__list {
    grid-column: 1 / -1;
  }

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

  .home-location__info,
  .home-location__map {
    grid-column: 1 / -1;
  }

  .home-location__map {
    aspect-ratio: 16 / 9;
  }
}

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

  .home-hero__content {
    justify-content: center;
    padding-block: var(--space-6);
  }

  .home-hero__text {
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

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

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

  .home-hero__actions {
    justify-content: center;
    width: 100%;
  }

  .home-hero__ticker {
    max-width: 100%;
    text-align: center;
  }

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

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

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

  .home-testimonial-card blockquote {
    max-width: 100%;
  }

  .home-event-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }
}

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

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

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

  .home-hero__title {
    font-size: clamp(1.875rem, 8vw, 2.5rem);
  }

  .home-hero__lead {
    font-size: 1.0625rem;
  }

  .home-lounge__cta,
  .home-reservation__cta,
  .home-final-cta__actions {
    width: 100%;
  }

  .home-lounge__cta .btn,
  .home-reservation__cta .btn,
  .home-final-cta__actions .btn {
    width: 100%;
  }

  .home-cuisine-card__body {
    padding: var(--space-3);
  }

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

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

  .home-location__map {
    aspect-ratio: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-cuisine-card__media img {
    transition: none;
  }

  .home-cuisine-card:hover .home-cuisine-card__media img {
    transform: none;
  }
}


/* Wieczory page styles */

.wieczory-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-petrol);
}

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

.wieczory-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.35), rgba(15, 59, 76, 0.75));
  z-index: 1;
}

.wieczory-hero__content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin-inline: auto;
  padding: var(--space-4);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.wieczory-hero__content h1 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.wieczory-hero__lead {
  color: var(--color-sand-white);
  opacity: 0.92;
  margin-block-end: 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.7;
}

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

.wieczory-koncepcja__grid {
  display: grid;
  grid-template-columns: 65fr 35fr;
  gap: var(--space-6);
  align-items: start;
}

.wieczory-koncepcja__text {
  min-width: 0;
}

.wieczory-koncepcja__text h2 {
  margin-block-end: var(--space-4);
}

.wieczory-koncepcja__text p {
  margin-block-end: var(--space-4);
}

.wieczory-koncepcja__benefits {
  min-width: 0;
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--space-5);
}

.wieczory-koncepcja__benefits h3 {
  margin-block-end: var(--space-4);
}

.wieczory-koncepcja__list {
  margin-block-end: 0;
}

.wieczory-przebieg__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.wieczory-przebieg__header h2 {
  margin-block-end: var(--space-3);
}

.wieczory-przebieg__header .lead {
  margin-block-end: 0;
}

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

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

.wieczory-step__number {
  font-family: var(--font-heading);
  font-size: var(--text-h2);
  font-weight: var(--weight-h1);
  color: var(--color-coral);
  line-height: 1;
}

.wieczory-step h3 {
  margin-block-end: 0;
}

.wieczory-step p {
  margin-block-end: 0;
}

.wieczory-gry__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.wieczory-gry__header h2 {
  color: var(--color-sand-white);
  margin-block-end: var(--space-3);
}

.wieczory-gry__header .lead {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: 0;
}

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

.wieczory-game {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

.wieczory-game__media {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}

.wieczory-game__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wieczory-game__body {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.wieczory-game__body h3 {
  margin-block-end: 0;
}

.wieczory-game__body p {
  margin-block-end: 0;
}

.wieczory-tematy__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.wieczory-tematy__header h2 {
  margin-block-end: var(--space-3);
}

.wieczory-tematy__header .lead {
  margin-block-end: 0;
}

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

.wieczory-theme {
  min-width: 0;
  border-radius: var(--radius-card);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.wieczory-theme--turquoise {
  background-color: var(--color-turquoise);
  color: var(--color-sand-white);
}

.wieczory-theme--coral {
  background-color: var(--color-coral);
  color: var(--color-sand-white);
}

.wieczory-theme--petrol {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
}

.wieczory-theme h3 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.wieczory-theme p {
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.92;
}

.wieczory-theme__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-sand-white);
}

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

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

.wieczory-atmosfera__text h2 {
  margin-block-end: var(--space-4);
}

.wieczory-atmosfera__text p {
  margin-block-end: var(--space-4);
}

.wieczory-atmosfera__media {
  min-width: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.wieczory-atmosfera__image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.wieczory-rezerwacja__header {
  max-width: 800px;
  margin-block-end: var(--space-6);
}

.wieczory-rezerwacja__header h2 {
  margin-block-end: var(--space-3);
}

.wieczory-rezerwacja__header .lead {
  margin-block-end: 0;
}

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

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

.wieczory-info__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-turquoise);
}

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

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

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

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

.wieczory-kontakt__container h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.wieczory-kontakt__text {
  color: var(--color-sand-white);
  opacity: 0.92;
  margin-block-end: 0;
}

.wieczory-kontakt__details {
  color: var(--color-sand-white);
  opacity: 0.85;
  margin-block-end: 0;
}

.wieczory-kontakt__details a {
  color: var(--color-turquoise);
}

.wieczory-kontakt__details a:hover {
  color: var(--color-mustard);
}

.wieczory-kontakt__cta {
  margin-block-start: var(--space-2);
}

@media (max-width: 1024px) {
  .wieczory-koncepcja__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

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

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

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

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

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

@media (max-width: 768px) {
  .wieczory-hero {
    min-height: 80vh;
  }

  .wieczory-hero__content {
    padding: var(--space-3);
    gap: var(--space-3);
  }

  .wieczory-hero__content h1 {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  .wieczory-hero__lead {
    font-size: 1rem;
  }

  .wieczory-hero__cta {
    width: 100%;
  }

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

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

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

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

  .wieczory-kontakt__container {
    gap: var(--space-3);
  }

  .wieczory-kontakt__cta {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .wieczory-hero__content h1 {
    font-size: 1.625rem;
  }

  .wieczory-step {
    padding: var(--space-4);
  }

  .wieczory-game__body {
    padding: var(--space-4);
  }

  .wieczory-theme {
    padding: var(--space-5);
  }

  .wieczory-info {
    padding: var(--space-4);
  }
}


/* Menu page styles */

.menu-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-petrol);
}

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

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

.menu-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.35), rgba(15, 59, 76, 0.75));
}

.menu-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: flex;
  justify-content: center;
}

.menu-hero__inner {
  max-width: 600px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.menu-hero__inner h1 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.menu-hero__lead {
  color: var(--color-sand-white);
  opacity: 0.92;
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.7;
  margin-block-end: 0;
}

.menu-intro {
  padding-block: var(--section-gap);
}

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

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

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



.menu-intro__accent {
  color: var(--color-coral);
  font-weight: 500;
}

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

.menu-intro__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.menu-category {
  padding-block: var(--section-gap);
}

.menu-category__header {
  max-width: 720px;
  margin-block-end: var(--space-6);
}

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

.menu-category__intro {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  opacity: 0.85;
  margin-block-end: 0;
}

.menu-category__grid {
  display: grid;
  gap: var(--space-5);
}

.menu-category__grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.menu-category__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.menu-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.menu-card__media {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.menu-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--transition-base);
}

.menu-card:hover .menu-card__media img {
  transform: scale(1.03);
}

.menu-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--card-padding);
}

.menu-card__title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.menu-card__title-row h3 {
  margin-block-end: 0;
  min-width: 0;
}

.menu-card__price {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  font-weight: var(--weight-h2);
  color: var(--color-coral);
  white-space: nowrap;
}

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

.menu-card__ingredients {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.75;
}

.menu-cocktails {
  padding-block: var(--section-gap);
}

.menu-cocktails__header {
  max-width: 720px;
  margin-block-end: var(--space-6);
}

.menu-cocktails__header h2 {
  color: var(--color-sand-white);
  margin-block-end: var(--space-3);
}

.menu-cocktails__intro {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: 0;
}

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

.menu-card--petrol {
  background-color: rgba(245, 240, 232, 0.06);
  border: 1px solid rgba(245, 240, 232, 0.12);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.menu-card--petrol:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.menu-card--petrol .menu-card__title-row h3 {
  color: var(--color-sand-white);
}

.menu-card--petrol .menu-card__price {
  color: var(--color-coral);
}

.menu-card--petrol .menu-card__body p {
  color: var(--color-sand-white);
  opacity: 0.9;
}

.menu-card--petrol .menu-card__ingredients {
  color: var(--color-sand-white);
  opacity: 0.7;
}

.menu-fresh {
  padding-block: var(--section-gap);
}

.menu-fresh__header {
  max-width: 720px;
  margin-block-end: var(--space-6);
}

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

.menu-fresh__intro {
  color: var(--color-petrol);
  opacity: 0.85;
  margin-block-end: 0;
}

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

.menu-fresh__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

.menu-fresh__icon {
  width: 48px;
  height: 48px;
  color: var(--color-turquoise);
  flex-shrink: 0;
}

.menu-fresh__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.menu-fresh__item h3 {
  margin-block-end: 0;
}

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

.menu-chef {
  padding-block: var(--section-gap);
}

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

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

.menu-chef__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

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

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

.menu-chef__copy h3 {
  margin-block-end: var(--space-3);
  color: var(--color-turquoise);
}



.menu-chef__quote {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  font-style: italic;
  color: var(--color-petrol);
  border-inline-start: 3px solid var(--color-coral);
  padding-inline-start: var(--space-4);
  margin-block-start: var(--space-4);
}

.menu-casino {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.menu-casino__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.menu-casino__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.menu-casino__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.55), rgba(15, 59, 76, 0.85));
}

.menu-casino__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  display: flex;
  justify-content: center;
}

.menu-casino__inner {
  max-width: 600px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.menu-casino__inner h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.menu-casino__inner p {
  color: var(--color-sand-white);
  opacity: 0.92;
  margin-block-end: 0;
}

.menu-reservation {
  padding-block: var(--section-gap);
}

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

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

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

.menu-reservation__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  text-align: start;
}

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

.menu-reservation__field label {
  margin-block-end: 0;
}

.menu-reservation__message {
  min-height: 1.5em;
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-turquoise);
}

.menu-reservation__message--error {
  color: var(--color-coral);
}

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



  .menu-intro__media,
  .menu-chef__media {
    max-width: 480px;
  }

  .menu-category__grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-category__grid--three .menu-card:last-child {
    grid-column: 1 / -1;
    max-width: 480px;
    width: 100%;
    justify-self: center;
  }

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

  .menu-fresh__item:last-child {
    grid-column: 1 / -1;
    max-width: 480px;
    width: 100%;
    justify-self: center;
  }
}

@media (max-width: 768px) {
  .menu-hero {
    min-height: 60vh;
  }

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

  .menu-category__grid--three,
  .menu-category__grid--two,
  .menu-cocktails__grid,
  .menu-fresh__grid {
    grid-template-columns: 1fr;
  }

  .menu-category__grid--three .menu-card:last-child,
  .menu-fresh__item:last-child {
    grid-column: auto;
    max-width: none;
    justify-self: auto;
  }

  .menu-casino {
    min-height: 50vh;
  }

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

@media (max-width: 480px) {
  .menu-hero {
    min-height: 55vh;
  }

  .menu-hero__inner h1 {
    font-size: 1.875rem;
  }

  .menu-hero__lead {
    font-size: 1.0625rem;
  }

  .menu-category__header,
  .menu-cocktails__header,
  .menu-fresh__header {
    margin-block-end: var(--space-5);
  }

  .menu-card__title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

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

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


/* Poker page - scoped styles */
.poker-page {
  overflow-x: hidden;
}

/* Hero */
.poker-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: flex-end;
  padding-block: var(--space-8) var(--space-7);
  overflow: hidden;
}

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

.poker-hero__background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.poker-hero__background::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 59, 76, 0.35), rgba(15, 59, 76, 0.85));
}

.poker-hero__container {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.poker-hero__content {
  max-width: 600px;
  margin-inline: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.poker-hero__title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.15;
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.poker-hero__lead {
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.7;
  color: var(--color-sand-white);
  opacity: 0.92;
  margin-block-end: 0;
}

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

.poker-hero__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-sand-white);
  opacity: 0.85;
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

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

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

/* Intro */
.poker-intro__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: start;
}

.poker-intro__text,
.poker-intro__benefits {
  min-width: 0;
}

.poker-intro__text h2,
.poker-intro__benefits h3 {
  margin-block-end: var(--space-4);
}

.poker-intro__text p,
.poker-intro__benefits p {
  margin-block-end: var(--space-4);
}

.poker-intro__benefits {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
}

.poker-intro__benefits ul {
  margin-block-end: 0;
}

/* Tables */
.poker-tables__heading {
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.poker-table-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.poker-table-card__media {
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  overflow: hidden;
}

.poker-table-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.poker-table-card:hover .poker-table-card__media img {
  transform: scale(1.03);
}

.poker-table-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--card-padding);
}

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

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

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

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

.poker-atmosphere__text,
.poker-atmosphere__media {
  min-width: 0;
}

.poker-atmosphere__text h2 {
  color: var(--color-sand-white);
  margin-block-end: var(--space-4);
}

.poker-atmosphere__text p {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: var(--space-4);
}

.poker-atmosphere__text ul {
  margin-block-end: 0;
}

.poker-atmosphere__text ul li {
  color: var(--color-sand-white);
  opacity: 0.9;
}

.poker-atmosphere__media {
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.poker-atmosphere__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  display: block;
}

/* Rules */
.poker-rules__container h2 {
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.poker-rules__column {
  min-width: 0;
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
}

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

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

.poker-rules__column ul {
  margin-block-end: 0;
}

/* Testimonials */
.poker-testimonials__heading {
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.poker-testimonial {
  min-width: 0;
  margin: 0;
  padding: var(--card-padding);
  background-color: var(--color-sand-white);
  border-radius: var(--radius-card);
  border-inline-start: 3px solid var(--color-turquoise);
}

.poker-testimonial p {
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  line-height: var(--leading-h3);
  color: var(--color-petrol);
  margin-block-end: var(--space-3);
}

.poker-testimonial footer {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.75;
}

.poker-testimonial footer span {
  display: block;
  font-weight: 600;
  color: var(--color-turquoise);
}

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

.poker-reservation__form-wrapper,
.poker-reservation__contact {
  min-width: 0;
}

.poker-reservation__form-wrapper {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
}

.poker-reservation__form-wrapper h2 {
  color: var(--color-petrol);
  margin-block-end: var(--space-3);
}

.poker-reservation__form-wrapper > p {
  color: var(--color-petrol);
  margin-block-end: var(--space-5);
}

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

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

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

.poker-reservation__field--full {
  grid-column: 1 / -1;
}

.poker-reservation__field label {
  margin-block-end: var(--space-2);
}

.poker-reservation__message {
  min-height: 1.5em;
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-turquoise-dark);
}

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

.poker-reservation__contact {
  background-color: rgba(245, 240, 232, 0.08);
  border: 1px solid rgba(245, 240, 232, 0.2);
  border-radius: var(--radius-card);
  padding: var(--card-padding);
  color: var(--color-sand-white);
}

.poker-reservation__contact h3 {
  color: var(--color-sand-white);
  margin-block-end: var(--space-3);
}

.poker-reservation__contact p {
  color: var(--color-sand-white);
  opacity: 0.9;
  margin-block-end: var(--space-4);
}

.poker-reservation__contact ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-end: var(--space-4);
}

.poker-reservation__contact a {
  color: var(--color-turquoise);
}

.poker-reservation__contact a:hover {
  color: var(--color-mustard);
}

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

.poker-faq__container h2 {
  text-align: center;
  margin-block-end: var(--space-6);
}

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

.poker-faq__item {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.poker-faq__item h3 {
  margin-block-end: 0;
}

.poker-faq__question {
  display: block;
  width: 100%;
  text-align: left;
  padding: var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: var(--weight-h3);
  color: var(--color-petrol);
  background: none;
  border: none;
  cursor: pointer;
  transition: color var(--transition-fast);
}

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

.poker-faq__question::after {
  content: "+";
  float: right;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-coral);
  transition: transform var(--transition-base);
}

.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-block-end: 0;
  color: #333;
}

/* Tablet */
@media (max-width: 1024px) {
  .poker-tables__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .poker-tables__grid .poker-table-card:last-child {
    grid-column: 1 / -1;
  }

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

  .poker-atmosphere__media img {
    aspect-ratio: 16 / 9;
  }

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

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

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

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

  .poker-tables__grid {
    grid-template-columns: 1fr;
  }

  .poker-tables__grid .poker-table-card:last-child {
    grid-column: auto;
  }

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

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

  .poker-reservation__form-grid {
    grid-template-columns: 1fr;
  }

  .poker-reservation__field--full {
    grid-column: auto;
  }
}

@media (max-width: 480px) {
  .poker-hero {
    min-height: 80vh;
  }

  .poker-hero__title {
    font-size: 1.75rem;
  }

  .poker-hero__lead {
    font-size: 1rem;
  }

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

@media (prefers-reduced-motion: reduce) {
  .poker-table-card__media img {
    transition: none;
  }
}


/* ===== Restauracja page styles ===== */

.rest-hero {
  background-color: var(--color-sand-white);
  padding-block: var(--space-8) var(--space-7);
}

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

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

.rest-hero__eyebrow {
  margin-block-end: 0;
}

.rest-hero__title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: var(--leading-h1);
  margin-block-end: 0;
  max-width: 20ch;
}

.rest-hero__lead {
  max-width: 600px;
  margin-block-end: 0;
}

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

.rest-hero__media {
  min-width: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.rest-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  transition: transform var(--transition-slow);
}

.rest-hero__media:hover .rest-hero__image {
  transform: scale(1.03);
}

/* Filozofia kulinarna */
.rest-philosophy {
  background-color: var(--color-sand-white);
}

.rest-philosophy__heading {
  margin-block-end: var(--space-6);
}

.rest-philosophy__heading .eyebrow {
  margin-block-end: var(--space-2);
}

.rest-philosophy__heading h2 {
  margin-block-end: 0;
}

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

.rest-philosophy__card {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.rest-philosophy__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: rgba(27, 127, 142, 0.1);
  color: var(--color-turquoise);
  flex-shrink: 0;
}

.rest-philosophy__card h3 {
  margin-block-end: 0;
}

.rest-philosophy__card p {
  margin-block-end: 0;
}

/* Dania sygnaturowe */
.rest-signature {
  background-color: var(--color-white);
}

.rest-signature__heading {
  margin-block-end: var(--space-6);
}

.rest-signature__heading .eyebrow {
  margin-block-end: var(--space-2);
}

.rest-signature__heading h2 {
  margin-block-end: 0;
}

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

.rest-signature__card {
  background-color: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.rest-signature__media {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}

.rest-signature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.rest-signature__card:hover .rest-signature__media img {
  transform: scale(1.04);
}

.rest-signature__body {
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.rest-signature__body h3 {
  margin-block-end: 0;
}

.rest-signature__body p {
  margin-block-end: 0;
}

/* Koktajle i bar */
.rest-cocktails {
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
}

.rest-cocktails__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-6);
  align-items: start;
}

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

.rest-cocktails__intro .eyebrow {
  margin-block-end: 0;
}

.rest-cocktails__intro h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.rest-cocktails__intro .lead {
  color: var(--color-sand-white);
  opacity: 0.9;
  max-width: 600px;
  margin-block-end: 0;
}

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

.rest-cocktails__item {
  background-color: rgba(245, 240, 232, 0.06);
  border: 1px solid rgba(245, 240, 232, 0.15);
  border-radius: var(--radius-card);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.rest-cocktails__item:hover {
  border-color: var(--color-coral);
  background-color: rgba(245, 240, 232, 0.1);
}

.rest-cocktails__item h3 {
  color: var(--color-sand-white);
  margin-block-end: 0;
  font-size: 1.25rem;
}

.rest-cocktails__item p {
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.85;
}

/* Wnętrza i atmosfera */
.rest-interiors {
  background-color: var(--color-sand-white);
}

.rest-interiors__heading {
  margin-block-end: var(--space-6);
}

.rest-interiors__heading .eyebrow {
  margin-block-end: var(--space-2);
}

.rest-interiors__heading h2 {
  margin-block-end: var(--space-4);
}

.rest-interiors__lead {
  max-width: 700px;
  margin-block-end: 0;
}

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

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

.rest-interiors__link {
  display: block;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.rest-interiors__link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  transition: transform var(--transition-slow);
}

.rest-interiors__link:hover img {
  transform: scale(1.03);
}

.rest-interiors__figure figcaption {
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.75;
  margin-block-start: 0;
}

/* Wieczory kasynowe */
.rest-evening {
  position: relative;
  background-color: var(--color-petrol);
  color: var(--color-sand-white);
  overflow: hidden;
  padding-block: var(--space-8);
}

.rest-evening__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.rest-evening__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
  filter: saturate(0.8);
}

.rest-evening__inner {
  position: relative;
  z-index: 1;
}

.rest-evening__content {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.rest-evening__content .eyebrow {
  margin-block-end: 0;
}

.rest-evening__content h2 {
  color: var(--color-sand-white);
  margin-block-end: 0;
}

.rest-evening__content p {
  margin-block-end: 0;
  color: var(--color-sand-white);
  opacity: 0.9;
}

/* Opinie gości */
.rest-reviews {
  background-color: var(--color-white);
}

.rest-reviews__heading {
  margin-block-end: var(--space-6);
}

.rest-reviews__heading .eyebrow {
  margin-block-end: var(--space-2);
}

.rest-reviews__heading h2 {
  margin-block-end: 0;
}

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

.rest-reviews__card {
  background-color: var(--color-sand-white);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

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

.rest-reviews__stars {
  color: var(--color-mustard);
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1;
}

.rest-reviews__card blockquote {
  margin: 0;
  padding: 0;
  border: none;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-petrol);
  font-weight: 400;
}

.rest-reviews__author {
  margin-block-end: 0;
  font-size: var(--text-small);
  line-height: var(--leading-small);
  color: var(--color-petrol);
  opacity: 0.75;
}

/* Rezerwacja stolika */
.rest-reservation {
  background-color: var(--color-sand-white);
}

.rest-reservation__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
  max-width: 800px;
}

.rest-reservation__inner .eyebrow {
  margin-block-end: 0;
}

.rest-reservation__inner h2 {
  margin-block-end: 0;
}

.rest-reservation__lead {
  max-width: 600px;
  margin-block-end: 0;
}

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

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

  .rest-hero__media {
    max-width: 600px;
    width: 100%;
  }

  .rest-philosophy__grid,
  .rest-signature__grid,
  .rest-reviews__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

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

  .rest-interiors__figure:last-child {
    grid-column: span 2;
  }
}

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

  .rest-hero__title {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

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

  .rest-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .rest-philosophy__grid,
  .rest-signature__grid,
  .rest-reviews__grid,
  .rest-cocktails__list,
  .rest-interiors__gallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .rest-interiors__figure:last-child {
    grid-column: auto;
  }

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

  .rest-evening__content {
    max-width: 100%;
  }

  .rest-reservation__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .rest-reservation__actions .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .rest-hero__lead,
  .rest-interiors__lead,
  .rest-reservation__lead,
  .rest-cocktails__intro .lead {
    max-width: 100%;
  }

  .rest-philosophy__card,
  .rest-signature__body,
  .rest-reviews__card,
  .rest-cocktails__item {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rest-hero__image,
  .rest-signature__media img,
  .rest-interiors__link img {
    transition: none;
  }

  .rest-evening__bg {
    background-attachment: scroll;
  }
}


.thank-you {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 200px);
  padding-block: var(--space-7);
}

.thank-you__container {
  width: 100%;
}

.thank-you__content {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  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;
  justify-content: center;
  gap: var(--space-3);
  margin-block-start: var(--space-2);
}

@media (max-width: 768px) {
  .thank-you {
    min-height: calc(100vh - 160px);
    padding-block: var(--space-5);
  }

  .thank-you__content {
    gap: var(--space-3);
  }

  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .btn {
    width: 100%;
  }
}