/* ===== TERMS AND CONDITIONS PAGE STYLES ===== */
/* Page-owned styles scoped to .terms-page or page-owned component roots. */

.terms-page {
  --tc-section-padding: var(--space-xxl);
  --tc-card-padding: var(--card-padding);
  --tc-card-radius: var(--radius-md);
  --tc-card-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  --tc-border: 1px solid var(--color-bronze-soft);
  --tc-text-measure: 75ch;
  --tc-text-measure-general: 70ch;
}

/* Section title shared by all sections */
.terms-section-title {
  margin-block-end: var(--space-lg);
  color: var(--color-ink);
}

/* ===== HERO ===== */
.terms-hero {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-cream);
}

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

.terms-hero__eyebrow {
  font-size: var(--font-size-small);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-terracotta);
  margin-block-end: 0;
}

.terms-hero__title {
  font-size: var(--font-size-display);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  color: var(--color-ink);
  margin-block-end: 0;
}

.terms-hero__lead {
  font-size: 1.125rem;
  line-height: var(--line-height-body);
  color: var(--color-ink);
  max-width: 70ch;
  margin-block-end: 0;
}

.terms-hero__note {
  background-color: var(--color-sand);
  border: var(--tc-border);
  border-radius: var(--tc-card-radius);
  padding: var(--space-md);
  box-shadow: var(--tc-card-shadow);
  max-width: 70ch;
}

.terms-hero__note p {
  margin-block-end: 0;
}

/* ===== GENERAL SECTION ===== */
.terms-general {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-sand);
}

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

.terms-general__card {
  background-color: var(--color-cream);
  border: var(--tc-border);
  border-radius: var(--tc-card-radius);
  padding: var(--tc-card-padding);
  box-shadow: var(--tc-card-shadow);
  min-width: 0;
}

.terms-general__card p,
.terms-general__card ul {
  max-width: var(--tc-text-measure-general);
}

.terms-card__title {
  margin-block-end: var(--space-sm);
  color: var(--color-ink);
}

.terms-card__highlight {
  font-weight: 600;
  color: var(--color-terracotta);
  border-inline-start: 3px solid var(--color-terracotta);
  padding-inline-start: var(--space-sm);
}

.terms-definition-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-end: var(--space-sm);
}

.terms-definition-list li {
  padding-inline-start: var(--space-sm);
  position: relative;
}

.terms-definition-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-terracotta);
}

/* ===== WEBSITE SECTION ===== */
.terms-website {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-cream);
}

.terms-website__inner {
  max-width: 100%;
}

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

.terms-website__block {
  max-width: var(--tc-text-measure);
}

.terms-website__block p,
.terms-website__block ul {
  max-width: var(--tc-text-measure);
}

/* ===== RESERVATION SECTION ===== */
.terms-reservation {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-sand);
}

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

.terms-reservation__card {
  background-color: var(--color-cream);
  border: var(--tc-border);
  border-radius: var(--tc-card-radius);
  padding: var(--tc-card-padding);
  box-shadow: var(--tc-card-shadow);
  min-width: 0;
}

.terms-reservation__card p,
.terms-reservation__card ul {
  max-width: var(--tc-text-measure);
}

/* ===== CASINO SECTION ===== */
.terms-casino {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-cream);
}

.terms-casino__inner {
  max-width: 100%;
}

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

.terms-casino__block {
  max-width: var(--tc-text-measure);
}

.terms-casino__block p,
.terms-casino__block ul {
  max-width: var(--tc-text-measure);
}

.terms-casino__hours {
  font-weight: 600;
  color: var(--color-terracotta);
}

/* ===== CHIPS SECTION ===== */
.terms-chips {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-sand);
}

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

.terms-chips__card {
  background-color: var(--color-cream);
  border: var(--tc-border);
  border-radius: var(--tc-card-radius);
  padding: var(--tc-card-padding);
  box-shadow: var(--tc-card-shadow);
  min-width: 0;
}

.terms-chips__card p,
.terms-chips__card ul {
  max-width: var(--tc-text-measure);
}

/* ===== DATA SECTION ===== */
.terms-data {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-cream);
}

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

.terms-data__card {
  background-color: var(--color-sand);
  border: var(--tc-border);
  border-radius: var(--tc-card-radius);
  padding: var(--tc-card-padding);
  box-shadow: var(--tc-card-shadow);
  min-width: 0;
}

.terms-data__card p,
.terms-data__card ul {
  max-width: var(--tc-text-measure);
}

/* ===== FINAL SECTION ===== */
.terms-final {
  padding-block: var(--tc-section-padding);
  background-color: var(--color-sand);
}

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

.terms-final__card {
  background-color: var(--color-cream);
  border: var(--tc-border);
  border-radius: var(--tc-card-radius);
  padding: var(--tc-card-padding);
  box-shadow: var(--tc-card-shadow);
  min-width: 0;
}

.terms-final__card p,
.terms-final__card ul {
  max-width: var(--tc-text-measure);
}

.terms-final__date {
  font-weight: 600;
  color: var(--color-terracotta);
}

/* ===== SHARED LIST STYLES ===== */
.terms-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-block-end: var(--space-sm);
}

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

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

/* ===== LINKS ===== */
.terms-page a {
  color: var(--color-terracotta);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color var(--transition-fast);
}

.terms-page a:hover {
  color: var(--color-terracotta-dark);
}

.terms-page a:focus-visible {
  outline: 2px solid var(--color-olive);
  outline-offset: 2px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
  .terms-general__grid,
  .terms-reservation__grid,
  .terms-chips__grid,
  .terms-data__grid,
  .terms-final__grid {
    grid-template-columns: 1fr;
  }

  .terms-website__block,
  .terms-casino__block {
    max-width: 100%;
  }

  .terms-website__block p,
  .terms-website__block ul,
  .terms-casino__block p,
  .terms-casino__block ul {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .terms-page {
    --tc-section-padding: var(--section-padding-mobile);
  }

  .terms-hero__inner {
    max-width: 100%;
  }

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

  .terms-hero__lead,
  .terms-hero__note {
    max-width: 100%;
  }

  .terms-general__card,
  .terms-reservation__card,
  .terms-chips__card,
  .terms-data__card,
  .terms-final__card {
    padding: var(--space-md);
  }
}

@media (max-width: 480px) {
  .terms-page {
    --tc-section-padding: 1.5rem;
    --tc-card-padding: var(--space-sm);
  }

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

  .terms-hero__title {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
  }

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