

:root {
  --color-pearl-white: #F8F6F2;
  --color-mediterranean-azure: #1B7A9E;
  --color-olive-green: #5A6B4A;
  --color-terracotta-red: #C4552D;
  --color-champagne-sand: #E8DCC8;
  --color-ink-navy: #1F2A33;
  --color-white: #FFFFFF;
  --color-border-subtle: #E0D8C8;
  --color-shadow-soft: rgba(0, 0, 0, 0.04);
  --color-shadow-hover: rgba(0, 0, 0, 0.08);
  --font-heading: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --text-display-size: clamp(2.75rem, 5vw + 1rem, 4rem);
  --text-display-leading: 1.1;
  --text-display-weight: 700;
  --text-h1-size: clamp(2.25rem, 4vw + 0.75rem, 3rem);
  --text-h1-leading: 1.2;
  --text-h1-weight: 700;
  --text-h2-size: clamp(1.75rem, 3vw + 0.5rem, 2.25rem);
  --text-h2-leading: 1.3;
  --text-h2-weight: 600;
  --text-h3-size: clamp(1.375rem, 2vw + 0.375rem, 1.75rem);
  --text-h3-leading: 1.4;
  --text-h3-weight: 600;
  --text-h4-size: 1.25rem;
  --text-h4-leading: 1.5;
  --text-h4-weight: 600;
  --text-body-large-size: 1.125rem;
  --text-body-large-leading: 1.6;
  --text-body-large-weight: 400;
  --text-body-size: 1rem;
  --text-body-leading: 1.6;
  --text-body-weight: 400;
  --text-small-size: 0.875rem;
  --text-small-leading: 1.5;
  --text-small-weight: 400;
  --text-caption-size: 0.75rem;
  --text-caption-leading: 1.4;
  --text-caption-weight: 400;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --container-max: 75rem;
  --container-gutter: clamp(1rem, 4vw, 2rem);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --shadow-card: 0 2px 8px var(--color-shadow-soft);
  --shadow-card-hover: 0 4px 16px var(--color-shadow-hover);
  --transition-fast: 150ms ease-in-out;
  --focus-ring: 0 0 0 2px var(--color-pearl-white), 0 0 0 4px var(--color-mediterranean-azure);
  color-scheme: light;
}

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

* {
  margin: 0;
  padding: 0;
}

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

body {
  min-height: 100vh;
  min-width: 320px;
  background-color: var(--color-pearl-white);
  color: var(--color-ink-navy);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: var(--text-body-weight);
  line-height: var(--text-body-leading);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: var(--text-h1-weight);
  line-height: var(--text-h1-leading);
  color: var(--color-ink-navy);
  overflow-wrap: break-word;
  text-wrap: balance;
}

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

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

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

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

h5 {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: 600;
  margin-block-end: var(--space-sm);
}

h6 {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  font-weight: 600;
  margin-block-end: var(--space-sm);
}

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

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

a {
  color: var(--color-mediterranean-azure);
  text-decoration: none;
  transition: color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

a:hover {
  color: var(--color-terracotta-red);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}

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

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

.content-list > li + li,
.content-list blockquote {
  margin-block-end: var(--space-md);
  padding-inline-start: var(--space-lg);
  border-inline-start: 3px solid var(--color-champagne-sand);
  font-family: var(--font-heading);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-navy);
  font-style: italic;
}

blockquote:last-child {
  margin-block-end: 0;
}

blockquote p {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-style: inherit;
  margin-block-end: var(--space-sm);
}

blockquote p:last-child {
  margin-block-end: 0;
}

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

figure:last-child {
  margin-block-end: 0;
}

figcaption {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  color: var(--color-olive-green);
  margin-block-start: var(--space-xs);
}

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

img {
  border-radius: var(--radius-md);
}

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

table:last-child {
  margin-block-end: 0;
}

caption {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  text-align: start;
  margin-block-end: var(--space-sm);
  color: var(--color-olive-green);
}

th,
td {
  padding: var(--space-sm) var(--space-md);
  border-block-end: 1px solid var(--color-border-subtle);
  text-align: start;
  vertical-align: top;
}

th {
  font-weight: 600;
  color: var(--color-ink-navy);
  background-color: var(--color-champagne-sand);
}

code,
pre,
kbd,
samp {
  font-family: var(--font-mono);
  font-size: 0.9em;
}

pre {
  background-color: var(--color-ink-navy);
  color: var(--color-pearl-white);
  padding: var(--space-md);
  border-radius: var(--radius-md);
  overflow-x: auto;
  margin-block-end: var(--space-md);
}

pre:last-child {
  margin-block-end: 0;
}

code {
  background-color: var(--color-champagne-sand);
  color: var(--color-ink-navy);
  padding: 0.125em 0.375em;
  border-radius: var(--radius-sm);
}

pre code {
  background-color: transparent;
  color: inherit;
  padding: 0;
  border-radius: 0;
}

hr {
  border: none;
  border-block-start: 1px solid var(--color-border-subtle);
  margin-block: var(--space-xl);
}

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

button {
  background: none;
  border: none;
  cursor: pointer;
  text-align: center;
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

button:active {
  transform: scale(0.98);
}

input,
select,
textarea {
  background-color: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  padding: var(--space-sm) var(--space-md);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-mediterranean-azure);
  box-shadow: 0 0 0 1px var(--color-mediterranean-azure);
  outline: none;
}

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

label {
  display: block;
  font-size: var(--text-small-size);
  font-weight: 600;
  margin-block-end: var(--space-xs);
  color: var(--color-ink-navy);
}

fieldset {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  margin-block-end: var(--space-md);
}

fieldset:last-child {
  margin-block-end: 0;
}

legend {
  font-weight: 600;
  padding-inline: var(--space-sm);
  color: var(--color-ink-navy);
}

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

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

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

.section--spacious {
  padding-block: var(--space-3xl);
}

.surface-card {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.surface-card:hover {
  box-shadow: var(--shadow-card-hover);
}

.surface-panel {
  background-color: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
}

.surface-sand {
  background-color: var(--color-champagne-sand);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
}

.surface-dark {
  background-color: var(--color-ink-navy);
  color: var(--color-pearl-white);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
}

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

.surface-dark a {
  color: var(--color-champagne-sand);
}

.surface-dark a:hover {
  color: var(--color-white);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  text-decoration: none;
  min-width: 44px;
  min-height: 44px;
  transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

.btn:active {
  transform: scale(0.98);
}

.btn--primary {
  background-color: var(--color-mediterranean-azure);
  color: var(--color-white);
}

.btn--primary:hover {
  background-color: #166A8A;
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(27, 122, 158, 0.3);
}

.btn--secondary {
  background-color: var(--color-olive-green);
  color: var(--color-white);
}

.btn--secondary:hover {
  background-color: #4A5A3E;
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(90, 107, 74, 0.3);
}

.btn--cta {
  background-color: var(--color-terracotta-red);
  color: var(--color-white);
}

.btn--cta:hover {
  background-color: #A84826;
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(196, 85, 45, 0.3);
}

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

.btn--outline:hover {
  background-color: var(--color-mediterranean-azure);
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(27, 122, 158, 0.2);
}

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

.btn--outline-olive:hover {
  background-color: var(--color-olive-green);
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(90, 107, 74, 0.2);
}

.btn--ghost {
  background-color: transparent;
  color: var(--color-mediterranean-azure);
}

.btn--ghost:hover {
  background-color: rgba(27, 122, 158, 0.08);
  color: var(--color-mediterranean-azure);
}

.btn--small {
  padding: var(--space-xs) var(--space-md);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  min-height: 36px;
}

.btn--large {
  padding: var(--space-md) var(--space-xl);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  min-height: 52px;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  background-color: var(--color-champagne-sand);
  color: var(--color-ink-navy);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill);
  white-space: nowrap;
}

.tag--azure {
  background-color: var(--color-mediterranean-azure);
  color: var(--color-white);
}

.tag--olive {
  background-color: var(--color-olive-green);
  color: var(--color-white);
}

.tag--terracotta {
  background-color: var(--color-terracotta-red);
  color: var(--color-white);
}

.tag--outline {
  background-color: transparent;
  border: 1px solid var(--color-border-subtle);
  color: var(--color-ink-navy);
}

.departures-label {
  font-family: var(--font-mono);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-mediterranean-azure);
}

.eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-olive-green);
  margin-block-end: var(--space-sm);
}

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

.lead-text {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: var(--text-body-large-weight);
  color: var(--color-ink-navy);
  margin-block-end: var(--space-md);
}

.lead-text:last-child {
  margin-block-end: 0;
}

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

.caption-text {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: var(--text-caption-weight);
  color: var(--color-olive-green);
}

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

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

.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-md);
  z-index: 1000;
  background-color: var(--color-mediterranean-azure);
  color: var(--color-white);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-sm);
  font-weight: 600;
  transition: top var(--transition-fast);
}

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

.flex-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-md);
  align-items: center;
  min-width: 0;
}

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

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

.flex-row--align-start {
  align-items: flex-start;
}

.flex-row--align-end {
  align-items: flex-end;
}

.flex-row--align-stretch {
  align-items: stretch;
}

.flex-row--justify-start {
  justify-content: flex-start;
}

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

.flex-row--justify-end {
  justify-content: flex-end;
}

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

.flex-row--justify-around {
  justify-content: space-around;
}

.flex-row--justify-evenly {
  justify-content: space-evenly;
}

.flex-row--gap-xs {
  gap: var(--space-xs);
}

.flex-row--gap-sm {
  gap: var(--space-sm);
}

.flex-row--gap-lg {
  gap: var(--space-lg);
}

.flex-row--gap-xl {
  gap: var(--space-xl);
}

.flex-row--gap-2xl {
  gap: var(--space-2xl);
}

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

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

.flex-column--gap-xs {
  gap: var(--space-xs);
}

.flex-column--gap-sm {
  gap: var(--space-sm);
}

.flex-column--gap-lg {
  gap: var(--space-lg);
}

.flex-column--gap-xl {
  gap: var(--space-xl);
}

.flex-column--gap-2xl {
  gap: var(--space-2xl);
}

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

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

.flex-column--align-end {
  align-items: flex-end;
}

.flex-column--align-stretch {
  align-items: stretch;
}

.flex-column--justify-start {
  justify-content: flex-start;
}

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

.flex-column--justify-end {
  justify-content: flex-end;
}

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

.flex-column--justify-around {
  justify-content: space-around;
}

.flex-column--justify-evenly {
  justify-content: space-evenly;
}

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

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

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

.flex-grow {
  flex-grow: 1;
}

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

.flex-shrink {
  flex-shrink: 1;
}

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

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

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

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

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

.grid-auto--gap-sm {
  gap: var(--space-sm);
}

.grid-auto--gap-md {
  gap: var(--space-md);
}

.grid-auto--gap-xl {
  gap: var(--space-xl);
}

.grid-auto--gap-2xl {
  gap: var(--space-2xl);
}

.grid-auto--min-12 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.grid-auto--min-20 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}

.grid-auto--min-24 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
}

.ratio-box {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-md);
  background-color: var(--color-champagne-sand);
}

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

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

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

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

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

.ratio-box > img,
.ratio-box > picture,
.ratio-box > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.overlay-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 42, 51, 0.75) 0%, rgba(31, 42, 51, 0.35) 40%, rgba(31, 42, 51, 0) 70%);
  border-radius: inherit;
  pointer-events: none;
}

.overlay-scrim--strong {
  background: linear-gradient(to top, rgba(31, 42, 51, 0.9) 0%, rgba(31, 42, 51, 0.5) 50%, rgba(31, 42, 51, 0.1) 75%);
}

.overlay-scrim--subtle {
  background: linear-gradient(to top, rgba(31, 42, 51, 0.5) 0%, rgba(31, 42, 51, 0.15) 50%, rgba(31, 42, 51, 0) 70%);
}

.overlay-content {
  position: absolute;
  inset: auto 0 0 0;
  padding: var(--space-lg);
  color: var(--color-white);
  z-index: 1;
}

.overlay-content h1,
.overlay-content h2,
.overlay-content h3,
.overlay-content h4,
.overlay-content h5,
.overlay-content h6 {
  color: var(--color-white);
}

.overlay-content p {
  color: var(--color-white);
}

.overlay-content a {
  color: var(--color-champagne-sand);
}

.overlay-content a:hover {
  color: var(--color-white);
}

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

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

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

.text-uppercase {
  text-transform: uppercase;
}

.text-nowrap {
  white-space: nowrap;
}

.text-break {
  overflow-wrap: break-word;
  word-break: break-word;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mt-0 { margin-block-start: 0; }
.mt-xs { margin-block-start: var(--space-xs); }
.mt-sm { margin-block-start: var(--space-sm); }
.mt-md { margin-block-start: var(--space-md); }
.mt-lg { margin-block-start: var(--space-lg); }
.mt-xl { margin-block-start: var(--space-xl); }
.mt-2xl { margin-block-start: var(--space-2xl); }
.mt-3xl { margin-block-start: var(--space-3xl); }
.mt-4xl { margin-block-start: var(--space-4xl); }

.mb-0 { margin-block-end: 0; }
.mb-xs { margin-block-end: var(--space-xs); }
.mb-sm { margin-block-end: var(--space-sm); }
.mb-md { margin-block-end: var(--space-md); }
.mb-lg { margin-block-end: var(--space-lg); }
.mb-xl { margin-block-end: var(--space-xl); }
.mb-2xl { margin-block-end: var(--space-2xl); }
.mb-3xl { margin-block-end: var(--space-3xl); }
.mb-4xl { margin-block-end: var(--space-4xl); }

.p-0 { padding: 0; }
.p-xs { padding: var(--space-xs); }
.p-sm { padding: var(--space-sm); }
.p-md { padding: var(--space-md); }
.p-lg { padding: var(--space-lg); }
.p-xl { padding: var(--space-xl); }
.p-2xl { padding: var(--space-2xl); }
.p-3xl { padding: var(--space-3xl); }
.p-4xl { padding: var(--space-4xl); }

@media (max-width: 768px) {
  :root {
    --space-2xl: 2rem;
    --space-3xl: 2.5rem;
    --space-4xl: 3.5rem;
  }

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

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

  .section--spacious {
    padding-block: var(--space-2xl);
  }

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

  .surface-panel {
    padding: var(--space-lg);
  }

  .surface-sand {
    padding: var(--space-md);
  }

  .surface-dark {
    padding: var(--space-md);
  }

  .flex-row {
    gap: var(--space-sm);
  }

  .flex-row--gap-lg {
    gap: var(--space-md);
  }

  .flex-row--gap-xl {
    gap: var(--space-lg);
  }

  .flex-row--gap-2xl {
    gap: var(--space-xl);
  }

  .flex-column {
    gap: var(--space-sm);
  }

  .flex-column--gap-lg {
    gap: var(--space-md);
  }

  .flex-column--gap-xl {
    gap: var(--space-lg);
  }

  .flex-column--gap-2xl {
    gap: var(--space-xl);
  }

  .grid-auto {
    gap: var(--space-md);
  }

  .grid-auto--gap-xl {
    gap: var(--space-lg);
  }

  .grid-auto--gap-2xl {
    gap: var(--space-xl);
  }

  .overlay-content {
    padding: var(--space-md);
  }
}

@media (max-width: 480px) {
  :root {
    --space-lg: 1.25rem;
    --space-xl: 1.5rem;
    --space-2xl: 1.75rem;
    --space-3xl: 2rem;
    --space-4xl: 2.5rem;
  }

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

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

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

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

  .surface-panel {
    padding: var(--space-md);
  }

  .surface-sand {
    padding: var(--space-sm);
  }

  .surface-dark {
    padding: var(--space-sm);
  }

  .btn {
    padding: var(--space-xs) var(--space-md);
    min-height: 40px;
  }

  .btn--large {
    padding: var(--space-sm) var(--space-lg);
    min-height: 44px;
  }

  .overlay-content {
    padding: var(--space-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
}


.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-pearl-white);
  border-bottom: 1px solid var(--color-border-subtle);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding-block: var(--space-sm);
  gap: var(--space-md);
}

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

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

.site-header__logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 0;
  flex-shrink: 0;
}

.site-header__brand-text {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

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

.site-header__toggle:hover {
  background-color: var(--color-champagne-sand);
}

.site-header__toggle:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

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

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

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

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

.site-header__nav {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  flex-shrink: 1;
  min-width: 0;
}

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

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

.site-header__nav-link {
  display: inline-block;
  padding: var(--space-xs) 0;
  font-family: var(--font-body);
  font-size: var(--text-small-size);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-ink-navy);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
  border-bottom: 2px solid transparent;
}

.site-header__nav-link:hover {
  color: var(--color-mediterranean-azure);
  text-decoration: none;
  border-bottom-color: var(--color-mediterranean-azure);
}

.site-header__nav-link:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}

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

@media (max-width: 1024px) {
  .site-header__brand-text {
    font-size: 1.125rem;
  }

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

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

  .site-header__nav-link {
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
  }
}

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

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

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

  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background-color: var(--color-pearl-white);
    border-bottom: 1px solid var(--color-border-subtle);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
    padding: var(--space-md);
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    display: none;
  }

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

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

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

  .site-header__nav-link {
    display: block;
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-body-size);
    letter-spacing: 0.04em;
    border-bottom: none;
    border-radius: var(--radius-sm);
  }

  .site-header__nav-link:hover {
    background-color: var(--color-champagne-sand);
    border-bottom: none;
  }

  .site-header__cta {
    margin-top: var(--space-md);
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .site-header__brand-text {
    font-size: 0.875rem;
  }

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


.site-footer {
  background-color: var(--color-ink-navy);
  color: var(--color-pearl-white);
  padding-block: var(--space-2xl) var(--space-md);
  margin-top: var(--space-2xl);
}

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

.site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-sm);
}

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

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

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

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

.site-footer__tagline {
  font-family: var(--font-mono);
  font-size: var(--text-caption-size);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-champagne-sand);
  margin: 0;
}

.site-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm) var(--space-lg);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__nav-link {
  font-family: var(--font-body);
  font-size: var(--text-small-size);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-pearl-white);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__nav-link:hover {
  color: var(--color-mediterranean-azure);
  text-decoration: none;
}

.site-footer__nav-link:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}

.site-footer__quote {
  margin: 0;
  padding: 0;
  border: none;
  text-align: center;
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  line-height: 1.3;
  font-style: italic;
  color: var(--color-white);
}

.site-footer__quote p {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-style: inherit;
  color: inherit;
}

.site-footer__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  text-align: center;
}

.site-footer__contact-line {
  margin: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-pearl-white);
}

.site-footer__cta {
  align-self: center;
  margin-top: var(--space-sm);
}

.site-footer__legal {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  text-align: center;
}

.site-footer__legal-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm) var(--space-lg);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__legal-link {
  font-size: var(--text-small-size);
  color: var(--color-champagne-sand);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__legal-link:hover {
  color: var(--color-white);
  text-decoration: underline;
}

.site-footer__legal-link:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}

.site-footer__copyright {
  margin: 0;
  font-size: var(--text-caption-size);
  color: var(--color-champagne-sand);
}

.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--color-pearl-white);
  border-top: 1px solid var(--color-border-subtle);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
  padding: var(--space-md);
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

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

.consent-banner.is-hiding {
  opacity: 0;
  transform: translateY(100%);
  pointer-events: none;
}

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

.consent-banner__text {
  margin: 0;
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-ink-navy);
}

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

.consent-banner__text a:hover {
  color: var(--color-terracotta-red);
}

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

.consent-banner__button:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

@media (max-width: 768px) {
  .site-footer {
    padding-block: var(--space-xl) var(--space-md);
  }

  .site-footer__inner {
    gap: var(--space-lg);
  }

  .site-footer__brand-text {
    font-size: 1.25rem;
  }

  .site-footer__nav-list {
    gap: var(--space-sm) var(--space-md);
  }

  .site-footer__quote {
    font-size: 1.5rem;
  }

  .consent-banner__inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .consent-banner__actions {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .site-footer__brand-text {
    font-size: 1.125rem;
  }

  .site-footer__nav-list {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
  }

  .site-footer__legal-list {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
  }

  .consent-banner__actions {
    flex-direction: column;
    gap: var(--space-sm);
  }
}


.privacy-main {
  background-color: var(--color-pearl-white);
}

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

.privacy-section {
  padding-block: var(--space-2xl);
  background-color: var(--color-pearl-white);
}

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

.privacy-column {
  max-width: 720px;
  margin-inline: 0;
  text-align: left;
}

.privacy-lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: var(--text-body-large-weight);
  color: var(--color-ink-navy);
  margin-block-end: var(--space-md);
}

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

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

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

.privacy-note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-olive-green);
  margin-block-start: var(--space-sm);
}

.privacy-section a {
  color: var(--color-mediterranean-azure);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.privacy-section a:hover {
  color: var(--color-terracotta-red);
}

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

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

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

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

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

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

  .privacy-list li::before {
    width: 6px;
    height: 6px;
    top: 0.55em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-list li::before {
    transition: none;
  }
}


/* Page-owned styles for polityka-cookies */

/* Introduction */
.cookies-intro {
  background-color: var(--color-pearl-white);
}

.cookies-intro__container {
  max-width: 800px;
  margin-inline: auto;
  padding-block: var(--space-3xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

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

.cookies-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  background-color: var(--color-champagne-sand);
  padding: var(--space-lg);
  border-radius: var(--radius-md);
  margin-block-end: 0;
}

.cookies-intro__divider {
  width: 100%;
  height: 1px;
  background-color: var(--color-border-subtle);
  margin-block: var(--space-sm);
}

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

/* Definition */
.cookies-definition {
  background-color: var(--color-champagne-sand);
}

.cookies-definition__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

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

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

.cookies-definition__text {
  border-inline-start: 3px solid var(--color-mediterranean-azure);
  padding-inline-start: var(--space-lg);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: 0;
}

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

.cookies-definition__type {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  min-width: 0;
}

.cookies-definition__type-title {
  margin-block-end: var(--space-sm);
}

.cookies-definition__type-text {
  margin-block-end: 0;
}

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

.cookies-types__container {
  max-width: 1200px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

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

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

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

.cookies-types__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
}

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

.cookies-types__card-title {
  margin-block-end: 0;
}

.cookies-types__card-text {
  margin-block-end: 0;
}

/* Manage */
.cookies-manage {
  background-color: var(--color-champagne-sand);
}

.cookies-manage__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

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

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

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

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

.cookies-manage__browser {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  min-width: 0;
}

.cookies-manage__browser-title {
  margin-block-end: var(--space-sm);
}

.cookies-manage__browser-text {
  margin-block-end: 0;
}

.cookies-manage__consent {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  width: 100%;
  min-width: 0;
}

.cookies-manage__consent-title {
  margin-block-end: var(--space-sm);
}

.cookies-manage__consent-text {
  margin-block-end: 0;
}

/* Privacy */
.cookies-privacy {
  background-color: var(--color-pearl-white);
}

.cookies-privacy__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

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

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

.cookies-privacy__link {
  color: var(--color-olive-green);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.cookies-privacy__link:hover {
  color: var(--color-terracotta-red);
}

/* FAQ */
.cookies-faq {
  background-color: var(--color-champagne-sand);
}

.cookies-faq__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

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

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

.cookies-faq__accordion {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.cookies-faq__item {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  min-width: 0;
}

.cookies-faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-mediterranean-azure);
  text-align: left;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.cookies-faq__question:hover {
  background-color: rgba(27, 122, 158, 0.08);
}

.cookies-faq__question[aria-expanded="true"] {
  color: var(--color-terracotta-red);
}

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

.cookies-faq__icon {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  position: relative;
}

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

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

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

.cookies-faq__question[aria-expanded="true"] .cookies-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.cookies-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-fast);
}

.cookies-faq__answer-text {
  padding: var(--space-lg);
  margin-block-end: 0;
}

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

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

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

.cookies-contact__text {
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
}

.cookies-contact__button {
  margin-block-start: var(--space-sm);
}

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

@media (max-width: 768px) {
  .cookies-intro__container,
  .cookies-definition__container,
  .cookies-manage__container,
  .cookies-privacy__container,
  .cookies-faq__container,
  .cookies-contact__container {
    padding-block: var(--space-2xl);
  }

  .cookies-definition__types,
  .cookies-manage__browsers {
    grid-template-columns: 1fr;
  }

  .cookies-types__grid {
    grid-template-columns: 1fr;
  }

  .cookies-faq__question {
    padding: var(--space-md);
  }

  .cookies-faq__answer-text {
    padding: var(--space-md);
  }
}

@media (max-width: 480px) {
  .cookies-intro__container,
  .cookies-definition__container,
  .cookies-manage__container,
  .cookies-privacy__container,
  .cookies-faq__container,
  .cookies-contact__container {
    padding-block: var(--space-xl);
  }

  .cookies-intro__lead {
    padding: var(--space-md);
  }

  .cookies-definition__text {
    padding-inline-start: var(--space-md);
  }

  .cookies-definition__type,
  .cookies-manage__browser,
  .cookies-manage__consent {
    padding: var(--space-md);
  }

  .cookies-contact__button {
    width: 100%;
  }
}


.kontakt-page {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.kontakt-page > * {
  min-width: 0;
}

/* Hero */
.kontakt-hero {
  background-color: var(--color-pearl-white);
  padding-block: var(--space-3xl);
}

.kontakt-hero__inner {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  text-align: center;
}

.kontakt-hero__inner > * {
  min-width: 0;
}

.kontakt-hero__title {
  max-width: 17ch;
  margin-block-end: 0;
}

.kontakt-hero__accent {
  color: var(--color-terracotta-red);
}

.kontakt-hero__lead {
  max-width: 70ch;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: 0;
}

/* Postcard */
.kontakt-postcard-section {
  background-color: var(--color-champagne-sand);
  padding-block: var(--space-3xl);
}

.kontakt-postcard-section__inner {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  text-align: center;
}

.kontakt-postcard-section__inner > * {
  min-width: 0;
}

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

.kontakt-postcard {
  width: min(100%, 25rem);
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  position: relative;
  text-align: center;
}

.kontakt-postcard > * {
  min-width: 0;
}

.kontakt-postcard__stamp {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-mediterranean-azure);
  color: var(--color-white);
  font-family: var(--font-mono);
  font-size: var(--text-caption-size);
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: var(--radius-sm);
  transform: rotate(4deg);
}

.kontakt-postcard__label {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-olive-green);
  margin-block-end: 0;
}

.kontakt-postcard__link {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: 600;
  color: var(--color-mediterranean-azure);
  overflow-wrap: anywhere;
}

.kontakt-postcard__address {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-ink-navy);
  margin-block-end: 0;
}

.kontakt-postcard__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-ink-navy);
  margin-block-start: var(--space-md);
  margin-block-end: 0;
}

/* Form */
.kontakt-form-section {
  background-color: var(--color-pearl-white);
  padding-block: var(--space-3xl);
}

.kontakt-form-section__inner {
  max-width: 37.5rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-lg);
}

.kontakt-form-section__inner > * {
  min-width: 0;
}

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

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

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

.kontakt-form > * {
  min-width: 0;
}

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

.kontakt-form__optional {
  font-weight: 400;
  color: var(--color-olive-green);
  font-size: var(--text-caption-size);
  text-transform: none;
  letter-spacing: 0;
}

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

.kontakt-form__submit {
  align-self: flex-start;
  min-width: 12rem;
}

.kontakt-form__status {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  font-weight: 600;
  color: var(--color-olive-green);
  margin-block-end: 0;
}

.kontakt-form__status--error {
  color: var(--color-terracotta-red);
}

/* Topics */
.kontakt-topics-section {
  background-color: var(--color-champagne-sand);
  padding-block: var(--space-3xl);
}

.kontakt-topics-section__inner {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.kontakt-topics-section__inner > * {
  min-width: 0;
}

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

.kontakt-topics-section__intro {
  max-width: 70ch;
  margin-block-end: 0;
}

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

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

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

.kontakt-topics-list__item {
  position: relative;
  padding-inline-start: var(--space-lg);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-ink-navy);
}

.kontakt-topics-list__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--color-mediterranean-azure);
}

/* Tips */
.kontakt-tips-section {
  background-color: var(--color-pearl-white);
  padding-block: var(--space-3xl);
}

.kontakt-tips-section__inner {
  max-width: 50rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.kontakt-tips-section__inner > * {
  min-width: 0;
}

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

.kontakt-tips-section__intro {
  max-width: 70ch;
  margin-block-end: 0;
}

.kontakt-tips-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.kontakt-tips-list > * {
  min-width: 0;
}

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

.kontakt-tip > * {
  min-width: 0;
}

.kontakt-tip__title {
  color: var(--color-mediterranean-azure);
  margin-block-end: 0;
}

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

/* Summary */
.kontakt-summary-section {
  background-color: var(--color-mediterranean-azure);
  padding-block: var(--space-3xl);
}

.kontakt-summary-section__inner {
  max-width: 43.75rem;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  text-align: center;
}

.kontakt-summary-section__inner > * {
  min-width: 0;
}

.kontakt-summary-section__eyebrow {
  color: var(--color-champagne-sand);
}

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

.kontakt-summary-section__text {
  max-width: 60ch;
  color: var(--color-white);
  margin-block-end: 0;
}

.kontakt-summary-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}

.kontakt-summary-links > * {
  min-width: 0;
}

.kontakt-summary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xs) var(--space-md);
  border: 1px solid var(--color-champagne-sand);
  border-radius: var(--radius-pill);
  color: var(--color-champagne-sand);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  font-weight: 600;
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.kontakt-summary-link:hover {
  background-color: var(--color-champagne-sand);
  color: var(--color-mediterranean-azure);
  text-decoration: none;
}

.kontakt-summary-section__note {
  max-width: 60ch;
  color: var(--color-pearl-white);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  margin-block-end: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .kontakt-hero,
  .kontakt-postcard-section,
  .kontakt-form-section,
  .kontakt-topics-section,
  .kontakt-tips-section,
  .kontakt-summary-section {
    padding-block: var(--space-2xl);
  }

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

@media (max-width: 768px) {
  .kontakt-hero__title {
    max-width: 100%;
  }

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

  .kontakt-postcard {
    width: min(100%, 25rem);
    padding: var(--space-lg);
  }

  .kontakt-form-section__inner {
    max-width: 100%;
  }

  .kontakt-form__submit {
    align-self: stretch;
    width: 100%;
  }

  .kontakt-topics-section__intro,
  .kontakt-tips-section__intro {
    max-width: 100%;
  }

  .kontakt-summary-section__text,
  .kontakt-summary-section__note {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .kontakt-hero,
  .kontakt-postcard-section,
  .kontakt-form-section,
  .kontakt-topics-section,
  .kontakt-tips-section,
  .kontakt-summary-section {
    padding-block: var(--space-xl);
  }

  .kontakt-hero__inner,
  .kontakt-postcard-section__inner,
  .kontakt-form-section__inner,
  .kontakt-topics-section__inner,
  .kontakt-tips-section__inner,
  .kontakt-summary-section__inner {
    gap: var(--space-md);
  }

  .kontakt-postcard {
    width: 100%;
    padding: var(--space-md);
  }

  .kontakt-postcard__stamp {
    width: 2.5rem;
    height: 2.5rem;
    top: var(--space-sm);
    right: var(--space-sm);
  }

  .kontakt-summary-links {
    gap: var(--space-xs);
  }

  .kontakt-summary-link {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-caption-size);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kontakt-summary-link {
    transition: none;
  }
}


/* PortsideJourney - Home Page Styles */

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

.home-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  z-index: 0;
}

.home-hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(31, 42, 51, 0.55) 0%, rgba(31, 42, 51, 0.35) 40%, rgba(31, 42, 51, 0.85) 100%);
  z-index: 1;
}

.home-hero__container {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-block: var(--space-3xl) var(--space-2xl);
}

.home-hero__content {
  max-width: 600px;
  margin-inline: 0;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: flex-start;
  text-align: left;
}

.home-hero__labels {
  color: var(--color-champagne-sand);
  margin-block-end: var(--space-sm);
}

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

.home-hero__lead {
  color: var(--color-white);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: 0;
  max-width: 32rem;
}

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

/* Intro Section */
.home-intro {
  background-color: var(--color-pearl-white);
}

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

.home-intro__main {
  min-width: 0;
}

.home-intro__main .lead-text {
  max-width: 70%;
}

.home-intro__main p:not(.lead-text) {
  max-width: 70%;
}

.home-intro__casino {
  min-width: 0;
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

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

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

/* Topics Section */
.home-topics {
  background-color: var(--color-champagne-sand);
}

.home-topics__header {
  margin-block-end: var(--space-xl);
}

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

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

.home-topic-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-xl);
  background-color: var(--color-pearl-white);
  transition: box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
}

.home-topic-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
  border-color: var(--color-mediterranean-azure);
}

.home-topic-card__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-mediterranean-azure);
}

.home-topic-card__title {
  margin-block-end: 0;
}

.home-topic-card__text {
  margin-block-end: 0;
}

.home-topic-card__details {
  color: var(--color-olive-green);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  margin-block-end: 0;
}

.home-topic-card .btn {
  margin-block-start: auto;
  align-self: flex-start;
}

/* Featured Casino Section */
.home-featured-casino {
  background-color: var(--color-pearl-white);
}

.home-featured-casino__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  align-items: center;
}

.home-featured-casino__figure {
  margin: 0;
  min-width: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.home-featured-casino__image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  transition: transform var(--transition-fast);
}

.home-featured-casino__figure:hover .home-featured-casino__image {
  transform: scale(1.02);
}

.home-featured-casino__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

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

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

.home-featured-casino__subgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-lg);
  margin-block-start: var(--space-sm);
}

.home-featured-casino__subblock {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.home-featured-casino__subblock h3 {
  margin-block-end: 0;
}

.home-featured-casino__subblock ul {
  margin-block-end: 0;
}

/* Guides Section */
.home-guides {
  background-color: var(--color-champagne-sand);
}

.home-guides__header {
  max-width: 60%;
  margin-block-end: var(--space-xl);
}

.home-guides__header h2 {
  margin-block-end: var(--space-sm);
}

.home-guides__lead {
  margin-block-end: 0;
}

.home-guides__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.home-guide-link {
  flex: 1 1 10rem;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  background-color: var(--color-mediterranean-azure);
  color: var(--color-white);
  border-radius: var(--radius-sm);
  font-weight: 600;
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

.home-guide-link:hover {
  background-color: #166A8A;
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(27, 122, 158, 0.3);
  text-decoration: none;
}

.home-guide-link span {
  font-size: 1.2em;
  line-height: 1;
}

/* Final CTA Section */
.home-final-cta {
  background-color: var(--color-ink-navy);
  color: var(--color-white);
}

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

.home-final-cta__content h2 {
  color: var(--color-white);
  margin-block-end: 0;
}

.home-final-cta__text {
  color: var(--color-white);
  margin-block-end: 0;
}

/* Tablet Breakpoint */
@media (max-width: 992px) {
  .home-intro__grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .home-intro__main .lead-text,
  .home-intro__main p:not(.lead-text) {
    max-width: 100%;
  }

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

  .home-featured-casino__grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .home-featured-casino__subgrid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .home-guides__header {
    max-width: 100%;
  }
}

/* Mobile Breakpoint */
@media (max-width: 768px) {
  .home-hero {
    min-height: 60vh;
    align-items: center;
  }

  .home-hero__container {
    padding-block: var(--space-xl);
  }

  .home-hero__content {
    max-width: 100%;
    margin-inline: auto;
    align-items: center;
    text-align: center;
  }

  .home-hero__actions {
    justify-content: center;
    width: 100%;
  }

  .home-hero__actions .btn {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .home-topics__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

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

  .home-guide-link {
    flex: 1 1 auto;
    width: 100%;
  }
}

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

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

  .home-topic-card {
    padding: var(--space-lg);
  }

  .home-final-cta__content {
    padding-inline: var(--space-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__image,
  .home-featured-casino__image {
    transition: none;
  }
}


.rozrywka-page {
    --rozrywka-section-gap: var(--space-2xl);
    --rozrywka-card-gap: var(--space-lg);
    --rozrywka-card-padding: var(--space-lg);
    --rozrywka-card-radius: var(--radius-md);
    --rozrywka-card-border: 1px solid var(--color-border-subtle);
    --rozrywka-card-shadow: var(--shadow-card);
    --rozrywka-card-shadow-hover: var(--shadow-card-hover);
    --rozrywka-transition: var(--transition-fast);
}

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

.rozrywka-page .rozrywka-section {
    padding-block: var(--space-3xl);
}

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

.rozrywka-page .rozrywka-section--sand {
    background-color: var(--color-champagne-sand);
}

/* Hero */
.rozrywka-page .rozrywka-hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: var(--color-ink-navy);
}

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

.rozrywka-page .rozrywka-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

.rozrywka-page .rozrywka-hero__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}

.rozrywka-page .rozrywka-hero__content {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-inline: var(--container-gutter);
    display: flex;
    justify-content: center;
}

.rozrywka-page .rozrywka-hero__inner {
    max-width: 600px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    color: var(--color-white);
}

.rozrywka-page .rozrywka-hero__eyebrow {
    color: var(--color-champagne-sand);
    margin-block-end: 0;
}

.rozrywka-page .rozrywka-hero__title {
    color: var(--color-white);
    font-size: var(--text-display-size);
    line-height: var(--text-display-leading);
    font-weight: var(--text-display-weight);
    margin-block-end: 0;
    text-wrap: balance;
}

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

.rozrywka-page .rozrywka-hero__supporting {
    color: var(--color-pearl-white);
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
    margin-block-end: 0;
}

.rozrywka-page .rozrywka-hero__cta {
    margin-block-start: var(--space-sm);
}

/* Teatry */
.rozrywka-page .rozrywka-teatry {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-lg);
    align-items: start;
}

.rozrywka-page .rozrywka-teatry__text {
    min-width: 0;
}

.rozrywka-page .rozrywka-teatry__text h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-teatry__text p {
    margin-block-end: var(--space-md);
}

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

.rozrywka-page .rozrywka-teatry__list h3 {
    margin-block-end: var(--space-sm);
}

/* Baseny */
.rozrywka-page .rozrywka-baseny {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.rozrywka-page .rozrywka-baseny__intro {
    text-align: center;
    max-width: 800px;
    margin-inline: auto;
}

.rozrywka-page .rozrywka-baseny__intro h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-baseny__media {
    width: 100%;
    max-width: 100%;
    border-radius: var(--radius-md);
    overflow: hidden;
}

.rozrywka-page .rozrywka-baseny__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--radius-md);
}

.rozrywka-page .rozrywka-baseny__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--rozrywka-card-gap);
}

.rozrywka-page .rozrywka-baseny__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
}

/* Spa */
.rozrywka-page .rozrywka-spa {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-lg);
    align-items: start;
}

.rozrywka-page .rozrywka-spa__text {
    min-width: 0;
}

.rozrywka-page .rozrywka-spa__text h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-spa__text p {
    margin-block-end: var(--space-md);
}

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

.rozrywka-page .rozrywka-spa__list h3 {
    margin-block-end: var(--space-sm);
}

/* Sport */
.rozrywka-page .rozrywka-sport {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.rozrywka-page .rozrywka-sport__intro {
    text-align: center;
    max-width: 800px;
    margin-inline: auto;
}

.rozrywka-page .rozrywka-sport__intro h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-sport__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--rozrywka-card-gap);
}

.rozrywka-page .rozrywka-sport__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
}

/* Rodzinna */
.rozrywka-page .rozrywka-rodzinna {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-lg);
    align-items: start;
}

.rozrywka-page .rozrywka-rodzinna__text {
    min-width: 0;
}

.rozrywka-page .rozrywka-rodzinna__text h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-rodzinna__text p {
    margin-block-end: var(--space-md);
}

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

.rozrywka-page .rozrywka-rodzinna__list h3 {
    margin-block-end: var(--space-sm);
}

/* Wieczorne */
.rozrywka-page .rozrywka-wieczor {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.rozrywka-page .rozrywka-wieczor__intro {
    text-align: center;
    max-width: 800px;
    margin-inline: auto;
}

.rozrywka-page .rozrywka-wieczor__intro h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-wieczor__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--rozrywka-card-gap);
}

.rozrywka-page .rozrywka-wieczor__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
}

/* Planowanie */
.rozrywka-page .rozrywka-planowanie {
    max-width: 800px;
    margin-inline: auto;
}

.rozrywka-page .rozrywka-planowanie h2 {
    margin-block-end: var(--space-md);
}

.rozrywka-page .rozrywka-planowanie > p {
    margin-block-end: var(--space-lg);
}

.rozrywka-page .rozrywka-checklist {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.rozrywka-page .rozrywka-checklist li {
    position: relative;
    padding-inline-start: var(--space-xl);
    min-width: 0;
}

.rozrywka-page .rozrywka-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-mediterranean-azure);
    font-weight: 700;
}

/* CTA */
.rozrywka-page .rozrywka-cta {
    background-color: var(--color-champagne-sand);
    padding-block: var(--space-3xl);
}

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

.rozrywka-page .rozrywka-cta__inner h2 {
    margin-block-end: 0;
}

.rozrywka-page .rozrywka-cta__inner p {
    margin-block-end: 0;
}

.rozrywka-page .rozrywka-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
}

/* Cards */
.rozrywka-page .rozrywka-card {
    background-color: var(--color-pearl-white);
    border: var(--rozrywka-card-border);
    border-radius: var(--rozrywka-card-radius);
    box-shadow: var(--rozrywka-card-shadow);
    padding: var(--rozrywka-card-padding);
    min-width: 0;
    transition: box-shadow var(--rozrywka-transition), transform var(--rozrywka-transition);
}

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

.rozrywka-page .rozrywka-card h3 {
    margin-block-end: var(--space-sm);
}

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

/* Lists */
.rozrywka-page .rozrywka-list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.rozrywka-page .rozrywka-list li {
    position: relative;
    padding-inline-start: var(--space-lg);
    min-width: 0;
}

.rozrywka-page .rozrywka-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-mediterranean-azure);
    font-weight: 700;
}

.rozrywka-page .rozrywka-list--check li::before {
    content: "✓";
    color: var(--color-olive-green);
}

/* Tablet */
@media (max-width: 900px) {
    .rozrywka-page .rozrywka-teatry,
    .rozrywka-page .rozrywka-spa,
    .rozrywka-page .rozrywka-rodzinna {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .rozrywka-page .rozrywka-baseny__cards,
    .rozrywka-page .rozrywka-sport__cards,
    .rozrywka-page .rozrywka-wieczor__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rozrywka-page .rozrywka-checklist {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .rozrywka-page .rozrywka-hero {
        min-height: 60vh;
    }

    .rozrywka-page .rozrywka-hero__inner {
        gap: var(--space-sm);
    }

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

    .rozrywka-page .rozrywka-hero__cta {
        width: 100%;
        max-width: 300px;
    }

    .rozrywka-page .rozrywka-section {
        padding-block: var(--space-2xl);
    }

    .rozrywka-page .rozrywka-baseny__cards,
    .rozrywka-page .rozrywka-sport__cards,
    .rozrywka-page .rozrywka-wieczor__cards {
        grid-template-columns: 1fr;
    }

    .rozrywka-page .rozrywka-baseny__media img {
        aspect-ratio: 16 / 9;
    }

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

    .rozrywka-page .rozrywka-cta__actions .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rozrywka-page .rozrywka-card {
        transition: none;
    }

    .rozrywka-page .rozrywka-card:hover {
        transform: none;
    }
}


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

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

/* Hero */
.kasyno-hero {
  position: relative;
  width: 100%;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-ink-navy);
}

.kasyno-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  z-index: 0;
}

.kasyno-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 42, 51, 0.85) 0%, rgba(31, 42, 51, 0.45) 45%, rgba(31, 42, 51, 0.05) 75%);
  z-index: 1;
}

.kasyno-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 700px;
  margin-inline: auto;
  padding: var(--space-3xl) var(--container-gutter);
  text-align: center;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.kasyno-hero__eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-champagne-sand);
  margin: 0;
}

.kasyno-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  font-weight: var(--text-display-weight);
  color: var(--color-white);
  margin: 0;
  max-width: 700px;
}

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

.kasyno-hero__details {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 560px;
  text-align: center;
}

.kasyno-hero__details li {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-pearl-white);
  margin: 0;
}

.kasyno-hero__cta {
  margin-top: var(--space-sm);
}

/* Intro */
.kasyno-intro {
  padding-block: var(--space-3xl);
}

.kasyno-intro__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.kasyno-intro__title {
  margin: 0;
}

.kasyno-intro__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  width: 100%;
}

.kasyno-intro__copy p {
  margin: 0;
}

.kasyno-intro__list {
  list-style: disc;
  padding-inline-start: 1.5rem;
  margin: 0;
  width: 100%;
}

.kasyno-intro__list li {
  margin-block-end: var(--space-xs);
}

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

/* Games */
.kasyno-games {
  padding-block: var(--space-3xl);
  background-color: var(--color-champagne-sand);
}

.kasyno-games__title {
  margin-block-end: var(--space-xl);
}

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

.kasyno-game-card {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

.kasyno-game-card__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-mediterranean-azure);
  margin: 0;
}

.kasyno-game-card__title {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  font-weight: var(--text-h3-weight);
  margin: 0;
}

.kasyno-game-card__text {
  margin: 0;
}

.kasyno-game-card__details {
  list-style: disc;
  padding-inline-start: 1.25rem;
  margin: 0;
}

.kasyno-game-card__details li {
  margin-block-end: var(--space-xs);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
}

.kasyno-game-card__details li:last-child {
  margin-block-end: 0;
}

.kasyno-game-card__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-olive-green);
  margin: 0;
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-subtle);
}

/* Atmosphere */
.kasyno-atmosphere {
  padding-block: var(--space-3xl);
}

.kasyno-atmosphere__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.kasyno-atmosphere__title {
  margin: 0;
}

.kasyno-atmosphere__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  width: 100%;
}

.kasyno-atmosphere__copy p {
  margin: 0;
}

.kasyno-atmosphere__list {
  list-style: disc;
  padding-inline-start: 1.5rem;
  margin: 0;
  width: 100%;
}

.kasyno-atmosphere__list li {
  margin-block-end: var(--space-xs);
}

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

/* Practical */
.kasyno-practical {
  padding-block: var(--space-3xl);
  background-color: var(--color-pearl-white);
}

.kasyno-practical__container {
  max-width: 900px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.kasyno-practical__title {
  margin: 0;
}

.kasyno-practical__lead {
  margin: 0;
  max-width: 800px;
}

.kasyno-practical__table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-card);
}

.kasyno-practical__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  min-width: 600px;
}

.kasyno-practical__table th,
.kasyno-practical__table td {
  padding: var(--space-md) var(--space-lg);
  border-block-end: 1px solid var(--color-border-subtle);
  text-align: left;
  vertical-align: top;
}

.kasyno-practical__table thead th {
  background-color: var(--color-champagne-sand);
  font-weight: 600;
  color: var(--color-ink-navy);
}

.kasyno-practical__table tbody th {
  font-weight: 600;
  color: var(--color-ink-navy);
  background-color: transparent;
  width: 35%;
}

.kasyno-practical__table tbody tr:last-child th,
.kasyno-practical__table tbody tr:last-child td {
  border-block-end: none;
}

/* Responsible */
.kasyno-responsible {
  padding-block: var(--space-3xl);
  background-color: var(--color-champagne-sand);
}

.kasyno-responsible__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.kasyno-responsible__title {
  margin: 0;
}

.kasyno-responsible__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  width: 100%;
}

.kasyno-responsible__copy p {
  margin: 0;
}

.kasyno-responsible__list {
  list-style: disc;
  padding-inline-start: 1.5rem;
  margin: 0;
  width: 100%;
}

.kasyno-responsible__list li {
  margin-block-end: var(--space-xs);
}

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

/* FAQ */
.kasyno-faq {
  padding-block: var(--space-3xl);
}

.kasyno-faq__container {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.kasyno-faq__title {
  margin: 0;
}

.kasyno-faq__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.kasyno-faq__item {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background-color: var(--color-pearl-white);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.kasyno-faq__question {
  margin: 0;
}

.kasyno-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  padding: var(--space-lg);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  font-weight: 600;
  color: var(--color-ink-navy);
  border-radius: 0;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.kasyno-faq__trigger:hover {
  background-color: rgba(27, 122, 158, 0.05);
  color: var(--color-mediterranean-azure);
}

.kasyno-faq__trigger:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-mediterranean-azure);
}

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

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

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

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

.kasyno-faq__answer {
  padding: 0 var(--space-lg) var(--space-lg);
  border-top: 1px solid var(--color-border-subtle);
}

.kasyno-faq__answer[hidden] {
  display: none;
}

.kasyno-faq__answer p {
  margin: 0;
  padding-top: var(--space-md);
}

/* Related */
.kasyno-related {
  padding-block: var(--space-3xl);
  background-color: var(--color-pearl-white);
}

.kasyno-related__title {
  margin-block-end: var(--space-xl);
}

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

.kasyno-related-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-xl);
  background-color: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  color: var(--color-ink-navy);
  text-decoration: none;
  min-width: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
}

.kasyno-related-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
  border-color: var(--color-mediterranean-azure);
  text-decoration: none;
  color: var(--color-ink-navy);
}

.kasyno-related-card__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  font-weight: 600;
  margin: 0;
  color: var(--color-ink-navy);
}

.kasyno-related-card__text {
  margin: 0;
  color: var(--color-ink-navy);
}

.kasyno-related-card__link {
  font-weight: 600;
  color: var(--color-mediterranean-azure);
  margin-top: auto;
}

.kasyno-related-card:hover .kasyno-related-card__link {
  color: var(--color-terracotta-red);
}

/* CTA */
.kasyno-cta {
  padding-block: var(--space-4xl);
  background-color: var(--color-mediterranean-azure);
}

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

.kasyno-cta__title {
  color: var(--color-white);
  margin: 0;
}

.kasyno-cta__text {
  color: var(--color-white);
  margin: 0;
}

.kasyno-cta__button {
  margin-top: var(--space-sm);
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .kasyno-games__grid {
    gap: var(--space-lg);
  }

  .kasyno-related__grid {
    gap: var(--space-lg);
  }

  .kasyno-game-card {
    padding: var(--space-lg);
  }

  .kasyno-related-card {
    padding: var(--space-lg);
  }
}

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

  .kasyno-hero__content {
    padding: var(--space-2xl) var(--container-gutter);
    gap: var(--space-md);
  }

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

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

  .kasyno-games__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .kasyno-related__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .kasyno-intro,
  .kasyno-games,
  .kasyno-atmosphere,
  .kasyno-practical,
  .kasyno-responsible,
  .kasyno-faq,
  .kasyno-related {
    padding-block: var(--space-2xl);
  }

  .kasyno-cta {
    padding-block: var(--space-3xl);
  }

  .kasyno-practical__table-wrapper {
    border-radius: var(--radius-sm);
  }

  .kasyno-practical__table {
    min-width: 520px;
  }
}

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

  .kasyno-hero__content {
    padding: var(--space-xl) var(--container-gutter);
    gap: var(--space-sm);
  }

  .kasyno-hero__title {
    font-size: 2rem;
    line-height: 1.2;
  }

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

  .kasyno-hero__details {
    gap: var(--space-xs);
  }

  .kasyno-hero__details li {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-leading);
  }

  .kasyno-intro,
  .kasyno-games,
  .kasyno-atmosphere,
  .kasyno-practical,
  .kasyno-responsible,
  .kasyno-faq,
  .kasyno-related {
    padding-block: var(--space-xl);
  }

  .kasyno-cta {
    padding-block: var(--space-2xl);
  }

  .kasyno-game-card {
    padding: var(--space-md);
    gap: var(--space-sm);
  }

  .kasyno-related-card {
    padding: var(--space-md);
    gap: var(--space-sm);
  }

  .kasyno-faq__trigger {
    padding: var(--space-md);
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
  }

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

  .kasyno-practical__table {
    min-width: 480px;
  }

  .kasyno-practical__table th,
  .kasyno-practical__table td {
    padding: var(--space-sm) var(--space-md);
  }
}


/* Regulamin Page Styles */

.regulamin-page {
  background-color: var(--color-pearl-white);
}

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

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

.regulamin-section--intro {
  background-color: var(--color-pearl-white);
  border-block-end: 1px solid var(--color-border-subtle);
}

.regulamin-section--definicje {
  background-color: var(--color-champagne-sand);
}

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

.regulamin-section--kasyna {
  background-color: var(--color-champagne-sand);
}

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

.regulamin-section--wlasnosc {
  background-color: var(--color-champagne-sand);
}

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

.regulamin-section--zglaszanie {
  background-color: var(--color-champagne-sand);
}

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

.regulamin-section--koncowe {
  background-color: var(--color-champagne-sand);
}

.regulamin-section__title {
  margin-block-end: var(--space-md);
  padding-block-end: var(--space-sm);
  border-block-end: 1px solid var(--color-border-subtle);
}

.regulamin-section__intro {
  margin-block-end: var(--space-md);
}

/* Intro section */
.regulamin-intro__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.regulamin-intro__title {
  margin-block-end: var(--space-md);
}

.regulamin-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: var(--text-body-large-weight);
  margin-block-end: var(--space-md);
}

.regulamin-intro__details {
  margin-block-start: var(--space-md);
}

.regulamin-intro__details p {
  margin-block-end: var(--space-sm);
}

.regulamin-intro__details p:last-child {
  margin-block-end: 0;
}

/* Definicje section */
.regulamin-definicje__grid {
  display: grid;
  grid-template-columns: 70% 30%;
  gap: var(--space-xl);
  align-items: start;
}

.regulamin-definicje__main {
  min-width: 0;
}

.regulamin-definicje__aside {
  min-width: 0;
}

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

.regulamin-definicje__item {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
}

.regulamin-definicje__item dt {
  font-weight: 600;
  color: var(--color-ink-navy);
  margin-block-end: var(--space-xs);
}

.regulamin-definicje__item dd {
  margin-inline-start: 0;
  color: var(--color-ink-navy);
}

.regulamin-definicje__note {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-card);
}

.regulamin-definicje__note h3 {
  margin-block-end: var(--space-sm);
}

.regulamin-definicje__note p {
  margin-block-end: 0;
}

/* Zakres usług section */
.regulamin-zakres__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.regulamin-zakres__list {
  margin-block-end: var(--space-md);
}

/* Kasyna section */
.regulamin-kasyna__frame {
  max-width: 800px;
  margin-inline: auto;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  box-shadow: var(--shadow-card);
  text-align: left;
}

.regulamin-kasyna__list {
  margin-block-end: var(--space-md);
}

.regulamin-kasyna__disclaimer {
  font-weight: 600;
  color: var(--color-olive-green);
  margin-block-end: 0;
}

/* Prawa i obowiązki section */
.regulamin-prawa__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  margin-block-end: var(--space-md);
}

.regulamin-prawa__column {
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-card);
}

.regulamin-prawa__column h3 {
  margin-block-end: var(--space-sm);
}

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

.regulamin-prawa__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-olive-green);
  margin-block-end: 0;
}

/* Własność intelektualna section */
.regulamin-wlasnosc__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

/* Odpowiedzialność portalu section */
.regulamin-odpowiedzialnosc__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

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

/* Zgłaszanie naruszeń section */
.regulamin-zglaszanie__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.regulamin-zglaszanie__list {
  margin-block-end: var(--space-md);
}

.regulamin-zglaszanie__button {
  margin-block-start: var(--space-sm);
}

/* Zmiany regulaminu section */
.regulamin-zmiany__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

/* Postanowienia końcowe section */
.regulamin-koncowe__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: left;
}

.regulamin-koncowe__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin-block-end: var(--space-md);
}

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

/* Tablet breakpoint */
@media (max-width: 900px) {
  .regulamin-definicje__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .regulamin-definicje__aside {
    order: 2;
  }

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

/* Mobile breakpoint */
@media (max-width: 768px) {
  .regulamin-section {
    padding-block: var(--space-xl);
  }

  .regulamin-kasyna__frame {
    padding: var(--space-lg);
  }

  .regulamin-koncowe__links {
    flex-direction: column;
    align-items: stretch;
  }

  .regulamin-koncowe__links .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .regulamin-section {
    padding-block: var(--space-lg);
  }

  .regulamin-kasyna__frame {
    padding: var(--space-md);
  }

  .regulamin-prawa__column {
    padding: var(--space-md);
  }

  .regulamin-definicje__item {
    padding: var(--space-sm);
  }

  .regulamin-definicje__note {
    padding: var(--space-md);
  }
}


/* Kabiny page styles - scoped to page-owned components */

.kabiny-intro {
  background-color: var(--color-pearl-white);
}

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

.kabiny-intro__heading {
  margin-block-end: 0;
}

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

.kabiny-intro__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
  width: 100%;
}

.kabiny-intro__details p {
  margin-block-end: 0;
}

.kabiny-types__header,
.kabiny-amenities__header,
.kabiny-tips__header,
.kabiny-gallery__header,
.kabiny-special__header,
.kabiny-faq__header {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.kabiny-types__heading,
.kabiny-amenities__heading,
.kabiny-tips__heading,
.kabiny-gallery__heading,
.kabiny-special__heading,
.kabiny-faq__heading {
  margin-block-end: 0;
}

.kabiny-types__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
  min-width: 0;
}

.kabiny-type-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  padding: var(--space-lg);
}

.kabiny-type-card__icon {
  color: var(--color-mediterranean-azure);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  background-color: var(--color-champagne-sand);
}

.kabiny-type-card__title {
  margin-block-end: 0;
}

.kabiny-type-card__text {
  margin-block-end: 0;
}

.kabiny-type-card__list {
  margin-block-end: 0;
}

.kabiny-type-card__facts {
  margin-block-start: auto;
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
  color: var(--color-olive-green);
}

.kabiny-amenities {
  background-color: var(--color-champagne-sand);
}

.kabiny-amenities__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  min-width: 0;
}

.kabiny-amenities__column {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
}

.kabiny-amenities__column-title {
  margin-block-end: 0;
}

.kabiny-amenities__text {
  margin-block-end: 0;
}

.kabiny-amenities__list {
  margin-block-end: 0;
}

.kabiny-amenities__facts {
  margin-block-start: auto;
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
  color: var(--color-olive-green);
}

.kabiny-tips__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  min-width: 0;
}

.kabiny-tip {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
}

.kabiny-tip__icon {
  color: var(--color-olive-green);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  background-color: var(--color-champagne-sand);
}

.kabiny-tip__title {
  margin-block-end: 0;
}

.kabiny-tip__text {
  margin-block-end: 0;
}

.kabiny-tip__list {
  margin-block-end: 0;
}

.kabiny-tip__facts {
  margin-block-start: auto;
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
  color: var(--color-olive-green);
}

.kabiny-gallery__lead {
  max-width: 700px;
  margin-inline: auto;
  margin-block-start: var(--space-md);
  margin-block-end: 0;
}

.kabiny-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  min-width: 0;
}

.kabiny-gallery-card {
  min-width: 0;
  margin-block-end: 0;
}

.kabiny-gallery-card__media {
  margin-block-end: var(--space-sm);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.kabiny-gallery-card__media:hover {
  transform: scale(1.02);
  box-shadow: var(--shadow-card-hover);
}

.kabiny-gallery-card__caption {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-olive-green);
  margin-block-start: var(--space-xs);
}

.kabiny-gallery__note {
  margin-block-start: var(--space-lg);
  text-align: center;
  color: var(--color-olive-green);
}

.kabiny-special__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
  min-width: 0;
}

.kabiny-special__column {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
}

.kabiny-special__column-title {
  margin-block-end: 0;
}

.kabiny-special__text {
  margin-block-end: 0;
}

.kabiny-special__list {
  margin-block-end: 0;
}

.kabiny-special__facts {
  margin-block-start: auto;
  padding-block-start: var(--space-md);
  border-block-start: 1px solid var(--color-border-subtle);
  color: var(--color-olive-green);
}

.kabiny-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 800px;
  margin-inline: auto;
}

.kabiny-faq-item {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.kabiny-faq-item__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  padding: var(--space-md) var(--space-lg);
  background-color: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  font-weight: var(--text-h4-weight);
  color: var(--color-ink-navy);
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.kabiny-faq-item__trigger:hover {
  background-color: var(--color-champagne-sand);
}

.kabiny-faq-item__trigger:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: 0;
}

.kabiny-faq-item__question {
  min-width: 0;
  flex: 1 1 auto;
}

.kabiny-faq-item__icon {
  position: relative;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

.kabiny-faq-item__icon::before,
.kabiny-faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--color-mediterranean-azure);
  transition: transform var(--transition-fast);
}

.kabiny-faq-item__icon::before {
  width: 14px;
  height: 2px;
  transform: translate(-50%, -50%);
}

.kabiny-faq-item__icon::after {
  width: 2px;
  height: 14px;
  transform: translate(-50%, -50%);
}

.kabiny-faq-item[data-open="true"] .kabiny-faq-item__icon::after {
  transform: translate(-50%, -50%) scaleY(0);
}

.kabiny-faq-item__answer {
  display: none;
  padding: 0 var(--space-lg) var(--space-lg);
  border-block-start: 1px solid var(--color-border-subtle);
  padding-block-start: var(--space-md);
}

.kabiny-faq-item[data-open="true"] .kabiny-faq-item__answer {
  display: block;
}

.kabiny-faq-item__answer p {
  margin-block-end: var(--space-md);
}

.kabiny-faq-item__answer p:last-child {
  margin-block-end: 0;
}

.kabiny-faq-item__answer ul {
  margin-block-end: var(--space-md);
}

.kabiny-faq-item__answer ul:last-child {
  margin-block-end: 0;
}

.kabiny-summary {
  background-color: var(--color-champagne-sand);
}

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

.kabiny-summary__heading {
  margin-block-end: 0;
}

.kabiny-summary__text {
  margin-block-end: 0;
}

.kabiny-summary__links {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  text-align: left;
  width: 100%;
}

.kabiny-summary__links li {
  margin-block-start: 0;
}

.kabiny-summary__facts {
  margin-block-end: 0;
  color: var(--color-olive-green);
}

.kabiny-summary__cta {
  margin-block-start: var(--space-lg);
}

/* Tablet breakpoint */
@media (max-width: 1024px) {
  .kabiny-types__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kabiny-tips__grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

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

/* Mobile breakpoint */
@media (max-width: 768px) {
  .kabiny-intro__inner {
    text-align: left;
    align-items: flex-start;
  }

  .kabiny-intro__details {
    text-align: left;
  }

  .kabiny-types__grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .kabiny-amenities__grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .kabiny-special__grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

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

  .kabiny-summary__inner {
    text-align: left;
    align-items: flex-start;
  }

  .kabiny-summary__links {
    text-align: left;
  }

  .kabiny-summary__cta {
    align-self: center;
  }
}

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

  .kabiny-types__header,
  .kabiny-amenities__header,
  .kabiny-tips__header,
  .kabiny-gallery__header,
  .kabiny-special__header,
  .kabiny-faq__header {
    margin-block-end: var(--space-lg);
  }

  .kabiny-type-card,
  .kabiny-amenities__column,
  .kabiny-tip,
  .kabiny-special__column {
    padding: var(--space-md);
  }

  .kabiny-faq-item__trigger {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-body-large-size);
  }

  .kabiny-faq-item__answer {
    padding: 0 var(--space-md) var(--space-md);
    padding-block-start: var(--space-sm);
  }
}


.ruletka-page {
  overflow-x: hidden;
}

.ruletka-page h2,
.ruletka-page h3 {
  margin-block-end: var(--space-md);
}

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

/* Hero */
.ruletka-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-ink-navy);
}

.ruletka-hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.ruletka-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.ruletka-hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 42, 51, 0.92) 0%, rgba(31, 42, 51, 0.55) 55%, rgba(31, 42, 51, 0.25) 100%);
}

.ruletka-hero__content {
  position: relative;
  z-index: 1;
  width: min(100% - 2rem, 800px);
  margin-inline: auto;
  padding: var(--space-2xl) var(--space-md);
  text-align: center;
  color: var(--color-white);
}

.ruletka-hero__eyebrow {
  color: var(--color-champagne-sand);
  margin-block-end: var(--space-sm);
}

.ruletka-hero__content h1 {
  color: var(--color-white);
  font-size: clamp(2.25rem, 5vw + 1rem, 3.5rem);
  line-height: 1.15;
  margin-block-end: var(--space-lg);
  text-wrap: balance;
}

.ruletka-hero__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-white);
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-lg);
}

.ruletka-hero__facts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm) var(--space-lg);
  max-width: 70ch;
  margin-inline: auto;
}

.ruletka-hero__facts li {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-champagne-sand);
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.ruletka-hero__facts li::before {
  content: "•";
  color: var(--color-terracotta-red);
  font-weight: 700;
}

/* Intro */
.ruletka-intro {
  background-color: var(--color-pearl-white);
}

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

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


.ruletka-intro__quote {
  max-width: 70ch;
  margin-block: var(--space-lg);
}

.ruletka-intro__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  margin-block-start: var(--space-lg);
}

.ruletka-intro__feature {
  min-width: 0;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  box-shadow: var(--shadow-card);
}

.ruletka-intro__feature-icon {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--color-champagne-sand);
  margin-block-end: var(--space-sm);
  position: relative;
}

.ruletka-intro__feature-icon::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  border: 2px solid var(--color-mediterranean-azure);
}

.ruletka-intro__feature p {
  margin: 0;
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  }

.ruletka-intro__media {
  margin: 0;
  min-width: 0;
}

.ruletka-intro__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.ruletka-intro__media figcaption {
  margin-block-start: var(--space-xs);
}

/* Rules */
.ruletka-rules {
  background-color: var(--color-white);
}

.ruletka-rules__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
}

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


.ruletka-rules__steps {
  margin-block-start: var(--space-lg);
}

.ruletka-rules__steps ol {
  padding-inline-start: 1.25rem;
  margin-block-end: var(--space-md);
}

.ruletka-rules__steps .ruletka-rules__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-olive-green);
  margin: 0;
  max-width: 60ch;
}

.ruletka-rules__layout {
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-card);
}

.ruletka-rules__layout h3 {
  margin-block-end: var(--space-md);
}

.ruletka-rules__layout-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
  margin-block-end: var(--space-md);
}

.ruletka-rules__layout-item {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 4px;
  color: var(--color-white);
  min-width: 0;
}

.ruletka-rules__layout-item--zero {
  background-color: var(--color-olive-green);
  grid-column: span 2;
}

.ruletka-rules__layout-item--red {
  background-color: var(--color-terracotta-red);
}

.ruletka-rules__layout-item--black {
  background-color: var(--color-ink-navy);
}

.ruletka-rules__outside {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
}

.ruletka-rules__outside span {
  background-color: var(--color-champagne-sand);
  color: var(--color-ink-navy);
  font-size: 0.7rem;
  font-weight: 600;
  text-align: center;
  padding: var(--space-xs);
  border-radius: 4px;
  min-width: 0;
}

/* Table */
.ruletka-table {
  background-color: var(--color-champagne-sand);
}

.ruletka-table__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
}

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

.ruletka-table__copy p,
.ruletka-table__copy ul {
  max-width: 70ch;
}

.ruletka-table__copy ul {
  margin-block-end: var(--space-lg);
}

.ruletka-table__media {
  margin: 0;
  min-width: 0;
}

.ruletka-table__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.ruletka-table__media figcaption {
  margin-block-start: var(--space-xs);
}

/* Variants */
.ruletka-variants {
  background-color: var(--color-pearl-white);
}

.ruletka-variants__heading {
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.ruletka-variants__intro {
  max-width: 70ch;
  margin-inline: auto;
}

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

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

.ruletka-variant-card h3 {
  margin: 0;
}

.ruletka-variant-card p {
  margin: 0;
  margin-inline: auto;
}

.ruletka-variant-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: start;
  max-width: 58ch;
  margin-inline: auto;
}

.ruletka-variant-card li {
  position: relative;
  padding-inline-start: 1.25rem;
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
}

.ruletka-variant-card .ruletka-variant-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-mediterranean-azure);
  font-weight: 700;
}

.ruletka-variant-card__note {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  color: var(--color-olive-green);
  margin-block-start: auto;
}

/* Practical */
.ruletka-practical {
  background-color: var(--color-white);
}

.ruletka-practical__heading {
  max-width: 800px;
  margin-block-end: var(--space-xl);
}

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

.ruletka-practical__item {
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  box-shadow: var(--shadow-card);
}

.ruletka-practical__item h3 {
  margin-block-end: var(--space-sm);
}


.ruletka-practical__item ul {
  padding-inline-start: 1.25rem;
}

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

.ruletka-practical__item /* Atmosphere */
.ruletka-atmosphere {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-ink-navy);
}

.ruletka-atmosphere__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.ruletka-atmosphere__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.ruletka-atmosphere__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 42, 51, 0.9) 0%, rgba(31, 42, 51, 0.6) 55%, rgba(31, 42, 51, 0.3) 100%);
}

.ruletka-atmosphere__content {
  position: relative;
  z-index: 1;
  width: min(100% - 2rem, 800px);
  margin-inline: auto;
  padding: var(--space-2xl) var(--space-md);
  text-align: center;
  color: var(--color-white);
}

.ruletka-atmosphere__eyebrow {
  color: var(--color-champagne-sand);
  margin-block-end: var(--space-sm);
}

.ruletka-atmosphere__content h2 {
  color: var(--color-white);
  margin-block-end: var(--space-lg);
}

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

.ruletka-atmosphere__text p {
  color: var(--color-white);
  margin-inline: auto;
  margin-block-end: 0;
}

/* Tips */
.ruletka-tips {
  background-color: var(--color-champagne-sand);
}

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

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

.ruletka-tips__copy p,
.ruletka-tips__copy ul {
  max-width: 70ch;
}

.ruletka-tips__copy ul {
  margin-block-end: var(--space-lg);
}

.ruletka-tips__media {
  margin: 0;
  min-width: 0;
}

.ruletka-tips__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.ruletka-tips__media figcaption {
  margin-block-start: var(--space-xs);
}

/* Summary */
.ruletka-summary {
  background-color: var(--color-mediterranean-azure);
  padding-block: var(--space-3xl);
}

.ruletka-summary__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.ruletka-summary__eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-champagne-sand);
  margin: 0;
}

.ruletka-summary__content h2 {
  color: var(--color-white);
  margin: 0;
}

.ruletka-summary__content p {
  color: var(--color-white);
  margin-inline: auto;
  margin-block-end: 0;
}

.ruletka-summary__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin-block-start: var(--space-lg);
}

.ruletka-summary__actions .btn {
  min-width: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .ruletka-intro__grid,
  .ruletka-tips__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ruletka-intro__media,
  .ruletka-tips__media {
    order: -1;
  }

  .ruletka-rules__grid,
  .ruletka-table__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ruletka-variants__grid,
  .ruletka-practical__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

  .ruletka-hero__content h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  .ruletka-hero__facts {
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
  }

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

  .ruletka-rules__layout-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ruletka-rules__outside {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ruletka-variants__grid,
  .ruletka-practical__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ruletka-atmosphere {
    min-height: 50vh;
  }

  .ruletka-summary {
    padding-block: var(--space-2xl);
  }

  .ruletka-summary__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ruletka-summary__actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .ruletka-hero__content {
    padding: var(--space-xl) var(--space-sm);
  }

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

  .ruletka-rules__layout-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .ruletka-variant-card {
    padding: var(--space-lg);
  }

  .ruletka-practical__item {
    padding: var(--space-md);
  }
}


/* Page-owned styles for /poker/ */
.poker-page {
  min-width: 0;
}

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

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

.poker-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.poker-hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 42, 51, 0.85) 0%, rgba(31, 42, 51, 0.45) 40%, rgba(31, 42, 51, 0.1) 75%);
  pointer-events: none;
}

.poker-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: var(--space-3xl) var(--space-2xl);
}

.poker-hero__copy {
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
  color: var(--color-white);
}

.poker-hero__eyebrow {
  color: var(--color-champagne-sand);
  margin-block-end: 0;
}

.poker-hero__title {
  color: var(--color-white);
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-leading);
  font-weight: var(--text-h1-weight);
  margin-block-end: 0;
  text-wrap: balance;
}

.poker-hero__lead {
  color: var(--color-white);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-block-end: 0;
  max-width: 540px;
}

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

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

/* Shared section base */
.poker-section {
  padding-block: var(--space-3xl);
}

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

.poker-section__title {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-leading);
  font-weight: var(--text-h2-weight);
  color: var(--color-ink-navy);
  margin-block-end: var(--space-lg);
  text-wrap: balance;
}

/* Introduction section */
.poker-intro {
  background-color: var(--color-pearl-white);
}

.poker-intro__container {
  display: flex;
  justify-content: center;
}

.poker-intro__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
}

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

.poker-intro__text p {
  margin-block-end: 0;
}

/* Poker Room section */
.poker-room-section {
  background-color: var(--color-champagne-sand);
}

.poker-room-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-2xl);
  align-items: start;
}

.poker-room-section__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.poker-room-section__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.poker-room-section__text p {
  margin-block-end: 0;
}

.poker-room-section__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.poker-room-section__media {
  min-width: 0;
  margin-block-end: 0;
}

.poker-room-section__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.poker-room-section__media figcaption {
  margin-block-start: var(--space-xs);
}

/* Tables section */
.poker-tables {
  background-color: var(--color-pearl-white);
}

.poker-tables__container {
  display: flex;
  justify-content: center;
}

.poker-tables__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.poker-tables__intro p {
  margin-block-end: 0;
}

.poker-tables__variants,
.poker-tables__limits {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.poker-tables__subtitle {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  font-weight: var(--text-h3-weight);
  margin-block-end: 0;
}

.poker-tables__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.poker-tables__limits p {
  margin-block-end: 0;
}

/* Tournaments section */
.poker-tournaments {
  background-color: var(--color-champagne-sand);
}

.poker-tournaments__container {
  display: flex;
  justify-content: center;
}

.poker-tournaments__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.poker-tournaments__text p {
  margin-block-end: 0;
}

.poker-tournaments__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* Etiquette section */
.poker-etiquette {
  background-color: var(--color-pearl-white);
}

.poker-etiquette__container {
  display: flex;
  justify-content: center;
}

.poker-etiquette__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.poker-etiquette__text p {
  margin-block-end: 0;
}

.poker-etiquette__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* Attractions section */
.poker-attractions {
  background-color: var(--color-champagne-sand);
}

.poker-attractions__container {
  display: flex;
  justify-content: center;
}

.poker-attractions__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.poker-attractions__text p {
  margin-block-end: 0;
}

.poker-attractions__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* Tips section */
.poker-tips {
  background-color: var(--color-pearl-white);
}

.poker-tips__container {
  display: flex;
  justify-content: center;
}

.poker-tips__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

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

.poker-tips__text p {
  margin-block-end: 0;
}

.poker-tips__list {
  margin-block-end: 0;
  padding-inline-start: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

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

.poker-faq__container {
  display: flex;
  justify-content: center;
}

.poker-faq__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
}

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

.poker-faq__item {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.poker-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  cursor: pointer;
  font-weight: 600;
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  color: var(--color-ink-navy);
  list-style: none;
  transition: background-color var(--transition-fast);
}

.poker-faq__question::-webkit-details-marker {
  display: none;
}

.poker-faq__question::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-mediterranean-azure);
  transition: transform var(--transition-fast);
  flex-shrink: 0;
}

.poker-faq__item[open] .poker-faq__question::after {
  transform: rotate(45deg);
}

.poker-faq__question:hover {
  background-color: rgba(27, 122, 158, 0.06);
}

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

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

/* Summary section */
.poker-summary {
  background-color: var(--color-champagne-sand);
}

.poker-summary__container {
  display: flex;
  justify-content: center;
}

.poker-summary__content {
  max-width: 600px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  align-items: center;
}

.poker-summary__text,
.poker-summary__cta-text {
  margin-block-end: 0;
}

.poker-summary__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin-block-start: var(--space-sm);
}

/* Disclaimer section */
.poker-disclaimer {
  background-color: var(--color-pearl-white);
  padding-block: var(--space-xl);
}

.poker-disclaimer__container {
  display: flex;
  justify-content: center;
}

.poker-disclaimer__content {
  max-width: 800px;
  width: 100%;
  text-align: left;
}

.poker-disclaimer__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  font-weight: var(--text-h4-weight);
  margin-block-end: var(--space-sm);
}

.poker-disclaimer__text {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-olive-green);
  margin-block-end: 0;
}

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

  .poker-room-section__media {
    order: -1;
  }

  .poker-hero {
    min-height: 70vh;
  }
}

@media (max-width: 768px) {
  .poker-section {
    padding-block: var(--space-2xl);
  }

  .poker-hero {
    min-height: 60vh;
  }

  .poker-hero__content {
    padding-block: var(--space-2xl) var(--space-xl);
  }

  .poker-hero__copy {
    max-width: 100%;
    gap: var(--space-md);
  }

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

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

  .poker-hero__cta {
    width: 100%;
    min-width: 0;
  }

  .poker-room-section__grid {
    gap: var(--space-lg);
  }

  .poker-faq__question {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-body-size);
  }

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

@media (max-width: 480px) {
  .poker-section {
    padding-block: var(--space-xl);
  }

  .poker-hero {
    min-height: 60vh;
  }

  .poker-hero__content {
    padding-block: var(--space-xl) var(--space-lg);
  }

  .poker-hero__title {
    font-size: 2rem;
    line-height: 1.2;
  }

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

  .poker-summary__content {
    gap: var(--space-sm);
  }

  .poker-summary__actions .btn {
    width: 100%;
  }
}


/* Page-owned styles for Statki page */

.statki-page {
  min-width: 0;
}

/* Hero */
.statki-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background-color: var(--color-ink-navy);
  overflow: hidden;
}

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

.statki-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.statki-hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(31, 42, 51, 0.85) 0%, rgba(31, 42, 51, 0.55) 45%, rgba(31, 42, 51, 0.15) 100%);
}

.statki-hero__content {
  position: relative;
  z-index: 1;
  width: 50%;
  max-width: 600px;
  padding: var(--space-4xl) var(--container-gutter);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
  color: var(--color-white);
}

.statki-hero__eyebrow {
  color: var(--color-champagne-sand);
  margin: 0;
}

.statki-hero__title {
  color: var(--color-white);
  font-size: clamp(2.5rem, 5vw + 0.5rem, 4rem);
  line-height: 1.1;
  margin: 0;
  text-wrap: balance;
}

.statki-hero__lead {
  color: var(--color-white);
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin: 0;
  max-width: 36rem;
}

.statki-hero__cta {
  margin-top: var(--space-sm);
}

/* Intro */
.statki-intro {
  background-color: var(--color-champagne-sand);
}

.statki-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.statki-intro__copy {
  min-width: 0;
}

.statki-intro__copy .lead-text {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
}

.statki-intro__list {
  margin-top: var(--space-md);
}

.statki-intro__media {
  margin: 0;
  min-width: 0;
}

.statki-intro__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

/* Types */
.statki-types__heading {
  max-width: 70%;
  margin-bottom: var(--space-xl);
  text-align: left;
}

.statki-types__intro {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-top: var(--space-sm);
}

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

.statki-type-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  height: 100%;
  text-align: center;
}

.statki-type-card__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-mediterranean-azure);
}

.statki-type-card h3 {
  margin: 0;
}

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

/* Infrastructure */
.statki-infrastructure__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.statki-infrastructure__copy {
  min-width: 0;
}

.statki-infrastructure__media {
  margin: 0;
  min-width: 0;
}

.statki-infrastructure__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

/* Cabins */
.statki-cabins__heading {
  max-width: 70%;
  margin-bottom: var(--space-xl);
  text-align: left;
}

.statki-cabins__intro {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-top: var(--space-sm);
}

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

.statki-cabin-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  height: 100%;
  text-align: center;
}

.statki-cabin-card h3 {
  margin: 0;
}

.statki-cabin-card p {
  margin: 0;
}

/* Restaurants */
.statki-restaurants {
  background-color: var(--color-champagne-sand);
}

.statki-restaurants__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.statki-restaurants__copy {
  min-width: 0;
}

.statki-restaurants__list {
  margin-top: var(--space-md);
}

.statki-restaurants__media {
  margin: 0;
  min-width: 0;
}

.statki-restaurants__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

/* Entertainment */
.statki-entertainment__heading {
  max-width: 70%;
  margin-bottom: var(--space-xl);
  text-align: left;
}

.statki-entertainment__intro {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-top: var(--space-sm);
}

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

.statki-entertainment-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  height: 100%;
  text-align: center;
}

.statki-entertainment-card h3 {
  margin: 0;
}

.statki-entertainment-card p {
  margin: 0;
}

/* Casino */
.statki-casino {
  background-color: var(--color-ink-navy);
  color: var(--color-pearl-white);
}

.statki-casino__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.statki-casino__copy {
  min-width: 0;
  color: var(--color-pearl-white);
}

.statki-casino__copy h2,
.statki-casino__copy h3 {
  color: var(--color-white);
}

.statki-casino__copy p {
  color: var(--color-pearl-white);
}

.statki-casino__eyebrow {
  color: var(--color-champagne-sand);
}

.statki-casino__media {
  margin: 0;
  min-width: 0;
}

.statki-casino__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

/* Onboard */
.statki-onboard__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.statki-onboard__copy {
  min-width: 0;
}

.statki-onboard__media {
  margin: 0;
  min-width: 0;
}

.statki-onboard__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

/* Tips */
.statki-tips {
  background-color: var(--color-champagne-sand);
}

.statki-tips__heading {
  max-width: 70%;
  margin-bottom: var(--space-xl);
  text-align: left;
}

.statki-tips__intro {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  margin-top: var(--space-sm);
}

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

.statki-tip-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  height: 100%;
  text-align: center;
}

.statki-tip-card h3 {
  margin: 0;
}

.statki-tip-card p {
  margin: 0;
}

/* FAQ */
.statki-faq__container {
  max-width: 80%;
  margin-inline: auto;
}

.statki-faq__heading {
  margin-bottom: var(--space-xl);
  text-align: left;
}

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

.statki-faq__item {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background-color: var(--color-pearl-white);
  overflow: hidden;
}

.statki-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-lg);
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  font-weight: 600;
  color: var(--color-ink-navy);
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.statki-faq__question:hover {
  background-color: rgba(27, 122, 158, 0.06);
}

.statki-faq__question:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.statki-faq__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
}

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

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

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

.statki-faq__answer {
  padding: 0 var(--space-lg) var(--space-lg);
}

.statki-faq__answer p {
  margin: 0;
  color: var(--color-ink-navy);
}

/* CTA */
.statki-cta {
  background-color: var(--color-terracotta-red);
}

.statki-cta__container {
  display: flex;
  justify-content: center;
}

.statki-cta__content {
  max-width: 60%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.statki-cta__content h2 {
  color: var(--color-white);
  margin: 0;
}

.statki-cta__content p {
  color: var(--color-white);
  margin: 0;
}

.statki-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-sm);
}

.statki-cta__button-light {
  color: var(--color-white);
  border-color: var(--color-white);
}

.statki-cta__button-light:hover {
  background-color: var(--color-white);
  color: var(--color-terracotta-red);
}

/* Responsive */
@media (max-width: 1024px) {
  .statki-hero__content {
    width: 65%;
    padding: var(--space-3xl) var(--container-gutter);
  }

  .statki-intro__grid,
  .statki-infrastructure__grid,
  .statki-restaurants__grid,
  .statki-casino__grid,
  .statki-onboard__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-xl);
  }

  .statki-intro__media,
  .statki-infrastructure__media,
  .statki-restaurants__media,
  .statki-casino__media,
  .statki-onboard__media {
    order: -1;
  }

  .statki-intro__media img,
  .statki-infrastructure__media img,
  .statki-restaurants__media img,
  .statki-casino__media img,
  .statki-onboard__media img {
    aspect-ratio: 16 / 9;
  }

  .statki-types__heading,
  .statki-cabins__heading,
  .statki-entertainment__heading,
  .statki-tips__heading {
    max-width: 100%;
  }

  .statki-types__grid,
  .statki-cabins__grid,
  .statki-entertainment__grid,
  .statki-tips__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .statki-faq__container {
    max-width: 100%;
  }

  .statki-cta__content {
    max-width: 80%;
  }
}

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

  .statki-hero__content {
    width: 100%;
    max-width: none;
    padding: var(--space-2xl) var(--container-gutter);
    align-items: center;
    text-align: center;
    gap: var(--space-md);
  }

  .statki-hero__scrim {
    background: linear-gradient(to top, rgba(31, 42, 51, 0.9) 0%, rgba(31, 42, 51, 0.5) 50%, rgba(31, 42, 51, 0.2) 100%);
  }

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

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

  .statki-types__grid,
  .statki-cabins__grid,
  .statki-entertainment__grid,
  .statki-tips__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .statki-faq__question {
    padding: var(--space-md);
    font-size: var(--text-body-large-size);
  }

  .statki-faq__answer {
    padding: 0 var(--space-md) var(--space-md);
  }

  .statki-cta__content {
    max-width: 100%;
  }

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

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

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

  .statki-hero__content {
    padding: var(--space-xl) var(--container-gutter);
  }

  .statki-hero__title {
    font-size: 2rem;
  }

  .statki-intro__grid,
  .statki-infrastructure__grid,
  .statki-restaurants__grid,
  .statki-casino__grid,
  .statki-onboard__grid {
    gap: var(--space-lg);
  }

  .statki-types__grid,
  .statki-cabins__grid,
  .statki-entertainment__grid,
  .statki-tips__grid {
    gap: var(--space-md);
  }

  .statki-faq__question {
    font-size: var(--text-body-size);
  }
}

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


.thank-you-main {
  padding-block: var(--space-3xl);
  background-color: var(--color-pearl-white);
}

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

.thank-you-card {
  max-width: 40rem;
  margin-inline: auto;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-2xl);
  text-align: center;
}

.thank-you-eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-olive-green);
  margin-block-end: var(--space-sm);
}

.thank-you-title {
  margin-block-end: var(--space-md);
}

.thank-you-message {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-leading);
  font-weight: var(--text-body-large-weight);
  color: var(--color-ink-navy);
  margin-block-end: var(--space-md);
}

.thank-you-next {
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  font-weight: var(--text-body-weight);
  color: var(--color-ink-navy);
  margin-block-end: var(--space-xl);
}

.thank-you-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .thank-you-main {
    padding-block: var(--space-2xl);
  }

  .thank-you-card {
    padding: var(--space-xl);
  }

  .thank-you-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you-actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .thank-you-main {
    padding-block: var(--space-xl);
  }

  .thank-you-card {
    padding: var(--space-lg);
  }
}


/* ===== Restauracje page styles ===== */

.restauracje-page {
  min-width: 0;
}

.restauracje-section {
  padding-block: var(--space-3xl);
}

/* Hero */
.restauracje-hero {
  position: relative;
  width: 100%;
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-ink-navy);
}

.restauracje-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  z-index: 0;
}

.restauracje-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 42, 51, 0.85) 0%, rgba(31, 42, 51, 0.45) 45%, rgba(31, 42, 51, 0.05) 75%);
  z-index: 1;
}

.restauracje-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 700px;
  margin-inline: auto;
  padding: var(--space-3xl) var(--container-gutter);
  text-align: center;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.restauracje-hero__eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-leading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-champagne-sand);
  margin: 0;
}

.restauracje-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-leading);
  font-weight: var(--text-display-weight);
  color: var(--color-white);
  margin: 0;
  max-width: 700px;
}

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

.restauracje-hero__details {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 560px;
  text-align: center;
}

.restauracje-hero__details li {
  font-size: var(--text-small-size);
  line-height: var(--text-small-leading);
  color: var(--color-pearl-white);
  margin: 0;
}

.restauracje-hero__cta {
  margin-top: var(--space-sm);
}

/* Intro */
.restauracje-intro {
  background-color: var(--color-champagne-sand);
}

.restauracje-intro__inner {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.restauracje-intro__title {
  margin: 0;
}

.restauracje-intro__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  width: 100%;
}

.restauracje-intro__copy p {
  margin: 0;
}

.restauracje-intro__list {
  list-style: disc;
  padding-inline-start: 1.5rem;
  margin: 0;
  width: 100%;
}

.restauracje-intro__list li {
  margin-block-end: var(--space-xs);
}

.restauracje-intro__list li:last-child {
  margin-block-end: 0;
}

/* Types */
.restauracje-types__title {
  margin-block-end: var(--space-xl);
}

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

.restauracje-type-card {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

.restauracje-type-card__icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-mediterranean-azure);
  margin: 0;
}

.restauracje-type-card__title {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-leading);
  font-weight: var(--text-h3-weight);
  margin: 0;
}

.restauracje-type-card__text {
  margin: 0;
}

.restauracje-type-card__note {
  color: var(--color-olive-green);
  margin: 0;
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-subtle);
}

/* Specialty */
.restauracje-specialty {
  background-color: var(--color-champagne-sand);
}

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

.restauracje-specialty__media {
  min-width: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.restauracje-specialty__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.restauracje-specialty__content {
  min-width: 0;
}

.restauracje-specialty__content h2 {
  margin-block-end: var(--space-md);
}

.restauracje-specialty__content p {
  margin-block-end: var(--space-md);
}

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

.restauracje-specialty__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
  min-width: 0;
}

.restauracje-specialty__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-olive-green);
  font-weight: 700;
}

/* Gallery */
.restauracje-gallery__header {
  max-width: 800px;
  margin-block-end: var(--space-xl);
}

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

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

.restauracje-gallery-card {
  margin: 0;
  min-width: 0;
}

.restauracje-gallery-card__caption {
  margin-block-start: var(--space-sm);
}

.restauracje-gallery__note {
  margin-block-start: var(--space-lg);
  color: var(--color-olive-green);
}

/* Bars */
.restauracje-bars {
  background-color: var(--color-champagne-sand);
}

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

.restauracje-bars__content {
  min-width: 0;
}

.restauracje-bars__content h2 {
  margin-block-end: var(--space-md);
}

.restauracje-bars__content p {
  margin-block-end: var(--space-md);
}

.restauracje-bars__media {
  min-width: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.restauracje-bars__media img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.restauracje-bars__list {
  min-width: 0;
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
}

.restauracje-bars__list h3 {
  margin-block-end: var(--space-sm);
}

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

.restauracje-bars__list-items li {
  position: relative;
  padding-inline-start: var(--space-lg);
  min-width: 0;
}

.restauracje-bars__list-items li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-mediterranean-azure);
  font-weight: 700;
}

/* Tips */
.restauracje-tips__title {
  margin-block-end: var(--space-xl);
}

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

.restauracje-tip {
  background-color: var(--color-pearl-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
  min-width: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

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

.restauracje-tip__title {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  font-weight: 600;
  margin-block-end: var(--space-sm);
}

.restauracje-tip__text {
  margin-block-end: var(--space-md);
}

.restauracje-tip__facts {
  color: var(--color-olive-green);
  margin: 0;
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-subtle);
}

/* FAQ */
.restauracje-faq__inner {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-lg);
}

.restauracje-faq__title {
  margin: 0;
}

.restauracje-faq__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.restauracje-faq__item {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background-color: var(--color-pearl-white);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.restauracje-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: 100%;
  padding: var(--space-lg);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-heading);
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-leading);
  font-weight: 600;
  color: var(--color-ink-navy);
  border-radius: 0;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.restauracje-faq__trigger:hover {
  background-color: rgba(27, 122, 158, 0.05);
  color: var(--color-mediterranean-azure);
}

.restauracje-faq__trigger:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--color-mediterranean-azure);
}

.restauracje-faq__question {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
}

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

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

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

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

.restauracje-faq__answer {
  display: none;
  padding: 0 var(--space-lg) var(--space-lg);
  border-top: 1px solid var(--color-border-subtle);
}

.restauracje-faq__item[data-open="true"] .restauracje-faq__answer {
  display: block;
}

.restauracje-faq__answer p {
  margin: 0;
  padding-top: var(--space-md);
}

/* CTA */
.restauracje-cta {
  background-color: var(--color-mediterranean-azure);
  padding-block: var(--space-4xl);
}

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

.restauracje-cta__inner .eyebrow {
  color: var(--color-champagne-sand);
}

.restauracje-cta__title {
  color: var(--color-white);
  margin: 0;
}

.restauracje-cta__text {
  color: var(--color-pearl-white);
  margin: 0;
}

.restauracje-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-sm);
}

.restauracje-cta__actions .btn--outline {
  border-color: var(--color-white);
  color: var(--color-white);
}

.restauracje-cta__actions .btn--outline:hover {
  background-color: var(--color-white);
  color: var(--color-mediterranean-azure);
}

/* Responsive */
@media (max-width: 1024px) {
  .restauracje-bars__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 2fr);
  }

  .restauracje-bars__media {
    order: -1;
    grid-column: 1 / -1;
  }

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

  .restauracje-specialty__media {
    order: -1;
  }
}

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

  .restauracje-hero__content {
    padding: var(--space-2xl) var(--container-gutter);
    gap: var(--space-md);
  }

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

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

  .restauracje-section {
    padding-block: var(--space-2xl);
  }

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

  .restauracje-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .restauracje-bars__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
  }

  .restauracje-cta {
    padding-block: var(--space-3xl);
  }
}

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

  .restauracje-hero__content {
    padding: var(--space-xl) var(--container-gutter);
    gap: var(--space-sm);
  }

  .restauracje-hero__title {
    font-size: 2rem;
    line-height: 1.2;
  }

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

  .restauracje-hero__details {
    gap: var(--space-xs);
  }

  .restauracje-hero__details li {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-leading);
  }

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

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

  .restauracje-type-card,
  .restauracje-tip {
    padding: var(--space-md);
    gap: var(--space-sm);
  }

  .restauracje-faq__trigger {
    padding: var(--space-md);
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
  }

  .restauracje-faq__answer {
    padding: 0 var(--space-md) var(--space-md);
  }

  .restauracje-cta {
    padding-block: var(--space-2xl);
  }

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

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

@media (prefers-reduced-motion: reduce) {
  .restauracje-type-card,
  .restauracje-tip {
    transition: none;
  }

  .restauracje-type-card:hover,
  .restauracje-tip:hover {
    transform: none;
  }

  .restauracje-faq__icon::before,
  .restauracje-faq__icon::after {
    transition: none;
  }
}