/*
  Argo legal pages — ARGO-MYTHOS-02 (privacy + terms)
  Scoped to body.argo-legal-page. Loaded only on those two slugs.
  To revert: delete this file (+ argo-legal.js) and remove the argo_legal_* block from functions.php.
*/
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&family=DM+Sans:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,500;0,600;1,500&display=swap");

body.argo-legal-page {
  --lg-plum: #2a141c;
  --lg-cream: #fdf0e3;
  --lg-paper: #fffaf5;
  --lg-pink: #f2a0c0;
  --lg-pink-soft: #f9d3e1;
  --lg-raspberry: #dd527e;
  --lg-berry: #a8325a;
  --lg-gold: #e8b04b;
  --lg-line: #ebcfd9;
  --lg-soft-text: #6b4452;
  --lg-body-text: #4a2633;
  --lg-display: "Cormorant Garamond", Georgia, serif;
  --lg-heading: "EB Garamond", Georgia, serif;
  --lg-label: "Cinzel", Georgia, serif;
  --lg-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  background: var(--lg-cream);
  color: var(--lg-plum);
  overflow-x: clip;
}

body.argo-legal-page .argo-legal,
body.argo-legal-page .section_wrap.info-page {
  font-family: var(--lg-body);
  color: var(--lg-plum);
  background: var(--lg-cream);
  overflow-x: clip;
}

body.argo-legal-page .section_wrap.info-page *,
body.argo-legal-page .section_wrap.info-page *::before,
body.argo-legal-page .section_wrap.info-page *::after {
  box-sizing: border-box;
}

/* ---------- Shell ---------- */

body.argo-legal-page .section_wrap.info-page {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(3rem, 6vw, 5.5rem);
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.argo-legal-page .section_wrap.info-page > .container-fluid {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 4vw, 1.75rem);
  padding-right: clamp(1rem, 4vw, 1.75rem);
  width: 100%;
}

body.argo-legal-page .section_wrap.info-page .row {
  margin-left: 0;
  margin-right: 0;
  min-width: 0;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
  min-width: 0;
}

/* ---------- Two-column body (JS inserts .argo-legal-layout) ---------- */

body.argo-legal-page .argo-legal-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: stretch;
  width: 100%;
}

@media (min-width: 992px) {
  body.argo-legal-page .argo-legal-layout {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
  }
}

/* ---------- Title + Greek eyebrow + bolt + art ---------- */

body.argo-legal-page .section_wrap.info-page .page-title {
  position: relative;
  display: block;
  margin: 0 0 1.75rem !important;
  padding: 0 7.5rem 1.5rem 0 !important;
  border-bottom: 1px solid var(--lg-line);
  font-family: var(--lg-display);
  font-size: clamp(2.4rem, 6vw, 3.75rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.05;
  color: var(--lg-plum);
  text-transform: none;
  max-width: 100%;
}

body.argo-legal-page .section_wrap.info-page .page-title::before {
  content: "Απόρρητο";
  display: flex;
  width: fit-content;
  margin-bottom: 0.85rem;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--lg-heading);
  font-size: 1.15rem;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.2;
  color: var(--lg-berry);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36' fill='%23E8B04B'%3E%3Cpath d='M13 0 L4 18 H11 L9 36 L20 14 H13 Z' stroke='%232A141C' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0.7rem 1.05rem;
  padding-left: 1.15rem;
}

body.argo-legal-terms .section_wrap.info-page .page-title::before {
  content: "Όροι χρήσης";
}

body.argo-legal-page .section_wrap.info-page .page-title em {
  font-style: italic;
  font-weight: 600;
  color: var(--lg-raspberry);
}

body.argo-legal-page .argo-legal-art {
  position: absolute;
  right: 0;
  top: 0;
  width: clamp(5.5rem, 12vw, 8.5rem);
  line-height: 0;
  pointer-events: none;
}

body.argo-legal-page .argo-legal-art__svg {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 600px) {
  body.argo-legal-page .section_wrap.info-page .page-title {
    padding-right: 0 !important;
  }

  body.argo-legal-page .argo-legal-art {
    display: none;
  }
}

/* ---------- On this page (TOC) ---------- */

body.argo-legal-page .argo-legal-toc {
  background: var(--lg-paper);
  border: 1.5px solid var(--lg-plum);
  border-radius: 22px;
  padding: 1rem 0.85rem 1.1rem;
  color: var(--lg-plum);
  min-width: 0;
}

@media (min-width: 992px) {
  body.argo-legal-page .argo-legal-toc {
    position: sticky;
    top: 6.5rem;
    padding: 1.25rem 0.9rem 1.35rem;
  }

  body.argo-legal-page .argo-legal-toc > summary {
    pointer-events: none;
    list-style: none;
  }

  body.argo-legal-page .argo-legal-toc > summary::-webkit-details-marker {
    display: none;
  }
}

body.argo-legal-page .argo-legal-toc__summary {
  font-family: var(--lg-label);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lg-berry);
  cursor: pointer;
  padding: 0.15rem 0.55rem 0.55rem;
}

body.argo-legal-page .argo-legal-toc__summary:focus-visible {
  outline: 3px solid var(--lg-raspberry);
  outline-offset: 3px;
  border-radius: 8px;
}

body.argo-legal-page .argo-legal-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: argo-toc;
}

body.argo-legal-page .argo-legal-toc__list li {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-increment: argo-toc;
}

body.argo-legal-page .argo-legal-toc__list a {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  color: var(--lg-plum);
  text-decoration: none;
  font-family: var(--lg-body);
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.35;
  transition: background-color 160ms ease, color 160ms ease;
}

body.argo-legal-page .argo-legal-toc__list a::before {
  content: counter(argo-toc) ".";
  flex: 0 0 auto;
  font-weight: 700;
  color: var(--lg-raspberry);
}

body.argo-legal-page .argo-legal-toc__list a:hover {
  background: var(--lg-pink-soft);
  color: var(--lg-plum);
}

body.argo-legal-page .argo-legal-toc__list a:focus-visible {
  outline: 3px solid var(--lg-raspberry);
  outline-offset: 2px;
}

/* ---------- Content card ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12 {
  background: var(--lg-paper);
  border: 1.5px solid var(--lg-plum);
  border-radius: 28px;
  padding: clamp(1.35rem, 3.5vw, 2.35rem) clamp(1.2rem, 3.5vw, 2.5rem)
    clamp(1.6rem, 4vw, 2.75rem);
  counter-reset: argo-legal-section;
}

/* ---------- Beat theme global p / li / heading colours ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12,
body.argo-legal-page .section_wrap.info-page .col-md-12 p,
body.argo-legal-page .section_wrap.info-page .col-md-12 li {
  color: var(--lg-body-text);
  font-family: var(--lg-body);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 p {
  margin: 0 0 1rem;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 p:last-child {
  margin-bottom: 0;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 strong,
body.argo-legal-page .section_wrap.info-page .col-md-12 b {
  color: var(--lg-plum);
  font-weight: 600;
}

/* ---------- Section headings + pink counters ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12 h1,
body.argo-legal-page .section_wrap.info-page .col-md-12 h2,
body.argo-legal-page .section_wrap.info-page .col-md-12 h3,
body.argo-legal-page .section_wrap.info-page .col-md-12 h4,
body.argo-legal-page .section_wrap.info-page .col-md-12 h5,
body.argo-legal-page .section_wrap.info-page .col-md-12 h6 {
  margin: 0 0 0.85rem;
  font-family: var(--lg-heading);
  font-weight: 600;
  line-height: 1.2;
  color: var(--lg-plum);
  letter-spacing: 0;
  scroll-margin-top: 6rem;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 h2,
body.argo-legal-page .section_wrap.info-page .col-md-12 h3,
body.argo-legal-page .section_wrap.info-page .col-md-12 h4 {
  display: flex;
  gap: 0.7rem;
  align-items: baseline;
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  counter-increment: argo-legal-section;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 h2::before,
body.argo-legal-page .section_wrap.info-page .col-md-12 h3::before,
body.argo-legal-page .section_wrap.info-page .col-md-12 h4::before {
  content: counter(argo-legal-section) ".";
  flex: 0 0 auto;
  font-family: var(--lg-display);
  font-weight: 700;
  font-size: 1.05em;
  color: var(--lg-raspberry);
  line-height: 1;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 :is(h2, h3, h4) ~ :is(h2, h3, h4) {
  margin-top: 1.65rem;
  padding-top: 1.5rem;
  border-top: 1px dashed #e3bfcb;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 h5,
body.argo-legal-page .section_wrap.info-page .col-md-12 h6 {
  font-size: 1.15rem;
}

/* ---------- Lists (theme zeros list-style globally) ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12 ul,
body.argo-legal-page .section_wrap.info-page .col-md-12 ol {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
  color: var(--lg-body-text);
  font-size: 1.0625rem;
  line-height: 1.7;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 ul {
  list-style: disc;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 ol {
  list-style: decimal;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 ul li,
body.argo-legal-page .section_wrap.info-page .col-md-12 ol li {
  list-style: inherit;
  margin: 0 0 0.4rem;
  padding: 0;
  color: var(--lg-body-text);
}

body.argo-legal-page .section_wrap.info-page .col-md-12 li::marker {
  color: var(--lg-berry);
}

/* ---------- Soft pink callout for blockquotes ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12 blockquote {
  margin: 1.35rem 0;
  padding: 1.15rem 1.35rem;
  background: var(--lg-pink-soft);
  border: 0;
  border-left: 4px solid var(--lg-raspberry);
  border-radius: 18px;
  color: var(--lg-body-text);
  font-family: var(--lg-heading);
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.55;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 blockquote p {
  margin: 0 0 0.65rem;
  color: var(--lg-body-text);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 blockquote p:last-child {
  margin-bottom: 0;
}

/* ---------- Links ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12 a,
body.argo-legal-page .section_wrap.info-page .info-page p a,
body.argo-legal-page .section_wrap.info-page p a {
  color: var(--lg-berry);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
  transition: color 160ms ease;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 a:hover {
  color: var(--lg-plum);
}

body.argo-legal-page .section_wrap.info-page a:focus-visible,
body.argo-legal-page .section_wrap.info-page .page-title:focus-visible {
  outline: 3px solid var(--lg-raspberry);
  outline-offset: 3px;
}

/* ---------- Tables ---------- */

body.argo-legal-page .section_wrap.info-page .col-md-12 table {
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.25rem;
  border-collapse: collapse;
  font-size: 0.98rem;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 th,
body.argo-legal-page .section_wrap.info-page .col-md-12 td {
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--lg-line);
  color: var(--lg-body-text);
  text-align: left;
  vertical-align: top;
}

body.argo-legal-page .section_wrap.info-page .col-md-12 th {
  background: var(--lg-pink-soft);
  color: var(--lg-plum);
  font-weight: 600;
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
  body.argo-legal-page .section_wrap.info-page a,
  body.argo-legal-page .argo-legal-toc__list a {
    transition: none;
  }
}

/* ---------- Narrow phones ---------- */

@media (max-width: 760px) {
  body.argo-legal-page .section_wrap.info-page {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }

  body.argo-legal-page .section_wrap.info-page .page-title {
    font-size: 2.35rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1.15rem !important;
  }

  body.argo-legal-page .section_wrap.info-page .col-md-12 {
    border-radius: 22px;
  }
}

/* Headings that already start with their own number (e.g. Terms: "1. Registration"): no second pink number. */
body.argo-legal-page .section_wrap.info-page .col-md-12 .argo-legal-has-number::before {
  content: none !important;
  display: none !important;
}
