/* BOTANIQ LABS — shared styles for Privacy / Terms / Returns pages.
   Uses the same tokens, type scale and spacing rhythm as the homepage. */

:root{
  --cream:#fbf7ef;
  --cream-2:#f5ede0;
  --cream-3:#efe5d4;
  --card:#fffdf8;
  --ink:#14120d;
  --ink-2:#3e382e;
  --ink-3:#6e6557;
  --gold:#9c7415;
  --gold-deep:#7a5a10;
  --gold-bright:#c9a227;
  --amber-wash:rgba(201,162,39,0.10);
  --line: rgba(20,18,13,0.14);
  --line-strong: rgba(20,18,13,0.22);
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:92px;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  *{transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}
a{color:inherit;}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.15;}

.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.mono{font-family:'JetBrains Mono', monospace;}
.eyebrow{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold);
}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:300;
  background:var(--ink); color:var(--cream); padding:12px 18px;
  font-family:'JetBrains Mono', monospace; font-size:12px; text-decoration:none;
}
.skip-link:focus{left:8px; top:8px;}

/* ---------- NAV ---------- */
nav{
  position:sticky; top:0; z-index:50;
  background:rgba(251,247,239,0.9);
  backdrop-filter: blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(201,162,39,0.16);
}
nav .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:20px; padding-bottom:20px;}
.brand{
  font-family:'Fraunces', serif; font-weight:600; font-size:19px; letter-spacing:0.03em;
  color:var(--ink); text-decoration:none; white-space:nowrap;
}
.brand span{color:var(--gold);}
.btn{
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.06em;
  background:linear-gradient(155deg, var(--gold-bright), #b28c17 60%);
  color:var(--ink); border:none; padding:12px 22px;
  text-decoration:none; text-transform:uppercase; cursor:pointer;
  display:inline-block; text-align:center; line-height:1.4; white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  box-shadow:0 1px 0 rgba(255,255,255,0.45) inset, 0 8px 20px -8px rgba(122,90,16,0.5);
}
.btn:hover{background:linear-gradient(155deg, #e0bc5c, var(--gold-bright) 60%); transform:translateY(-2px);}
.btn:focus-visible, a:focus-visible{outline:2px solid var(--gold-deep); outline-offset:3px;}
.nav-back{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--ink-3); text-decoration:none;}
.nav-back:hover{color:var(--gold);}

/* ---------- DOC HEADER ---------- */
.doc-head{
  padding:76px 0 44px;
  background:
    radial-gradient(ellipse 800px 420px at 80% -20%, rgba(201,162,39,0.16), transparent 62%),
    var(--cream);
  border-bottom:1px solid var(--line);
}
.doc-head h1{font-size:clamp(32px, 4.6vw, 52px); letter-spacing:-0.01em; margin:14px 0 18px;}
.doc-head .doc-meta{
  font-family:'JetBrains Mono', monospace; font-size:11.5px; color:var(--ink-3); letter-spacing:0.04em;
}
.doc-head .doc-lede{margin-top:22px; max-width:62ch; font-size:16.5px; line-height:1.7; color:var(--ink-2);}

/* ---------- DOC BODY ---------- */
.doc{padding:64px 0 96px;}
.doc .wrap{max-width:820px;}

.toc{
  border:1px solid var(--line); border-left:2px solid var(--gold);
  background:var(--card); padding:24px 26px; margin-bottom:56px;
}
.toc h2{
  font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;
}
.toc ol{list-style:none; counter-reset:toc; display:grid; grid-template-columns:1fr 1fr; gap:9px 28px;}
.toc li{counter-increment:toc; font-size:13.5px; line-height:1.5;}
.toc li::before{
  content:counter(toc, decimal-leading-zero) " ";
  font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--gold); margin-right:8px;
}
.toc a{color:var(--ink-2); text-decoration:none;}
.toc a:hover{color:var(--gold-deep); text-decoration:underline; text-underline-offset:2px;}

.doc section{margin-bottom:44px;}
.doc section:last-of-type{margin-bottom:0;}
.doc h2{font-size:23px; font-weight:500; margin-bottom:16px; letter-spacing:-0.005em;}
.doc h2 .num{
  font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--gold);
  margin-right:12px; letter-spacing:0.06em; vertical-align:2px;
}
.doc h3{font-size:16.5px; font-weight:500; margin:26px 0 10px;}
.doc p{color:var(--ink-2); font-size:15.5px; line-height:1.78; margin-bottom:16px;}
.doc p:last-child{margin-bottom:0;}
.doc ul, .doc ol.plain{margin:0 0 16px 0; padding-left:0; list-style:none;}
.doc li{
  color:var(--ink-2); font-size:15.5px; line-height:1.7; margin-bottom:11px;
  padding-left:22px; position:relative;
}
.doc li::before{
  content:""; position:absolute; left:2px; top:11px;
  width:6px; height:1.5px; background:var(--gold);
}
.doc a{color:var(--gold-deep); text-decoration:underline; text-underline-offset:2px; word-break:break-word;}
.doc a:hover{color:var(--gold);}
.doc strong{color:var(--ink); font-weight:600;}

.callout{
  margin:26px 0; padding:22px 24px; background:var(--amber-wash);
  border:1px solid var(--line); border-left:2px solid var(--gold);
}
.callout p{font-size:14.5px; margin-bottom:0; color:var(--ink-2);}
.callout p + p{margin-top:12px;}

.data-table{width:100%; border-collapse:collapse; margin:22px 0; font-size:14px;}
.data-table th, .data-table td{
  text-align:left; vertical-align:top; padding:14px 16px;
  border:1px solid var(--line); color:var(--ink-2); line-height:1.6;
}
.data-table th{
  background:var(--cream-2); color:var(--ink); font-weight:600;
  font-family:'JetBrains Mono', monospace; font-size:11px;
  letter-spacing:0.08em; text-transform:uppercase;
}
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;}

/* On narrow screens a three-column table is unreadable, so each row becomes
   its own labelled block instead of a sideways scroll. */
@media (max-width: 660px){
  .data-table, .data-table tbody, .data-table tr, .data-table td{display:block; width:100%;}
  .data-table thead{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%);}
  .data-table{border:none; margin:20px 0;}
  .data-table tr{
    border:1px solid var(--line); border-left:2px solid var(--gold);
    background:var(--card); margin-bottom:14px; padding:6px 0;
  }
  .data-table td{border:none; padding:10px 18px; font-size:14.5px;}
  .data-table td + td{border-top:1px solid var(--line); margin-top:2px; padding-top:12px;}
  .data-table td::before{
    content:attr(data-label);
    display:block; margin-bottom:5px;
    font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:500;
    letter-spacing:0.1em; text-transform:uppercase; color:var(--gold);
  }
}

/* ---------- FOOTER ---------- */
footer{padding:56px 0 48px; border-top:1px solid var(--line);}
footer .wrap{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px;}
footer .brand{font-size:16px;}
.foot-brand{max-width:34ch;}
.foot-contact{margin-top:16px; font-size:13.5px; line-height:1.7; color:var(--ink-3);}
.foot-contact a{color:var(--gold-deep); text-decoration:underline; text-underline-offset:2px; word-break:break-word;}
.foot-note{font-family:'JetBrains Mono', monospace; font-size:11px; line-height:1.7; color:rgba(20,18,13,0.5); margin-top:20px;}
.foot-nav{display:flex; gap:56px; flex-wrap:wrap;}
.foot-col{display:flex; flex-direction:column; gap:11px;}
.foot-h{
  font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--gold);
  margin-bottom:5px; line-height:1.4;
}
.foot-col a{text-decoration:none; font-size:13px; color:var(--ink-3); transition:color .25s var(--ease); word-break:break-word;}
.foot-col a:hover{color:var(--gold);}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1040px){
  .wrap{padding:0 24px;}
}
@media (max-width: 760px){
  html{scroll-padding-top:80px;}
  .wrap{padding:0 20px;}
  .doc-head{padding:52px 0 36px;}
  .doc-head .doc-lede{font-size:16px; max-width:none;}
  .doc{padding:48px 0 72px;}
  .toc{margin-bottom:40px; padding:20px;}
  .toc ol{grid-template-columns:1fr; gap:11px;}
  .toc a{display:inline-block; padding:8px 0;}
  .doc section{margin-bottom:38px;}
  .doc h2{font-size:20px;}
  .doc p, .doc li{font-size:15px;}
  .data-table th{font-size:11.5px;}
  .callout{padding:20px;}
  footer{padding:48px 0 44px;}
  footer .wrap{flex-direction:column; align-items:stretch; gap:34px;}
  .foot-brand{max-width:none;}
  .foot-note{font-size:11.5px;}
  .foot-nav{display:grid; grid-template-columns:1fr 1fr; gap:30px 24px;}
  .foot-col{gap:14px;}
  .foot-col a{padding:4px 0;}

  /* Comfortable tap areas in the header without altering nav height */
  .brand, .nav-back{position:relative;}
  .brand::after, .nav-back::after{content:""; position:absolute; inset:-14px -8px;}
}
@media (max-width: 400px){
  .wrap{padding:0 16px;}
  .brand{font-size:16px;}
  .btn{padding:12px 16px;}
  .doc-head h1{font-size:29px;}
  .foot-nav{grid-template-columns:1fr;}
}
