/* ===== Regulamin Page Styles ===== */

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

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

.regulamin-h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  color: var(--color-primary-brand);
  margin-block-end: var(--space-5);
  text-align: left;
}

.regulamin-h2-light {
  color: var(--color-text-on-plum);
}

.regulamin-h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: var(--color-primary-brand);
  margin-block-end: var(--space-3);
}

.regulamin-h3-light {
  color: var(--color-text-on-plum);
}

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

.regulamin-list li {
  position: relative;
  padding-inline-start: var(--space-4);
  line-height: var(--line-height-body);
}

.regulamin-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-primary-accent);
}

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

.regulamin-list-light li {
  color: var(--color-text-on-plum);
}

.regulamin-link {
  color: var(--color-primary-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition-fast);
}

.regulamin-link:hover {
  color: var(--color-surface);
}

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

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

.regulamin-intro-heading {
  min-width: 0;
}

.regulamin-intro-heading h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
  color: var(--color-primary-brand);
  margin-block-end: var(--space-4);
  text-align: left;
}

.regulamin-lead {
  max-width: 42rem;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  color: var(--color-text-on-sand);
  margin-block-end: 0;
}

.regulamin-intro-list {
  min-width: 0;
}

.regulamin-subtitle {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
  color: var(--color-primary-brand);
  margin-block-end: var(--space-3);
}

/* General Section */
.regulamin-general {
  background-color: var(--color-background);
}

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

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

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

.regulamin-table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: 0;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.regulamin-table th,
.regulamin-table td {
  padding: var(--space-2) var(--space-3);
  text-align: left;
  border-block-end: var(--border-subtle);
}

.regulamin-table th {
  font-weight: 600;
  color: var(--color-primary-brand);
}

.regulamin-table-light th {
  color: var(--color-text-on-plum);
}

.regulamin-table-light td {
  color: var(--color-text-on-plum);
}

/* Reservations Section */
.regulamin-reservations {
  background-color: var(--color-primary-brand);
  color: var(--color-text-on-plum);
}

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

.regulamin-reservations-details {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.regulamin-detail-block {
  min-width: 0;
}

.regulamin-detail-block p {
  color: var(--color-text-on-plum);
  margin-block-end: var(--space-3);
}

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

.regulamin-warning-block {
  border-inline-start: 3px solid var(--color-primary-accent);
  padding-inline-start: var(--space-3);
}

.regulamin-summary {
  background-color: rgba(232, 220, 200, 0.08);
  border-radius: var(--radius-medium);
  padding: var(--card-padding);
  border: 1px solid rgba(232, 220, 200, 0.2);
  min-width: 0;
}

.regulamin-summary .regulamin-h3 {
  color: var(--color-text-on-plum);
}

/* Menu Section */
.regulamin-menu {
  background-color: var(--color-background);
}

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

/* Casino Section */
.regulamin-casino {
  background-color: var(--color-primary-brand);
  color: var(--color-text-on-plum);
}

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

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

/* Responsible Section */
.regulamin-responsible {
  background-color: var(--color-background);
}

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

.regulamin-help-card {
  background-color: var(--color-surface);
  border-radius: var(--radius-medium);
  padding: var(--card-padding);
  border: var(--border-subtle);
  box-shadow: var(--shadow-card);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.regulamin-helpline {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: var(--font-weight-heading);
  color: var(--color-primary-accent);
  margin-block-end: 0;
}

.regulamin-helpline a {
  color: var(--color-primary-accent);
  text-decoration: none;
}

.regulamin-helpline a:hover {
  color: var(--color-primary-brand);
}

/* Privacy Section */
.regulamin-privacy {
  background-color: var(--color-background);
}

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

/* Final Section */
.regulamin-final {
  background-color: var(--color-background);
}

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

/* Contact Section */
.regulamin-contact {
  background-color: var(--color-primary-brand);
  color: var(--color-text-on-plum);
  text-align: center;
}

.regulamin-contact-block {
  max-width: 32rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.regulamin-contact-block p {
  color: var(--color-text-on-plum);
  margin-block-end: 0;
}

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

.regulamin-contact-list li {
  color: var(--color-text-on-plum);
}

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

  .regulamin-general-grid,
  .regulamin-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .regulamin-reservations-grid,
  .regulamin-responsible-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

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

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

  .regulamin-general-grid,
  .regulamin-menu-grid,
  .regulamin-privacy-grid,
  .regulamin-final-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .regulamin-general-grid .regulamin-card:last-child {
    grid-column: auto;
  }

  .regulamin-intro-heading h1 {
    font-size: var(--font-size-h1);
  }

  .regulamin-lead {
    max-width: 100%;
  }

  .regulamin-contact-block {
    max-width: 100%;
  }
}

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

  .regulamin-h2 {
    font-size: var(--font-size-h2);
  }

  .regulamin-intro-heading h1 {
    font-size: var(--font-size-h1);
  }

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

  .regulamin-summary,
  .regulamin-help-card {
    padding: var(--space-3);
  }
}
