/* Terms & Privacy — Coming-Soon dark-green background. Left sidebar of policy
   tabs + a bordered content panel showing one policy at a time (mirrors the live
   page's layout). Readable light text. */
.lg {
  background: var(--navy);   /* same as the menu / nav bar */
  color: #eef3ea;
  padding: clamp(28px, 4vw, 64px) 24px clamp(56px, 7vw, 96px);
}
.lg__inner { max-width: 1180px; margin-inline: auto; }
.lg__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.05;
  color: #fff;
  margin-bottom: clamp(20px, 3vw, 36px);
}

.lg__layout { --lg-gap: clamp(20px, 3vw, 48px); display: flex; align-items: flex-start; gap: var(--lg-gap); }

/* ---- sidebar of policy tabs ---- */
.lg-nav {
  flex: 0 0 auto;
  width: clamp(220px, 24vw, 300px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  z-index: 2;   /* the active tab renders above the content panel to connect into it */
  /* tiles stretch to the column width; not sticky, the page scrolls normally */
}
.lg-nav a {
  display: block;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: clamp(15px, 1.5vw, 18px);
  color: #fff;
  padding: 16px 24px;
  border: 1.5px solid transparent;
  border-radius: 8px;
  white-space: nowrap;
  transition: border-color .15s ease, background .15s ease;
}
.lg-nav a:hover { border-color: rgba(255,255,255,.35); }
/* no focus ring on click; keep it for keyboard users */
.lg-nav a:focus:not(:focus-visible) { outline: none; }
/* Active tab: bordered on three sides and OPEN on the right, extended across the
   gap to overlap the content panel's left border so it connects into the panel. */
.lg-nav a.is-active {
  position: relative;
  width: calc(100% + var(--lg-gap) + 1.5px);
  border-color: rgba(255,255,255,.9);
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background: var(--navy);   /* hides the panel's left border where they meet */
}

/* ---- content panel ---- */
.lg-content {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-width: 0;
  border: 1.5px solid rgba(255,255,255,.85);
  border-radius: 0 10px 10px 0;   /* square left corners so the active tab connects flush */
  padding: clamp(22px, 3vw, 44px);
  scroll-margin-top: 100px;   /* clear the sticky nav when a tab scrolls into view */
}
.lg-panel[hidden] { display: none; }
.lg-panel { padding-top: 68px; }   /* first text ~65px from panel top (section-spacing standard) */

/* content typography */
.lg-content h1, .lg-content h2, .lg-content h3, .lg-content h4 {
  font-family: var(--font-display);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}
.lg-content > .lg-panel > h3:first-child { margin-top: 0; }
.lg-content h3 { font-size: clamp(23px, 2.6vw, 32px); margin: clamp(26px, 3vw, 40px) 0 clamp(10px, 1.4vw, 16px); }
.lg-content h2 { font-size: clamp(19px, 2.2vw, 26px); margin: clamp(22px, 2.6vw, 32px) 0 clamp(8px, 1.1vw, 12px); }
.lg-content h4 { font-size: clamp(17px, 1.9vw, 20px); margin: clamp(18px, 2.2vw, 24px) 0 8px; }
.lg-content p, .lg-content li {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(15px, 1.35vw, 16.5px);
  line-height: 1.65;
}
.lg-content p  { margin: 0 0 1em; }
.lg-content ul, .lg-content ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.lg-content ul { list-style: disc; }
.lg-content ol { list-style: decimal; }
.lg-content li { margin-bottom: 0.5em; }
.lg-content strong, .lg-content b { font-weight: 700; color: #fff; }
.lg-content a { color: #ffd76a; text-decoration: underline; overflow-wrap: anywhere; }
.lg-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; }
.lg-content th, .lg-content td { border: 1px solid rgba(255,255,255,.3); padding: 8px 12px; text-align: left; font-family: var(--font-sans); font-size: clamp(14px, 1.3vw, 16px); }

/* CookieYes-injected audit table + "Cookie Settings" button, themed for green bg */
.lg-content .cky-audit-table-element { margin: 0 0 1.4em; overflow-x: auto; }
.lg-content .cky-audit-table-element table { width: 100%; border-collapse: collapse; }
.lg-content .cky-audit-table-element th,
.lg-content .cky-audit-table-element td {
  border: 1px solid rgba(255,255,255,.3) !important;
  background: transparent !important;
  color: #eef3ea !important;
  padding: 8px 12px; text-align: left;
  font-family: var(--font-sans); font-size: clamp(13px, 1.2vw, 15px);
}
.lg-content a.cky-banner-element {
  display: inline-block;
  margin: 6px 0 16px;
  padding: 10px 18px;
  background: #ffd76a; color: var(--navy);
  font-family: var(--font-sans); font-weight: 700;
  border-radius: 8px; text-decoration: none;
}

/* ---- mobile: sidebar stacks on top, becomes a wrapping row ---- */
@media (max-width: 760px) {
  .lg__layout { flex-direction: column; }
  .lg-nav { position: static; width: 100%; flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .lg-nav a { padding: 10px 14px; font-size: 14px; }
  /* no connecting tab when stacked — a normal bordered pill */
  .lg-nav a.is-active { width: auto; border-right: 1.5px solid rgba(255,255,255,.9); border-radius: 8px; }
}
