/* ============================================================
   SUGAR & SPICE — Privacy Policy page styles
   ============================================================ */

.policy-page { background: var(--vanilla); }

/* keep header solid on the policy page */
.policy-page .site-header { background: rgba(255, 247, 236, .9); backdrop-filter: blur(14px); box-shadow: 0 6px 24px rgba(90,58,38,.10); padding: 10px 0; }

/* ---- Hero ---- */
.policy-hero {
  position: relative; padding: 150px 0 70px; text-align: center;
  background:
    radial-gradient(800px 360px at 50% -20%, #FFE3C4 0%, transparent 65%),
    var(--cream);
  overflow: hidden;
}
.policy-hero::after {
  content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 60px;
  background: var(--vanilla);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.policy-hero .kicker { background: rgba(197,138,82,.16); }
.policy-hero h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); color: var(--cocoa-ink); letter-spacing: -.02em; margin-bottom: .6rem; }
.policy-updated { color: var(--text-soft); font-weight: 600; }

/* ---- Body ---- */
.policy-body { padding: 50px 0 80px; position: relative; z-index: 2; }
.policy-shell { max-width: 820px; }

.policy-intro {
  font-size: 1.12rem; color: var(--cocoa); background: #fff;
  border: 1px solid rgba(221,190,142,.5); border-radius: var(--r-md);
  padding: 1.6rem 1.8rem; box-shadow: var(--shadow-sm); margin-bottom: 2.2rem;
}

.policy-toc {
  background: var(--cream); border-radius: var(--r-md);
  padding: 1.6rem 1.9rem; margin-bottom: 2.6rem; box-shadow: var(--shadow-sm);
}
.policy-toc h2 { font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; color: var(--caramel-d); margin-bottom: 1rem; }
.policy-toc ol { list-style: none; counter-reset: toc; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1.6rem; }
.policy-toc li { counter-increment: toc; }
.policy-toc a { display: flex; gap: .6rem; align-items: baseline; font-weight: 600; color: var(--cocoa); padding: .25rem 0; transition: color .25s; }
.policy-toc a::before { content: counter(toc, decimal-leading-zero); font-weight: 700; color: var(--caramel); font-size: .85rem; }
.policy-toc a:hover { color: var(--caramel-d); }

.policy-section { margin-bottom: 2.2rem; scroll-margin-top: 100px; }
.policy-section h2 {
  font-size: 1.4rem; color: var(--cocoa-ink); margin-bottom: .8rem;
  padding-bottom: .5rem; border-bottom: 2px dashed var(--biscuit-d);
}
.policy-section p { color: var(--text-soft); margin-bottom: .9rem; }
.policy-section ul { list-style: none; display: flex; flex-direction: column; gap: .6rem; margin: .4rem 0 .9rem; }
.policy-section li { position: relative; padding-left: 1.6rem; color: var(--text-soft); }
.policy-section li::before {
  content: ""; position: absolute; left: 0; top: .55em;
  width: 9px; height: 9px; border-radius: 50%; background: var(--caramel);
}
.policy-section strong { color: var(--cocoa); }

.policy-contact {
  background: #fff; border: 1px solid rgba(221,190,142,.5);
  border-radius: var(--r-md); padding: 1.4rem 1.6rem; box-shadow: var(--shadow-sm);
}
.policy-contact p { color: var(--cocoa); margin-bottom: .4rem; }
.policy-contact a { color: var(--caramel-d); font-weight: 700; }
.policy-contact a:hover { text-decoration: underline; }

.policy-back { margin-top: 2.4rem; }

@media (max-width: 620px) {
  .policy-toc ol { grid-template-columns: 1fr; }
  .policy-hero { padding-top: 120px; }
}
