/* ===========================
   Privacy Section
   =========================== */
.privacy-section {
  padding: 72px 0 100px;
}

.privacy-body {
  max-width: 760px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}

/* ===========================
   Policy Block
   =========================== */
.policy-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--color-border);
}
.policy-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.policy-block p {
  font-size: .9rem;
  color: var(--color-text-light);
  line-height: 2;
}

.policy-block__title {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-primary);
  padding-left: 14px;
  border-left: 3px solid var(--color-accent);
  line-height: 1.5;
}

/* ===========================
   Policy item (◇ items)
   =========================== */
.policy-item {
  background: var(--color-bg-gray);
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.policy-item__label {
  font-weight: 500;
  color: var(--color-primary) !important;
  font-size: .875rem !important;
}

/* ===========================
   Policy list (bullet)
   =========================== */
.policy-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 1.2em;
}

.policy-list li {
  font-size: .9rem;
  color: var(--color-text-light);
  line-height: 1.8;
  position: relative;
  list-style: none;
}
.policy-list li::before {
  content: '・';
  position: absolute;
  left: -1.2em;
  color: var(--color-accent);
}

/* ===========================
   Policy ordered list
   =========================== */
.policy-ordered-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  counter-reset: policy-counter;
  padding-left: 0;
}

.policy-ordered-list li {
  list-style: none;
  counter-increment: policy-counter;
  font-size: .9rem;
  color: var(--color-text-light);
  line-height: 2;
  padding-left: 2em;
  position: relative;
}
.policy-ordered-list li::before {
  content: counter(policy-counter) ')';
  position: absolute;
  left: 0;
  font-weight: 700;
  color: var(--color-primary);
}

.policy-ordered-list__heading {
  display: block;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 2px;
}

/* ===========================
   Contact block
   =========================== */
.policy-contact {
  background: var(--color-bg-gray);
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.policy-contact p {
  font-size: .9rem;
  color: var(--color-text) !important;
  line-height: 1.8;
}

.policy-contact a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition);
}
.policy-contact a:hover {
  color: var(--color-accent-dark);
}
