/* CyberFirst: страница политики конфиденциальности */
.policy-page { min-height:100vh; overflow:hidden; background:var(--bg); color:var(--text); }
.policy-page__hero {
  position:relative;
  padding:132px 0 64px;
  overflow:hidden;
  border-bottom:1px solid var(--border);
  background:
    radial-gradient(ellipse 62% 80% at 12% 0%, rgba(var(--accent-rgb), .16), transparent 62%),
    radial-gradient(ellipse 50% 70% at 90% 15%, rgba(var(--accent-2-rgb), .1), transparent 60%);
}
.policy-page__hero::before {
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 75% 100% at 28% 0%, #000, transparent 72%);
  mask-image:radial-gradient(ellipse 75% 100% at 28% 0%, #000, transparent 72%);
  opacity:.55;
  pointer-events:none;
}
.policy-page__hero::after {
  content:'';
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .55) 30%, rgba(var(--accent-2-rgb), .45) 65%, transparent);
  pointer-events:none;
}
.policy-page__hero-inner { position:relative; z-index:1; max-width:1120px; }
.policy-page__breadcrumb-link { color:inherit; text-decoration:none; transition:color .2s ease; }
.policy-page__breadcrumb-link:hover { color:var(--accent); }
.policy-page__breadcrumb-separator { opacity:.4; }
.policy-page__breadcrumb-current { color:var(--text); }
.policy-page__label {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:20px;
  padding:7px 15px;
  border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
  border-radius:100px;
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 8%, var(--surface));
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.policy-page__label::before {
  content:'';
  flex-shrink:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent-grad);
  box-shadow:0 0 10px rgba(var(--accent-rgb), .8);
}
.policy-page__title { max-width:none; margin:0; font-size:clamp(32px,4.2vw,52px); font-weight:800; line-height:1.08; letter-spacing:-.03em; }
.policy-page__intro { max-width:720px; margin:20px 0 0; color:var(--text-muted); font-size:clamp(15px,1.6vw,17px); line-height:1.7; }
.policy-page__body { padding:42px 0 80px; }
.policy-page__layout { display:block; max-width:1120px; }
.policy-page__contact { color:var(--accent); font-size:12px; text-decoration:none; overflow-wrap:anywhere; }
.policy-page__document { min-width:0; padding:clamp(22px,3vw,38px); border:1px solid var(--border); border-radius:20px; background:var(--surface); box-shadow:var(--shadow-lg); }
.policy-page__document h1 { display:none; }
.policy-page__document h2,.policy-page__document h5 { margin:44px 0 16px; color:var(--text); font-size:clamp(19px,2vw,23px); font-weight:750; line-height:1.25; letter-spacing:-.02em; }
.policy-page__document h2:first-child,.policy-page__document h5:first-child,.policy-page__document > :first-child { margin-top:0; }
.policy-page__document h3,.policy-page__document h4 { margin:28px 0 12px; color:var(--text); font-size:17px; line-height:1.35; }
.policy-page__document p,.policy-page__document li,.policy-page__document .descr,.policy-page__document .li { color:var(--text-muted); font-size:14px; line-height:1.68; }
.policy-page__document p { margin:0 0 14px; }
.policy-page__document ol,.policy-page__document ul { display:grid; gap:10px; margin:14px 0 22px; padding-left:24px; }
.policy-page__document .row { margin:0 0 34px; }
.policy-page__document .row:last-child { margin-bottom:0; }
.policy-page__document .ol { display:grid; gap:10px; margin-top:12px; }
.policy-page__document .li { position:relative; }
.policy-page__document strong { color:var(--text); font-weight:700; }
.policy-page__document a,.policy-page__document .link { color:var(--accent); text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent); text-underline-offset:4px; overflow-wrap:anywhere; }
.policy-page__document hr { margin:42px 0; border:0; border-top:1px solid var(--border); }
.policy-page__document .elementor-element,.policy-page__document .elementor-widget-container { max-width:100%; }
.policy-page__empty { margin:0; }

/* Нормализация импортированного документа */
.policy-page__document .elementor-widget-text-editor .row:first-child { display:none; }
.policy-page__document .elementor-widget-text-editor .row:nth-child(2) > .col > p:first-child {
  margin:0 0 16px;
  color:var(--text);
  font-size:clamp(19px,2vw,23px);
  font-weight:750;
  line-height:1.25;
  letter-spacing:-.02em;
}

/* Таблица раздела 6 */
.policy-page__document .purpose-table {
  width:100%;
  margin:18px 0 6px;
  overflow:hidden;
  border:1px solid var(--border);
  border-collapse:separate;
  border-spacing:0;
  border-radius:14px;
  background:color-mix(in srgb,var(--surface) 88%,var(--bg));
}
.policy-page__document .purpose-table th,
.policy-page__document .purpose-table td {
  padding:18px 20px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top;
  font-size:14px;
  line-height:1.6;
}
.policy-page__document .purpose-table tr:last-child th,
.policy-page__document .purpose-table tr:last-child td { border-bottom:0; }
.policy-page__document .purpose-table th {
  width:30%;
  color:var(--text);
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  font-weight:700;
}
.policy-page__document .purpose-table td { color:var(--text-muted); }
.policy-page__document .purpose-table ul { margin:0; padding-left:18px; }
.policy-page__document .purpose-table .link { color:inherit; text-decoration:none; }

@media (max-width:700px) {
  .policy-page__document .li:has(> .purpose-table) {
    max-width:100%;
    overflow-x:auto;
    border-radius:12px;
    scrollbar-width:thin;
    scrollbar-color:var(--accent) transparent;
  }
  .policy-page__document .purpose-table {
    min-width:640px;
    margin-top:12px;
  }
}
.policy-page__document .legal-page__date {
  display:inline-flex;
  margin:0 0 24px;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text-muted);
  background:color-mix(in srgb,var(--surface) 82%,var(--bg));
  font-size:12px;
}
.policy-page__document .legal-page__notice {
  margin:20px 0;
  padding:14px 16px;
  border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;
  color:var(--text);
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
}
.policy-page--rules .policy-page__document > p { max-width:1000px; }@media (max-width:820px) {
  .policy-page__hero { padding:112px 0 48px; }
  .policy-page__intro { font-size:15px; }
  .policy-page__body { padding:40px 0 72px; }
  .policy-page__document { padding:28px 22px; border-radius:18px; }
}
@media (max-width:480px) {
  .policy-page__hero { padding:96px 0 36px; }
  .policy-page__hero::before { background-size:36px 36px; }
  .policy-page__title { font-size:29px; }
  .policy-page__intro { margin-top:16px; font-size:14px; }
  .policy-page__body { padding:28px 0 56px; }
  .policy-page__document { padding:22px 16px; border-radius:14px; }
  .policy-page__document h2,.policy-page__document h5 { margin-top:42px; font-size:21px; }
  .policy-page__document p,.policy-page__document li,.policy-page__document .descr,.policy-page__document .li { font-size:13.5px; line-height:1.65; }
}