/* Privacy policy page: aligned with the existing BODY SHOP HIRAMATSU frame. */
.privacy-section { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.privacy-reading { max-width: 930px; }
.privacy-intro { margin: 0 0 31px; padding: 29px 31px; border-top: 3px solid var(--accent); background: #fff; box-shadow: 0 10px 26px rgba(20, 37, 59, .07); color: var(--body-text); font-size: 16px; line-height: 2; }
.privacy-intro p { margin: 0; }
.privacy-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: privacy-policy; }
.privacy-item { position: relative; counter-increment: privacy-policy; padding: 29px 31px 30px; border: 1px solid var(--card-border); background: #fff; box-shadow: 0 7px 18px rgba(20, 37, 59, .045); }
.privacy-item::before { content: counter(privacy-policy, decimal-leading-zero); display: block; margin-bottom: 8px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.privacy-item h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 15px; color: #14243a; font-family: var(--heading); font-size: 23px; font-weight: 700; letter-spacing: .01em; line-height: 1.45; }
.privacy-item h2::before { content: ''; flex: 0 0 4px; width: 4px; height: 1.08em; background: var(--accent); }
.privacy-item p { margin: 0; color: var(--body-text); font-size: 16px; line-height: 2; }
.privacy-item ul { display: grid; gap: 8px; margin: 16px 0 0; padding: 17px 20px; background: #fff7f0; color: var(--body-text); font-size: 16px; line-height: 1.85; list-style: none; }
.privacy-item li::before { content: '•'; margin-right: 10px; color: var(--accent); font-weight: 800; }
.privacy-contact { margin: 20px 0 0; border: 1px solid #dbe2ea; }
.privacy-contact > div { display: grid; grid-template-columns: 170px 1fr; border-bottom: 1px solid #dbe2ea; }
.privacy-contact > div:last-child { border-bottom: 0; }
.privacy-contact dt { padding: 14px 18px; background: #f1f5f8; color: #18314c; font-size: 15px; font-weight: 700; }
.privacy-contact dd { margin: 0; padding: 14px 18px; color: var(--body-text); font-size: 16px; line-height: 1.8; }
.privacy-contact a { color: var(--accent-dark); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(201, 78, 0, .36); text-underline-offset: 3px; }
.privacy-contact a:hover { color: var(--accent); }
.privacy-meta { margin: 34px 0 0; padding: 21px 0 0; border-top: 1px dashed #b9c5d2; color: #405168; font-size: 14px; line-height: 1.8; text-align: right; }
.privacy-meta p { margin: 0; }
.privacy-actions { margin: 32px 0 0; text-align: center; }

@media (max-width: 760px) {
  .privacy-intro, .privacy-item { padding: 23px 19px; }
  .privacy-intro, .privacy-item p, .privacy-item ul, .privacy-contact dd { font-size: 16px; }
  .privacy-item h2 { font-size: 21px; }
  .privacy-contact > div { grid-template-columns: 1fr; }
  .privacy-contact dt { padding: 10px 13px; }
  .privacy-contact dd { padding: 11px 13px; }
  .privacy-meta { text-align: left; font-size: 13px; }
}
