/* ==========================================================================
   EgoLog product-detail pages — v1
   Every selector is scoped to .egopdpPage / .egopdpBody so nothing can collide
   with globalHeader, shopPage, legalCenter, guides or the calculator.
   Palette, radii and typography are the live EgoLog values (see
   homepage-v2.v1.css and legal-center.v2.css); nothing new was invented.
   ========================================================================== */

.egopdpPage {
  --egopdp-bg: #07101f;
  --egopdp-panel: #0b192b;
  --egopdp-panel-raised: #0e1e33;
  --egopdp-panel-quiet: #0a1729;
  --egopdp-line: #172c47;
  --egopdp-line-strong: #213958;
  --egopdp-text: #e9f2ff;
  --egopdp-text-soft: #a1b5ce;
  --egopdp-text-quiet: #7890ad;
  --egopdp-teal: #49d2b5;
  --egopdp-blue: #5b86ff;
  --egopdp-blue-deep: #4377ff;
  --egopdp-blue-ink: #102746;
  --egopdp-amber: #efbd54;
  --egopdp-accent: #9d82ff;
  --egopdp-font-sans: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
  --egopdp-font-mono: var(--font-geist-mono), ui-monospace, monospace;
  --egopdp-font-display: var(--font-display), var(--egopdp-font-mono);
  --egopdp-radius: 14px;
  --egopdp-radius-sm: 9px;
}

.egopdpPage,
.egopdpPage *,
.egopdpPage *::before,
.egopdpPage *::after {
  box-sizing: border-box;
}

.egopdpPage {
  color: var(--egopdp-text);
  font-family: var(--egopdp-font-sans);
}

.egopdpPage :focus-visible {
  outline: 2px solid var(--egopdp-teal);
  outline-offset: 3px;
  border-radius: 4px;
}

.egopdpPage a {
  color: var(--egopdp-teal);
  text-underline-offset: 2px;
}

.egopdpDoc {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.8vw, 22px);
  padding-bottom: 8px;
}

/* --- hero ----------------------------------------------------------------- */

.egopdpHero {
  padding: 2px 0 6px;
}

.egopdpHero .legalEyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--egopdp-accent);
  font-family: var(--egopdp-font-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.egopdpHero h1 {
  margin: 0 0 10px;
  font-family: var(--egopdp-font-display);
  font-size: clamp(34px, 5.4vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.egopdpLead {
  max-width: 66ch;
  margin: 0;
  color: var(--egopdp-text-soft);
  font-size: clamp(14px, 1.15vw, 15.5px);
  line-height: 1.6;
}

.egopdpHeroMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 12px 0 0;
  color: var(--egopdp-text-quiet);
  font-size: 11.5px;
}

.egopdpVerified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--egopdp-teal);
  font-weight: 700;
}

.egopdpVerified::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--egopdp-teal);
}

/* --- top band: facts + hazard + purchase ---------------------------------- */

.egopdpTop {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(14px, 1.8vw, 20px);
  align-items: start;
}

@media (min-width: 900px) {
  .egopdpTop {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  }
}

.egopdpTopMain {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.6vw, 18px);
  min-width: 0;
}

.egopdpFacts {
  border: 1px solid var(--egopdp-line);
  border-radius: var(--egopdp-radius);
  background: var(--egopdp-panel);
  padding: clamp(14px, 2vw, 20px);
}

.egopdpFacts dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px clamp(12px, 2vw, 26px);
  margin: 0;
}

@media (min-width: 620px) {
  .egopdpFacts dl {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.egopdpFacts dt {
  margin: 0 0 4px;
  color: var(--egopdp-text-quiet);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.egopdpFacts dd {
  margin: 0;
  font-family: var(--egopdp-font-display);
  font-size: clamp(20px, 2.4vw, 26px);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.egopdpFacts dd small {
  display: block;
  margin-top: 5px;
  color: var(--egopdp-text-quiet);
  font-family: var(--egopdp-font-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
}

/* --- hazard strip --------------------------------------------------------- */

.egopdpHazard {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border: 1px solid var(--egopdp-line);
  border-left: 3px solid var(--egopdp-amber);
  border-radius: var(--egopdp-radius);
  background: var(--egopdp-panel-quiet);
  padding: clamp(13px, 1.8vw, 18px);
}

.egopdpHazardIcons {
  display: flex;
  gap: 8px;
}

.egopdpHazardIcons img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.egopdpHazardBody {
  min-width: 0;
}

.egopdpSignal {
  display: block;
  margin-bottom: 5px;
  color: var(--egopdp-amber);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.egopdpStatements {
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--egopdp-text-soft);
  font-size: 13px;
  line-height: 1.5;
}

.egopdpTransport {
  display: inline-block;
  margin-top: 8px;
  color: var(--egopdp-text-quiet);
  font-family: var(--egopdp-font-mono);
  font-size: 11.5px;
}

/* --- purchase panel ------------------------------------------------------- */

.egopdpBuy {
  position: sticky;
  top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid var(--egopdp-line-strong);
  border-radius: var(--egopdp-radius);
  background: linear-gradient(160deg, var(--egopdp-panel-raised), var(--egopdp-panel));
  padding: clamp(16px, 2vw, 22px);
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.28);
}

@media (max-width: 899px) {
  .egopdpBuy {
    position: static;
  }
}

.egopdpBuyTitle {
  margin: 0;
  color: var(--egopdp-text-quiet);
  font-family: var(--egopdp-font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.egopdpPrice {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 54px;
}

.egopdpPriceValue {
  font-family: var(--egopdp-font-display);
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.05;
  letter-spacing: -0.015em;
}

.egopdpPrice[data-egopdp-price-state="loading"] .egopdpPriceValue,
.egopdpPrice[data-egopdp-price-state="unavailable"] .egopdpPriceValue {
  color: var(--egopdp-text-quiet);
  font-family: var(--egopdp-font-sans);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0;
}

.egopdpPriceVat {
  color: var(--egopdp-text-soft);
  font-size: 12px;
}

.egopdpPriceCylinder {
  color: var(--egopdp-text-quiet);
  font-size: 11.5px;
}

.egopdpNotice {
  margin: 0;
  border-radius: var(--egopdp-radius-sm);
  background: rgba(91, 134, 255, 0.09);
  border: 1px solid rgba(91, 134, 255, 0.22);
  padding: 8px 10px;
  color: var(--egopdp-text-soft);
  font-size: 12px;
  line-height: 1.45;
}

.egopdpNotice[data-egopdp-tone="paused"],
.egopdpNotice[data-egopdp-tone="disabled"] {
  background: rgba(239, 189, 84, 0.1);
  border-color: rgba(239, 189, 84, 0.3);
}

.egopdpNotice[data-egopdp-tone="ok"] {
  background: rgba(73, 210, 181, 0.1);
  border-color: rgba(73, 210, 181, 0.28);
}

.egopdpNotice[hidden] {
  display: none;
}

.egopdpNotice strong {
  display: block;
  margin-bottom: 2px;
  color: var(--egopdp-text);
}

.egopdpQuantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--egopdp-text-quiet);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.egopdpStepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--egopdp-line-strong);
  border-radius: var(--egopdp-radius-sm);
  background: rgba(3, 9, 19, 0.55);
  overflow: hidden;
}

.egopdpStepper button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--egopdp-text);
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
}

.egopdpStepper button:hover:not(:disabled) {
  background: rgba(91, 134, 255, 0.16);
}

.egopdpStepper button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.egopdpStepper input {
  width: 62px;
  min-height: 44px;
  border: 0;
  border-inline: 1px solid var(--egopdp-line);
  background: transparent;
  color: var(--egopdp-text);
  font-family: var(--egopdp-font-mono);
  font-size: 14px;
  text-align: center;
  -moz-appearance: textfield;
}

.egopdpStepper input::-webkit-outer-spin-button,
.egopdpStepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.egopdpActions {
  display: grid;
  gap: 8px;
}

.egopdpActions button {
  min-height: 46px;
  border: 1px solid var(--egopdp-line-strong);
  border-radius: var(--egopdp-radius-sm);
  background: rgba(91, 134, 255, 0.12);
  color: var(--egopdp-text);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
}

.egopdpActions button:hover:not(:disabled) {
  background: rgba(91, 134, 255, 0.22);
}

.egopdpActions .egopdpBuyNow {
  border-color: transparent;
  background: var(--egopdp-blue-deep);
  color: #fff;
}

.egopdpActions .egopdpBuyNow:hover:not(:disabled) {
  background: var(--egopdp-blue);
}

.egopdpActions button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.egopdpBuyNote {
  margin: 0;
  color: var(--egopdp-text-quiet);
  font-size: 11.5px;
  line-height: 1.5;
}

.egopdpBuySource {
  padding-top: 8px;
  border-top: 1px solid var(--egopdp-line);
}

.egopdpShopLink {
  align-self: flex-start;
  font-size: 12px;
  font-weight: 700;
}

/* --- sections ------------------------------------------------------------- */

.egopdpPage .egopdpSection {
  border: 1px solid var(--egopdp-line);
  border-radius: var(--egopdp-radius);
  background: var(--egopdp-panel);
  padding: clamp(16px, 2.4vw, 28px);
  scroll-margin-top: 84px;
}

.egopdpPage .egopdpSection h2 {
  margin: 0 0 10px;
  font-family: var(--egopdp-font-display);
  font-size: clamp(18px, 1.8vw, 23px);
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.egopdpPage .egopdpSection h3 {
  margin: 18px 0 8px;
  font-size: 14.5px;
  font-weight: 700;
}

.egopdpSectionLead {
  max-width: 74ch;
  margin: 0 0 14px;
  color: var(--egopdp-text-soft);
  font-size: 14px;
  line-height: 1.62;
}

.egopdpDisclaimer {
  max-width: 78ch;
  margin: 12px 0 0;
  color: var(--egopdp-text-quiet);
  font-size: 12px;
  line-height: 1.55;
}

.egopdpSource {
  margin: 12px 0 0;
  color: var(--egopdp-text-quiet);
  font-size: 12px;
}

.egopdpNote {
  margin: 14px 0 0;
  border: 1px solid var(--egopdp-line-strong);
  border-left: 3px solid var(--egopdp-blue);
  border-radius: var(--egopdp-radius-sm);
  background: var(--egopdp-panel-quiet);
  padding: 12px 14px;
}

.egopdpNote strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
}

.egopdpNote p {
  margin: 0;
  color: var(--egopdp-text-soft);
  font-size: 13px;
  line-height: 1.55;
}

/* --- tables --------------------------------------------------------------- */

.egopdpPage .legalTableScroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.egopdpTable {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: 13px;
}

.egopdpTable caption {
  margin-bottom: 8px;
  color: var(--egopdp-text-quiet);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-align: left;
  text-transform: uppercase;
}

.egopdpTable th,
.egopdpTable td {
  border-bottom: 1px solid var(--egopdp-line);
  padding: 9px 12px 9px 0;
  text-align: left;
  vertical-align: top;
}

.egopdpTable thead th {
  color: var(--egopdp-text-quiet);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.egopdpTable tbody th {
  color: var(--egopdp-text);
  font-family: var(--egopdp-font-mono);
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
}

.egopdpTable td {
  color: var(--egopdp-text-soft);
}

.egopdpOutcome {
  display: inline-block;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.egopdpOutcome[data-outcome="permitted"] {
  color: var(--egopdp-teal);
}

.egopdpOutcome[data-outcome="not-permitted-from-date"],
.egopdpOutcome[data-outcome="equipment-not-permitted-from-date"] {
  color: var(--egopdp-amber);
}

/* --- definition meta ------------------------------------------------------ */

.egopdpMeta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px clamp(14px, 2.4vw, 30px);
  margin: 16px 0 0;
}

@media (min-width: 640px) {
  .egopdpMeta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.egopdpMeta dt {
  margin: 0 0 3px;
  color: var(--egopdp-text-quiet);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.egopdpMeta dd {
  margin: 0;
  color: var(--egopdp-text);
  font-size: 13.5px;
  line-height: 1.5;
}

.egopdpMeta dd small {
  display: block;
  margin-top: 3px;
  color: var(--egopdp-text-quiet);
  font-family: var(--egopdp-font-mono);
  font-size: 11.5px;
}

/* --- lists ---------------------------------------------------------------- */

.egopdpUseList,
.egopdpChecklist,
.egopdpDocList,
.egopdpGuideGrid {
  margin: 0;
  padding: 0;
  list-style: none;
}

.egopdpUseList {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

@media (min-width: 700px) {
  .egopdpUseList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.egopdpUseList li {
  border: 1px solid var(--egopdp-line);
  border-radius: var(--egopdp-radius-sm);
  background: var(--egopdp-panel-quiet);
  padding: 12px 14px;
}

.egopdpUseList b {
  display: block;
  margin-bottom: 3px;
  font-size: 13.5px;
}

.egopdpUseList span {
  color: var(--egopdp-text-soft);
  font-size: 12.5px;
  line-height: 1.5;
}

.egopdpChecklist li {
  position: relative;
  padding: 5px 0 5px 22px;
  color: var(--egopdp-text-soft);
  font-size: 13px;
  line-height: 1.55;
}

.egopdpChecklist li::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 4px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--egopdp-teal);
}

.egopdpDocList li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 12px;
  border-bottom: 1px solid var(--egopdp-line);
  padding: 11px 0;
}

.egopdpDocList a {
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
}

.egopdpDocList a:hover {
  text-decoration: underline;
}

.egopdpDocList small {
  grid-column: 1;
  color: var(--egopdp-text-quiet);
  font-family: var(--egopdp-font-mono);
  font-size: 11px;
}

.egopdpDownload {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--egopdp-text-quiet);
  font-size: 11.5px;
  white-space: nowrap;
}

.egopdpGuideGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

@media (min-width: 700px) {
  .egopdpGuideGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .egopdpGuideGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.egopdpGuideGrid a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  height: 100%;
  border: 1px solid var(--egopdp-line);
  border-radius: var(--egopdp-radius-sm);
  background: var(--egopdp-panel-quiet);
  padding: 14px;
  color: var(--egopdp-text);
  text-decoration: none;
}

.egopdpGuideGrid a:hover,
.egopdpGuideGrid a:focus-visible {
  border-color: var(--egopdp-line-strong);
  background: var(--egopdp-panel-raised);
}

.egopdpGuideGrid span {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.45;
}

.egopdpGuideGrid b {
  color: var(--egopdp-teal);
  font-size: 11.5px;
  font-weight: 800;
}

/* --- choices (eligibility) ------------------------------------------------ */

.egopdpChoices {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

@media (min-width: 760px) {
  .egopdpChoices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.egopdpChoice {
  border: 1px solid var(--egopdp-line);
  border-top: 3px solid var(--egopdp-blue);
  border-radius: var(--egopdp-radius-sm);
  background: var(--egopdp-panel-quiet);
  padding: 14px;
}

.egopdpChoice strong {
  display: block;
  margin-bottom: 5px;
  font-size: 13.5px;
}

.egopdpChoice p {
  margin: 0;
  color: var(--egopdp-text-soft);
  font-size: 12.5px;
  line-height: 1.55;
}

/* --- calls to action ------------------------------------------------------ */

.egopdpCta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 16px 0 0;
}

.egopdpCta small {
  color: var(--egopdp-text-quiet);
  font-size: 11.5px;
}

.egopdpButton {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: var(--egopdp-radius-sm);
  background: var(--egopdp-blue-deep);
  padding: 0 18px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.egopdpButton:hover,
.egopdpButton:focus-visible {
  background: var(--egopdp-blue);
  color: #fff;
}

.egopdpButtonQuiet {
  border-color: var(--egopdp-line-strong);
  background: transparent;
  color: var(--egopdp-text);
}

.egopdpButtonQuiet:hover,
.egopdpButtonQuiet:focus-visible {
  background: rgba(91, 134, 255, 0.14);
  color: var(--egopdp-text);
}

.egopdpInvoiceNote {
  margin: 0;
  color: var(--egopdp-text-soft);
  font-size: 13px;
  line-height: 1.55;
}

/* --- narrow screens ------------------------------------------------------- */

@media (max-width: 520px) {
  .egopdpHazard {
    grid-template-columns: minmax(0, 1fr);
  }

  .egopdpQuantity {
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
  }

  .egopdpStepper {
    justify-content: space-between;
  }

  .egopdpStepper input {
    flex: 1;
    width: auto;
  }

  .egopdpDocList li {
    grid-template-columns: minmax(0, 1fr);
  }

  .egopdpDownload {
    grid-row: auto;
    grid-column: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .egopdpPage * {
    transition: none !important;
    animation: none !important;
  }
}

/* ==========================================================================
   Cascade guards against legal-center.v2.css
   --------------------------------------------------------------------------
   An integrated product page loads legal-center.v3.css, which @imports v2.
   That is deliberate: v2 is what makes the shell, the breadcrumb, the section
   numbering and the data tables look like every other EgoLog page, and those
   rules are kept.

   But v2 also styles bare elements inside .legalSection — p, li, ul, a — and
   several of those selectors outrank this module's single-class rules:

     .legalSection p, .legalSection li   (0,1,1)  beats  .egopdpDisclaimer (0,1,0)
     .legalSection ul, .legalSection ol  (0,1,1)  beats  .egopdpUseList    (0,1,0)
     .legalSection p a, .legalSection li a (0,1,2) beats .egopdpGuideGrid a (0,1,1)

   Each block below re-asserts one of this module's own decisions and names the
   v2 rule it answers. Without them the guide cards collapse to a single line,
   the card lists gain a bullet indent, and the small print is set at body size.
   Verified in Chrome with both stylesheets loaded — see TEST-REPORT.md.
   ========================================================================== */

/* answers: .legalSection ul, .legalSection ol { margin: 12px 0 0; padding-left: 20px } */
.egopdpPage .egopdpUseList,
.egopdpPage .egopdpChecklist,
.egopdpPage .egopdpDocList,
.egopdpPage .egopdpGuideGrid {
  margin: 14px 0 0;
  padding-left: 0;
}

/* answers: .legalSection li { margin: 0 0 9px; padding-left: 4px } */
.egopdpPage .egopdpUseList li,
.egopdpPage .egopdpDocList li,
.egopdpPage .egopdpGuideGrid li {
  margin: 0;
  padding-left: 0;
}

.egopdpPage .egopdpUseList li {
  padding: 12px 14px;
}

.egopdpPage .egopdpDocList li {
  padding: 11px 0;
}

.egopdpPage .egopdpChecklist li {
  margin: 0;
  padding: 5px 0 5px 22px;
}

/* answers: .legalSection p a, .legalSection li a { display: inline; min-height: 0 }
   These are cards and buttons, not prose links. */
.egopdpPage .egopdpGuideGrid li a {
  display: flex;
  min-height: 0;
}

.egopdpPage .egopdpCta a.egopdpButton {
  display: inline-flex;
  min-height: 44px;
}

/* answers: .legalSection a { color: mint; text-decoration: underline } */
.egopdpPage .egopdpButton,
.egopdpPage .egopdpGuideGrid a,
.egopdpPage .egopdpDocList li a {
  text-decoration: none;
}

.egopdpPage .egopdpButton {
  color: #fff;
}

.egopdpPage .egopdpButtonQuiet,
.egopdpPage .egopdpGuideGrid a {
  color: var(--egopdp-text);
}

.egopdpPage .egopdpDocList li a {
  color: var(--egopdp-teal);
}

.egopdpPage .egopdpDocList li a:hover,
.egopdpPage .egopdpDocList li a:focus-visible,
.egopdpPage .egopdpGuideGrid a:hover,
.egopdpPage .egopdpGuideGrid a:focus-visible {
  text-decoration: underline;
}

/* answers: .legalSection p, .legalSection li { color: #9eb0c5; font-size: 16px;
   line-height: 1.78 } — the module's own type hierarchy distinguishes a lead,
   a disclaimer and a source note, and 16px flattens all three into body text. */
.egopdpPage .egopdpSectionLead {
  color: var(--egopdp-text-soft);
  font-size: 14.5px;
  line-height: 1.66;
}

.egopdpPage .egopdpDisclaimer,
.egopdpPage .egopdpSource,
.egopdpPage .egopdpInvoiceNote {
  color: var(--egopdp-text-quiet);
  font-size: 12.5px;
  line-height: 1.6;
}

.egopdpPage .egopdpNote p,
.egopdpPage .egopdpChoice p {
  font-size: 13.5px;
  line-height: 1.6;
}

.egopdpPage .egopdpUseList span,
.egopdpPage .egopdpChecklist li {
  font-size: 13px;
  line-height: 1.55;
}

.egopdpPage .egopdpGuideGrid span {
  color: var(--egopdp-text);
  font-size: 13.5px;
  line-height: 1.45;
}

.egopdpPage .egopdpGuideGrid b {
  color: var(--egopdp-teal);
  font-size: 11.5px;
}

/* answers: .legalSection h3 { margin: 24px 0 9px; font-size: 18px } — kept,
   but the module's h3 sits directly above a card grid and needs less air. */
.egopdpPage .egopdpSection h3 {
  margin: 22px 0 8px;
  font-size: 16px;
}
