/* Lush — privacy policy page */

.policy { max-width: 860px; }
.policy p { margin: 20px 0 0; font-size: 15px; line-height: 2.2; letter-spacing: .08em; text-wrap: pretty; }
.policy > p:first-child { margin-top: 0; }
.policy h2 {
  margin: 64px 0 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .16em;
  display: flex;
  gap: 16px;
  align-items: baseline;
}
.policy__no { font-family: var(--font-en); font-weight: 300; font-size: 13px; letter-spacing: .2em; color: var(--gold); }
.policy__list { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.policy__list li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 12px; font-size: 15px; line-height: 2; letter-spacing: .08em; }
.policy__list li::before { content: ''; margin-top: 15px; width: 8px; height: 1px; background: var(--gold); }

/* Operator / contact */
.operator { margin: 24px 0 0; border-top: 1px solid var(--rule); }
.operator__row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 8px 32px;
  padding: 18px 8px;
  border-bottom: 1px solid var(--rule);
}
.operator dt { font-size: 13px; letter-spacing: .2em; color: var(--muted); }
.operator dd { margin: 0; font-size: 15px; letter-spacing: .08em; min-height: 1.5em; }
.operator__lines { line-height: 1.9; }
.operator__mail { color: var(--gold); word-break: break-all; }
.operator__tel { font-family: var(--font-en); font-weight: 300; letter-spacing: .08em; }
.policy .policy__date { margin: 48px 0 0; font-size: 13px; line-height: normal; letter-spacing: .12em; color: var(--muted); text-align: right; text-wrap: wrap; }

@media (max-width: 639px) {
  .policy h2 { font-size: 1.5rem; } /* as in the design: its phone rule enlarges these headings (see report) */
  .operator__row { grid-template-columns: minmax(0, 1fr); gap: 4px 0; }
}
