/* ==========================================================================
   Privacy Policy Page Styling
   Matches design format from: PRIVACY POLICY.jpg
   ========================================================================== */

/* Full Page Container Alignment */
.legal-page-layout {
  background-color: #ffffff; /* Pure white background matching design specs */
  padding: 100px 0 140px 0;
  font-family: "Satoshi", sans-serif;
  color: #1a202c; /* Sharp, readable dark slate text */
  -webkit-font-smoothing: antialiased;
}

/* Master Responsive Structural Grid - Equal 50/50 Split Grid */
.legal-container {
  max-width: 100%; /* Spans across the full width of the viewport screen */
  margin: 0 auto;
  padding: 0 60px; /* Side spacing for elegant presentation layout */
  display: grid;
  grid-template-columns: 1fr 1fr; /* Two matching equal column segments */
  gap: 80px;
  align-items: flex-start;
}

/* Left Column Heading Block */
.legal-sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 100px; /* Floats smoothly as the user scrolls down the legal text */
}

.legal-main-title {
  font-size: 52px;
  font-weight: 500;
  color: #005c3e; /* Signature Rootus Food Deep Green */
  line-height: 120%;
  letter-spacing: 0%;
  margin: 0;
  text-transform: uppercase;
}

/* Right Column Content Block Customization */
.legal-content-body {
  background-color: #ffffff; /* Explicitly flattens background panels */
  padding: 0;
  margin: 0;
}

/* Legal Numbered List System Layout */
.legal-sections-list {
  list-style: none; /* Uses custom counter layouts */
  counter-reset: privacy-counter;
  padding: 0;
  margin: 0;
}

/* Clause Blocks */
.legal-sections-list > li {
  counter-increment: privacy-counter;
  margin-bottom: 50px;
}

.legal-sections-list > li:last-child {
  margin-bottom: 0;
}

/* Section Title Styling */
.legal-sections-list > li h2 {
  font-size: 32px;
  font-weight: 500;
  color: #005c3e; /* Matches branding headers */
  margin: 0 0 18px 0;
  display: block;
  line-height: 110%;
  letter-spacing: 0%;
}

/* Injecting Sequential Custom Numbers Before Heading Text */
.legal-sections-list > li h2::before {
  content: counter(privacy-counter) ". ";
  color: #005232;
}

/* Paragraph Content Elements inside Legal Copy */
.legal-content-body p {
  font-size: 1rem;
  line-height: 1.65;
  color: #4a5568; /* Softened typography color for optimal text legibility */
  margin: 0 0 16px 0;
  text-align: justify;
}

.legal-content-body p:last-child {
  margin-bottom: 0;
}

/* Sub-lists format (Specifically found inside Section 3, 4 and 9) */
.legal-content-body ul {
  margin: 15px 0 20px 20px;
  padding: 0;
  list-style-type: disc;
}

.legal-content-body ul li {
  font-size: 1rem;
  line-height: 1.6;
  color: #4a5568;
  margin-bottom: 8px;
  padding-left: 5px;
  text-align: justify;
}

/* ==========================================================================
   Responsive Adaptations (Tablet & Mobile viewports)
   ========================================================================== */
@media (max-width: 1024px) {
  .legal-container {
    grid-template-columns: 1fr; /* Drops columns into a one-column stack format */
    gap: 50px;
    padding: 0 30px;
  }

  .legal-sidebar {
    position: static; /* Disables sticky positioning logic on smaller viewports */
  }

  .legal-main-title {
    font-size: 2.25rem;
  }

  .legal-main-title br {
    display: none; /* Flows heading across a single line smoothly */
  }
}

@media (max-width: 640px) {
  .legal-page-layout {
    padding: 60px 0 80px 0;
  }

  .legal-container {
    padding: 0 20px;
  }

  .legal-sections-list > li h2 {
    font-size: 1.25rem;
  }

  .legal-content-body p,
  .legal-content-body ul li {
    font-size: 0.95rem;
    text-align: left; /* Swaps out justified rules to optimize spacing on narrow mobile displays */
  }
}
