/* ==========================================================================
   Togo Paws — document pages (policies, legal, about, contact)
   ========================================================================== */

.doc-updated{
  margin:1.1rem 0 0;font-size:.88rem;color:var(--ink-soft);
  padding-top:.9rem;border-top:1px solid var(--sand-line);display:inline-block;
}

.doc-layout{
  display:grid;grid-template-columns:250px minmax(0,1fr);
  gap:clamp(1.8rem,4vw,3.4rem);
  padding-top:clamp(2.2rem,5vw,3.4rem);
  padding-bottom:clamp(2.6rem,6vw,4rem);
  align-items:start;
}

/* Table of contents */
.doc-toc{position:sticky;top:96px;background:#fff;border:1px solid var(--sand-line);
  border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm)}
.doc-toc h2{
  font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--teal-700);margin:0 0 .75rem;
}
.doc-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.doc-toc li{counter-increment:toc;margin-bottom:.45rem;line-height:1.4}
.doc-toc a{font-size:.9rem;color:var(--ink-soft);display:flex;gap:.5rem}
.doc-toc a::before{content:counter(toc);color:var(--coral);font-weight:700;font-size:.78rem;flex:none;min-width:1.1ch}
.doc-toc a:hover{color:var(--coral-dark)}

/* Body */
.doc-body{font-size:1.04rem}
.doc-body > h2{
  scroll-margin-top:96px;font-size:clamp(1.45rem,2.8vw,1.85rem);
  margin:2.6rem 0 .8rem;padding-top:1.6rem;border-top:1px solid var(--sand-line);
}
.doc-body > h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.doc-body h3{font-size:1.16rem;margin:1.7rem 0 .55rem}
.doc-body ul,.doc-body ol{padding-left:1.5rem}
.doc-body li{margin-bottom:.5rem}

.doc-warning{
  background:#fff4e5;border:1px solid #f0d9b0;border-left:4px solid var(--amber);
  border-radius:0 var(--radius) var(--radius) 0;padding:1.1rem 1.3rem;margin:0 0 2rem;
  font-size:.94rem;line-height:1.6;color:#6d5527;
}
.doc-warning strong{display:block;color:#4a3a18;margin-bottom:.25rem}
.doc-warning code{background:#f6e7cd;color:#5a4519;padding:.1em .35em;border-radius:4px;font-size:.9em}

.doc-callout{
  background:var(--teal-100);border-left:4px solid var(--teal-700);
  border-radius:0 var(--radius) var(--radius) 0;padding:1.1rem 1.3rem;margin:1.6rem 0;
  font-size:.96rem;color:var(--teal-900);
}
.doc-callout p:last-child{margin-bottom:0}

.doc-defs{margin:1.4rem 0}
.doc-defs dt{font-weight:700;color:var(--teal-900);margin-top:1rem}
.doc-defs dd{margin:.25rem 0 0;color:var(--ink-soft)}

/* Policy cross-links */
.policy-grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem;
}
.policy-grid a{
  display:block;background:#fff;border:1px solid var(--sand-line);border-radius:var(--radius);
  padding:.85rem 1.1rem;font-weight:600;font-size:.95rem;color:var(--ink);
  transition:border-color .2s var(--ease), transform .2s var(--ease), color .2s var(--ease);
}
.policy-grid a:hover{border-color:var(--coral);color:var(--coral-dark);transform:translateY(-2px)}

/* ── Contact / report forms ───────────────────────────────────────────── */
.form-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.2rem);align-items:start}
.form-card{
  background:#fff;border:1px solid var(--sand-line);border-radius:var(--radius-lg);
  padding:clamp(1.5rem,3vw,2.1rem);box-shadow:var(--shadow);
}
.form-card h2{font-size:1.3rem;margin-bottom:.4rem}
.form-card .form-sub{color:var(--ink-soft);font-size:.95rem;margin-bottom:1.4rem}

.contact-aside{display:grid;gap:1rem}
.contact-block{background:#fff;border:1px solid var(--sand-line);border-radius:var(--radius);padding:1.3rem 1.4rem}
.contact-block h3{
  font-family:var(--font);font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--teal-700);margin:0 0 .5rem;
}
.contact-block p{margin:0 0 .4rem;font-size:.95rem;color:var(--ink-soft);line-height:1.6}
.contact-block a{font-weight:600;overflow-wrap:anywhere}

.file-field{
  border:1.5px dashed var(--sand-line);border-radius:12px;padding:1rem;
  background:#fffdfa;font-size:.92rem;color:var(--ink-soft);
}
.file-field input{border:0;padding:0;background:none;font-size:.92rem}
.file-field:focus-within{border-color:var(--coral)}
.file-hint{font-size:.83rem;color:var(--ink-soft);margin:.5rem 0 0}

.thanks{
  background:#e8f6f0;border:1px solid #b5e0d0;border-radius:var(--radius);
  padding:1.6rem 1.7rem;margin-bottom:1.6rem;
}
.thanks h2{color:#0d6b50;margin-bottom:.4rem;font-size:1.3rem}
.thanks p{margin:0;color:#14624c}

@media (max-width:900px){
  .doc-layout{grid-template-columns:1fr}
  .doc-toc{position:static;order:-1}
  .form-layout{grid-template-columns:1fr}
}
