/* Terms and Conditions page styles */

.terms-main {
  background-color: var(--color-cream);
}

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

.terms-container--narrow {
  max-width: 800px;
}

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

.terms-section--cream {
  background-color: var(--color-cream);
  color: var(--color-navy);
}

.terms-section--navy {
  background-color: var(--color-navy);
  color: var(--color-cream);
}

.terms-section--navy h2,
.terms-section--navy h3 {
  color: var(--color-cream);
}

.terms-section--navy p,
.terms-section--navy li,
.terms-section--navy address {
  color: var(--color-cream);
}

.terms-section--navy a {
  color: var(--color-cream);
}

.terms-section--navy a:hover {
  color: var(--color-cream-dark);
}

/* Section 1: Terms Introduction */
.terms-intro {
  padding-block-start: var(--space-9);
  padding-block-end: var(--space-7);
}

.terms-intro__heading-block {
  margin-block-end: var(--space-6);
}

.terms-intro__heading-block .overline {
  margin-block-end: var(--space-3);
}

.terms-intro__heading-block h1 {
  margin-block-end: var(--space-3);
}

.terms-intro__effective-date {
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  color: var(--color-cream-dark);
  margin-block-end: 0;
}

.terms-intro__copy {
  max-width: 68ch;
}

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

/* Section 2: Non-Gambling Declaration */
.terms-non-gambling {
  padding-block: var(--space-7);
}

.terms-policy-card {
  border-inline-start: 4px solid var(--color-forest);
  padding: var(--space-6);
  background-color: var(--color-white-overlay);
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-light);
  border-inline-start-width: 4px;
  border-inline-start-color: var(--color-forest);
}

.terms-policy-card h2 {
  margin-block-end: var(--space-4);
}

.terms-policy-card p {
  max-width: 72ch;
  margin-block-end: var(--space-4);
}

.terms-policy-card p:last-child {
  margin-block-end: 0;
}

/* Section 3: Booking and Payment */
.terms-booking {
  padding-block: var(--space-7);
}

.terms-booking h2 {
  margin-block-end: var(--space-6);
}

.terms-booking__unit {
  margin-block-end: var(--space-6);
}

.terms-booking__unit:last-child {
  margin-block-end: 0;
}

.terms-booking__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-booking__unit p {
  max-width: 72ch;
  margin-block-end: var(--space-4);
}

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

.terms-booking__unit .list--content,
.terms-booking__unit .list--numbered {
  max-width: 72ch;
  margin-block-start: var(--space-3);
}

/* Section 4: Client Responsibilities */
.terms-responsibilities {
  padding-block: var(--space-7);
}

.terms-responsibility-card {
  background-color: var(--color-white-overlay);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-medium);
  padding: var(--space-6);
}

.terms-responsibility-card h2 {
  margin-block-end: var(--space-5);
}

.terms-responsibility-card__unit {
  margin-block-end: var(--space-5);
}

.terms-responsibility-card__unit:last-child {
  margin-block-end: 0;
}

.terms-responsibility-card__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-responsibility-card__unit p {
  max-width: 72ch;
  margin-block-end: var(--space-4);
}

.terms-responsibility-card__unit p:last-child {
  margin-block-end: 0;
}

.terms-responsibility-card__unit .list--content {
  max-width: 72ch;
  margin-block-start: var(--space-3);
}

/* Section 5: Liability Disclaimer */
.terms-liability {
  padding-block: var(--space-7);
}

.terms-disclaimer-block {
  border-inline-start: 4px solid var(--color-burgundy);
  padding: var(--space-6);
  background-color: var(--color-navy-soft);
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-dark);
  border-inline-start-width: 4px;
  border-inline-start-color: var(--color-burgundy);
}

.terms-disclaimer-block h2 {
  margin-block-end: var(--space-5);
}

.terms-disclaimer-block__unit {
  margin-block-end: var(--space-5);
}

.terms-disclaimer-block__unit:last-child {
  margin-block-end: 0;
}

.terms-disclaimer-block__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-disclaimer-block__unit p {
  max-width: 72ch;
  margin-block-end: var(--space-4);
}

.terms-disclaimer-block__unit p:last-child {
  margin-block-end: 0;
}

.terms-disclaimer-block__unit .list--content {
  max-width: 72ch;
  margin-block-start: var(--space-3);
}

/* Section 6: Intellectual Property */
.terms-ip {
  padding-block: var(--space-7);
}

.terms-ip h2 {
  margin-block-end: var(--space-5);
}

.terms-ip__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-ip__unit p {
  max-width: 72ch;
  margin-block-end: 0;
}

/* Section 7: Governing Law */
.terms-law {
  padding-block: var(--space-7);
}

.terms-law h2 {
  margin-block-end: var(--space-5);
}

.terms-law__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-law__unit p {
  max-width: 72ch;
  margin-block-end: 0;
}

/* Section 8: Changes to Terms */
.terms-changes {
  padding-block: var(--space-7);
  border-block-start: 2px solid var(--color-forest);
}

.terms-changes h2 {
  margin-block-end: var(--space-5);
}

.terms-changes__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-changes__unit p {
  max-width: 72ch;
  margin-block-end: 0;
}

/* Section 9: Contact Information */
.terms-contact {
  padding-block: var(--space-7);
}

.terms-contact h2 {
  margin-block-end: var(--space-5);
}

.terms-contact__unit h3 {
  margin-block-end: var(--space-3);
}

.terms-contact__unit p {
  max-width: 72ch;
  margin-block-end: var(--space-4);
}

.terms-contact__unit address {
  font-style: normal;
  max-width: 72ch;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .terms-container {
    padding-inline: var(--gutter-mobile);
  }

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

  .terms-intro {
    padding-block-start: var(--space-7);
    padding-block-end: var(--space-6);
  }

  .terms-policy-card,
  .terms-responsibility-card,
  .terms-disclaimer-block {
    padding: var(--space-5);
  }
}

@media (max-width: 480px) {
  .terms-container {
    padding-inline: var(--gutter-mobile);
  }

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

  .terms-intro {
    padding-block-start: var(--space-6);
    padding-block-end: var(--space-5);
  }

  .terms-policy-card,
  .terms-responsibility-card,
  .terms-disclaimer-block {
    padding: var(--space-4);
  }

  .terms-intro__heading-block h1 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .terms-policy-card p,
  .terms-booking__unit p,
  .terms-responsibility-card__unit p,
  .terms-disclaimer-block__unit p,
  .terms-ip__unit p,
  .terms-law__unit p,
  .terms-changes__unit p,
  .terms-contact__unit p {
    max-width: 100%;
  }
}

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