/* ===============================
   Perky Pen — Terms of Service Styles
   Scope: .pp-terms
   Brand: #FFF6EF, #694029, #EB9C54, #DD7A20, #211D1A
   =============================== */

/* Tokens */

/* === TAN Ashford === */
@font-face {
  font-family: "TAN Ashford";
  src: url("/fonts/ashford-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TAN Ashford";
  src: url("/fonts/ashford-bold-italic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* === Canva Sans === */
@font-face {
  font-family: "Canva Sans";
  src: url("/fonts/CanvaSans-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Canva Sans";
  src: url("/fonts/CanvaSans-RegularItalic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Canva Sans";
  src: url("/fonts/CanvaSans-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Canva Sans";
  src: url("/fonts/CanvaSans-MediumItalic.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Canva Sans";
  src: url("/fonts/CanvaSans-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Canva Sans";
  src: url("/fonts/CanvaSans-BoldItalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* === Apply globally === */
:root {
  --font-display: "TAN Ashford", Georgia, serif;
  --font-body: "Canva Sans", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
}

p, body {
  font-family: var(--font-body);
}

  button,
  .button,         /* common WP class */
  [type="button"],
  [type="submit"],
  [role="button"] {
    font-family: 'Schoolbell', cursive;
    font-weight: 400;   /* Schoolbell only has regular weight */
    letter-spacing: 0.5px; /* optional, improves readability */
  }

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.pp-terms {
  --pp-cream: #FFF6EF;
  --pp-brown: #694029;
  --pp-orange-300: #EB9C54;
  --pp-orange-500: #DD7A20;
  --pp-ink: #211D1A;

  --pp-radius: 14px;
  --pp-shadow: 0 10px 30px rgba(33,29,26,.07);

  --pp-h1: clamp(32px, 4.6vw, 52px);
  --pp-h2: clamp(20px, 2.6vw, 28px);
  --pp-text: clamp(15px, 1.4vw, 17px);
}

/* Base */
.pp-terms {
  background: #fff;
  color: var(--pp-ink);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.7;
}

.pp-terms .container { width: min(1100px, 92%); margin-inline: auto; }

.pp-terms h1,
.pp-terms h2 {
  font-family: "Playfair Display", Georgia, serif; /* fallback for TAN Ashford */
  line-height: 1.2;
  color: var(--pp-brown);
}

.pp-terms h1 { font-size: var(--pp-h1); margin: 0; }
.pp-terms h2 { font-size: var(--pp-h2); margin: 0 0 10px; }

.pp-terms p { font-size: var(--pp-text); margin: 0 0 12px; }

/* Hero */
.pp-terms__hero {
  background: linear-gradient(180deg, var(--pp-cream) 0%, #ffffff 100%);
  padding: 56px 0 36px;
  border-bottom: 1px solid rgba(33,29,26,.08);
}
.pp-terms__meta { color: #6b6b6b; font-size: 0.95em; }
.pp-terms__intro { max-width: 75ch; }

/* TOC */
.pp-terms__toc {
  padding: 18px 0 6px;
  border-bottom: 1px solid rgba(33,29,26,.06);
}
.pp-terms__toc ol {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 18px;
  list-style: decimal inside;
  margin: 0; padding: 0;
}
.pp-terms__toc a {
  text-decoration: none;
  color: var(--pp-ink);
  border-bottom: 1px dashed rgba(33,29,26,.25);
}
.pp-terms__toc a:hover { color: var(--pp-orange-500); border-bottom-color: var(--pp-orange-500); }

/* Body */
.pp-terms__body { padding: 28px 0 80px; }
.pp-terms__body section { padding: 18px 0; border-bottom: 1px solid rgba(33,29,26,.06); }
.pp-terms__body section:last-of-type { border-bottom: 0; }
.pp-terms__address { font-style: normal; }

.pp-terms a { color: var(--pp-brown); }
.pp-terms a:hover { color: var(--pp-orange-500); }

/* Accessibility helpers */
.screen-reader-text {
  position: absolute !important; height: 1px; width: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; word-wrap: normal;
}

/* Responsive */
@media (max-width: 860px) {
  .pp-terms__toc ol { grid-template-columns: 1fr; }
}

/* Print-friendly */
@media print {
  .pp-terms__hero, .pp-terms__toc { border: 0; background: #fff; }
  .pp-terms a { color: #000; text-decoration: underline; }
}
