/* Shared styles for the thank-you pages and policy pages.
   Same tokens as index.html so every page feels like one site. */

:root{
  --cream:#FDFBF7; --cream-2:#F8F3EA; --sand:#F1E9DC;
  --line:#E7DCCA; --line-soft:#F0E7DA;
  --ink:#1F1714; --body:#60544A; --muted:#93857A; --faint:#B6A99C;
  --terra:#B5502E; --terra-dk:#8F3D20; --terra-soft:#FBEEE7;
  --gold:#DCA03B; --gold-soft:#F9EDD5;
  --green:#3E7A5C; --green-soft:#E8F1EB;
  --dark:#221A15; --on-dark:#F6EFE4; --on-dark-dim:#B7A896;
  --r-md:14px; --r-lg:22px;
  --shadow-md:0 2px 4px rgba(60,40,25,.05), 0 12px 28px -8px rgba(60,40,25,.13);
  color-scheme:light;
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--cream); color:var(--body);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
a{ color:var(--terra); }
h1,h2,h3{ font-family:'Fraunces',Georgia,serif; color:var(--ink); line-height:1.15; letter-spacing:-.018em; font-weight:600; }

/* ---------- Header / footer ---------- */
.p-header{
  border-bottom:1px solid var(--line);
  background:rgba(253,251,247,.9);
}
.p-header-in{
  max-width:760px; margin-inline:auto; padding:16px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.logo{
  font-family:'Fraunces',serif; font-weight:600; font-size:1.2rem; color:var(--ink);
  text-decoration:none; display:flex; align-items:center; gap:9px; letter-spacing:-.02em;
}
.logo-mark{
  width:24px; height:24px; border-radius:50%;
  background:conic-gradient(from 210deg, var(--gold), var(--terra), var(--gold));
  box-shadow:inset 0 0 0 3px var(--cream);
}
.p-back{ font-size:.86rem; color:var(--muted); text-decoration:none; }
.p-back:hover{ color:var(--terra); }

.p-footer{
  border-top:1px solid var(--line); margin-top:64px;
  padding:28px 22px 36px; text-align:center; font-size:.8rem; color:var(--muted);
}
.p-footer nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin-bottom:10px; }
.p-footer a{ color:var(--muted); text-decoration:none; }
.p-footer a:hover{ color:var(--terra); }

/* ---------- Policy pages ---------- */
.doc{ max-width:760px; margin-inline:auto; padding:52px 22px 0; }
.doc h1{ font-size:clamp(2rem,6vw,2.7rem); margin-bottom:10px; }
.doc .updated{ font-size:.85rem; color:var(--muted); margin-bottom:34px; }
.doc h2{ font-size:1.3rem; margin:38px 0 12px; }
.doc p, .doc li{ font-size:.97rem; margin-bottom:12px; }
.doc ul{ padding-left:22px; margin-bottom:12px; }
.doc strong{ color:var(--ink); font-weight:600; }
.doc .callout{
  background:var(--cream-2); border:1px solid var(--line); border-radius:var(--r-md);
  padding:18px 20px; margin:22px 0;
}
.doc .callout p:last-child{ margin-bottom:0; }

/* ---------- Thank-you pages ---------- */
.ty{ max-width:640px; margin-inline:auto; padding:56px 22px 0; text-align:center; }
.ty-badge{
  width:64px; height:64px; border-radius:50%; margin:0 auto 22px;
  background:var(--green); color:#fff; font-size:1.7rem;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 8px var(--green-soft);
}
.ty h1{ font-size:clamp(2rem,7vw,2.8rem); margin-bottom:14px; }
.ty .lede{ font-size:1.05rem; max-width:480px; margin:0 auto 32px; }

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow-md); padding:28px 26px; text-align:left; margin-bottom:18px;
}
.card h2{ font-size:1.22rem; margin-bottom:8px; }
.card p{ font-size:.95rem; margin-bottom:14px; }
.card p:last-child{ margin-bottom:0; }
.doc .card h2{ margin-top:0; }
.step-n{
  display:inline-block; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--terra); background:var(--terra-soft); padding:4px 10px; border-radius:100px; margin-bottom:12px;
}
.contents{ list-style:none; margin:4px 0 18px; }
.contents li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:.93rem; color:var(--ink); padding:8px 0; border-bottom:1px dashed var(--line-soft);
}
.contents li:last-child{ border-bottom:none; }
.contents li::before{
  content:'✓'; flex-shrink:0; width:18px; height:18px; margin-top:3px; border-radius:50%;
  background:var(--green-soft); color:var(--green); font-size:.6rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

.btn{
  display:flex; align-items:center; justify-content:center; gap:9px; width:100%;
  font-family:'Inter',sans-serif; font-weight:600; font-size:1rem;
  padding:17px 28px; border-radius:100px; text-decoration:none; min-height:48px;
  background:var(--terra); color:#fff; border:none; cursor:pointer;
  box-shadow:0 2px 4px rgba(143,61,32,.18), 0 12px 26px -8px rgba(143,61,32,.42);
  transition:background .18s ease, transform .18s ease;
}
.btn:hover{ background:var(--terra-dk); transform:translateY(-1px); }
.btn-ghost{
  background:transparent; color:var(--ink); border:1.5px solid var(--line); box-shadow:none;
}
.btn-ghost:hover{ background:var(--cream-2); border-color:var(--ink); color:var(--ink); }

.hint{ font-size:.82rem; color:var(--muted); margin-top:12px; text-align:center; }
.note{
  font-size:.86rem; color:var(--muted); text-align:center;
  max-width:500px; margin:26px auto 0; line-height:1.65;
}

.dm-script{
  background:var(--cream-2); border:1px dashed var(--line); border-radius:var(--r-md);
  padding:14px 16px; font-size:.9rem; color:var(--ink); margin:4px 0 16px; line-height:1.6;
}

/* Anything not yet set in config.js — visible on purpose so it can't ship by accident */
.cfg-missing{ outline:2px dashed #D33; outline-offset:3px; }

@media(max-width:520px){
  .doc{ padding-top:38px; }
  .ty{ padding-top:40px; }
  .card{ padding:22px 18px; }
}
