/* ==========================================================================
   Pro-Nutrition — long-form legal text pages
   Shared by terms.html (Legal notice) and privacy.html (Privacy policy).

   Mirrors the live theme stack:
     main#main            padding:40px 0 60px
     .e-con.e-parent      margin-top:90px; padding:0 10px
     .e-con-inner         max-width:min(100%,1200px); margin:0 auto; padding:10px 0
     .elementor-widget-text-editor  the typography below
   Inner pages have no hero slider: the text block opens straight below
   the header (first heading sits 140px from the top of the document).
   ========================================================================== */

/* ---------- layout ---------- */
.pn-legal{
  padding:130px 10px 60px;          /* 40px main padding-top + 90px block margin-top */
  overflow:hidden;                  /* main#main clips the wide data tables on narrow screens */
}

.pn-legal__inner{
  width:100%;
  max-width:1200px;
  margin-inline:auto;
  padding:10px 0;
}

/* ---------- base typography ---------- */
.pn-legal__text{
  font-family:var(--pn-font-body);
  font-size:16px;
  line-height:30px;
  font-weight:400;
  color:var(--pn-primary);
}

/* ---------- headings ---------- */
.pn-legal__text h1,
.pn-legal__text h2,
.pn-legal__text h3,
.pn-legal__text h4,
.pn-legal__text h5,
.pn-legal__text h6{
  margin:0;
  font-family:var(--pn-font-head);
  font-weight:700;
  color:var(--pn-brown);
}

.pn-legal__text h2{font-size:30px;line-height:40px;margin-top:38px;margin-bottom:12px}
.pn-legal__text h3{font-size:36px;line-height:50px}
.pn-legal__text h4{font-size:30px;line-height:40px}
.pn-legal__text h5{font-size:24px;line-height:34px}
.pn-legal__text h6{font-size:20px;line-height:30px}

/* ---------- paragraphs ---------- */
.pn-legal__text p{
  margin:0 0 16px;
  font-family:var(--pn-font-body);
  font-size:16px;
  line-height:30px;
}
.pn-legal__text p:last-child{margin-bottom:0}

/* ---------- lists ---------- */
.pn-legal__text ul,
.pn-legal__text ol{
  margin:0;margin-inline-start:6.4px;
  padding:0;padding-block-end:20px;padding-inline-start:14.4px;
  list-style-position:outside;
}
.pn-legal__text ul{list-style-type:disc}
.pn-legal__text ol{list-style-type:decimal}
.pn-legal__text li{
  display:list-item;
  margin:0 0 8px;
  padding:0;
  line-height:30px;
}
.pn-legal__text li:last-child{margin-bottom:0}

/* ---------- inline runs ---------- */
.pn-legal__text strong,
.pn-legal__text b{font-weight:600}
.pn-legal__text em,
.pn-legal__text i{font-style:italic}
.pn-legal__text u{text-decoration:underline}
.pn-legal__text br{line-height:30px}

/* ---------- links (colour comes from the inline runs, keep hover stable) ---------- */
.pn-legal__text a{
  display:inline-block;
  min-block-size:24px;
  max-width:100%;
  vertical-align:baseline;
  color:var(--pn-primary);
  font-weight:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:opacity .3s;
}
.pn-legal__text a:hover{
  color:var(--pn-primary);
  opacity:.75;
}

/* ---------- tables ---------- */
.pn-legal__text table{
  width:100%;
  margin:0 0 22px;
  border-collapse:collapse;
  border-spacing:2px;
  table-layout:auto;
  font-size:16px;
  line-height:30px;
}
.pn-legal__text th,
.pn-legal__text td{
  border:1px solid #ebebee;
  padding:5px 10px;
  text-align:start;
  vertical-align:baseline;
}
.pn-legal__text th{font-weight:600}

/* ---------- verified-status and contact blocks ---------- */
.pn-legal__notice{
  margin-bottom:34px;
  padding:22px 24px;
  border:2px solid var(--pn-coral-ink);
  border-radius:16px;
  background:#fff7ed;
  color:var(--pn-primary);
}
.pn-legal__notice h2{margin-top:0;color:var(--pn-primary)}
.pn-legal__text address{
  margin:14px 0 30px;
  padding:18px 20px;
  border-inline-start:4px solid var(--pn-coral-ink);
  background:#f7f9fa;
  font-style:normal;
}
.pn-legal__text code{
  direction:ltr;
  unicode-bidi:isolate;
  padding:2px 5px;
  border-radius:4px;
  background:#eaf0f3;
  color:var(--pn-primary);
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}

/* ---------- RTL (Hebrew pages set dir="rtl" on <html>) ---------- */
[dir="rtl"] .pn-legal__text td .pn-extref{
  overflow-wrap:anywhere;           /* long Latin URLs may break so the data tables
                                       fit narrow viewports instead of being clipped
                                       by the .pn-legal overflow:hidden; Hebrew words
                                       elsewhere keep their normal breaking */
}

/* ==========================================================================
   Responsive
   This site's Elementor breakpoints are TABLET 1200px and MOBILE 767px, and
   the boxed-container width steps 1200 -> 1024 -> 767 with them.
   Below 1200px the in-flow mobile header also takes the first 80px, so the
   top offset of the text block steps down by the same amount.
   ========================================================================== */

/* ---------- elementor tablet ---------- */
@media (max-width:1200px){
  .pn-legal{padding-top:50px}
  .pn-legal__inner{max-width:1024px}
}

/* ---------- elementor mobile ---------- */
@media (max-width:767px){
  .pn-legal__inner{max-width:767px}
  .pn-legal__text h2{font-size:26px;line-height:34px}
  .pn-legal__text table{display:block;overflow-x:auto;overscroll-behavior-inline:contain}
  .pn-legal__text th,.pn-legal__text td{min-width:180px}
}

@media (max-width:900px){
  .pn-legal{padding:var(--pn-mobile-section) var(--pn-mobile-gutter);overflow:visible}
  .pn-legal__inner{padding:0}
  .pn-legal__text,.pn-legal__text p{font-size:16px;line-height:1.75}
  .pn-legal__text h2{margin-top:32px;font-size:var(--pn-mobile-h2);line-height:1.25}
  .pn-legal__text h3{font-size:var(--pn-mobile-h2);line-height:1.25}
  .pn-legal__notice{padding:20px;border-radius:14px}
  .pn-legal__text table{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
}
