
/* Terms & Conditions redesign */
.nw-terms-page {
  --nw-terms-bg: #f5f7fb;
  --nw-terms-card: #ffffff;
  --nw-terms-ink: #152238;
  --nw-terms-muted: #5d6b82;
  --nw-terms-line: rgba(21,34,56,.08);
  --nw-terms-accent: #ff9f2f;
  --nw-terms-accent-2: #17b4a2;
  --nw-terms-shadow: 0 20px 45px rgba(21,34,56,.08);
  background: linear-gradient(180deg, #f7f8fb 0%, #f2f5fa 100%);
  color: var(--nw-terms-ink);
  padding: 52px 0 72px;
}
.nw-terms-page a { color: inherit; }
.nw-terms-shell { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.nw-terms-hero {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: 36px;
  background: radial-gradient(circle at top right, rgba(255,159,47,.18), transparent 32%),
              radial-gradient(circle at left center, rgba(23,180,162,.16), transparent 28%),
              linear-gradient(135deg, #fff 0%, #f8fbff 100%);
  box-shadow: var(--nw-terms-shadow);
}
.nw-terms-hero:before,
.nw-terms-hero:after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}
.nw-terms-hero:before {
  width: 180px; height: 180px; right: -54px; top: -54px;
  background: rgba(255,159,47,.12);
}
.nw-terms-hero:after {
  width: 120px; height: 120px; left: -28px; bottom: -28px;
  background: rgba(23,180,162,.14);
}
.nw-terms-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; color:var(--nw-terms-muted); font-size:14px; }
.nw-terms-breadcrumb a { text-decoration:none; }
.nw-terms-breadcrumb .sep { opacity:.5; }
.nw-terms-title { font-size: clamp(2rem, 4vw, 3.3rem); line-height:1.05; margin:0 0 14px; font-weight:800; letter-spacing:-.03em; }
.nw-terms-subtitle { max-width: 820px; font-size: 1rem; line-height: 1.8; color: var(--nw-terms-muted); margin: 0; }
.nw-terms-meta { display:flex; flex-wrap:wrap; gap:14px; margin:24px 0 0; padding:0; list-style:none; }
.nw-terms-meta-item {
  display:inline-flex; align-items:center; gap:10px; padding:12px 16px; border-radius:16px;
  background: rgba(21,34,56,.04); font-weight:600; font-size:14px; color:var(--nw-terms-ink);
}
.nw-terms-meta-item i { color: var(--nw-terms-accent-2); }
.nw-terms-grid { display:grid; grid-template-columns: minmax(0,1fr); gap:28px; }
.nw-terms-main { min-width:0; }
.nw-terms-sidebar { display:grid; gap:18px; align-content:start; }
.nw-terms-panel {
  background: var(--nw-terms-card);
  border-radius: 24px;
  box-shadow: var(--nw-terms-shadow);
  border: 1px solid var(--nw-terms-line);
}
.nw-terms-toolbar { display:grid; gap:16px; padding:22px; }
.nw-terms-toolbar-top { display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.nw-terms-search-wrap { position:relative; flex:1 1 320px; max-width: 520px; }
.nw-terms-search-wrap i { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--nw-terms-muted); }
.rtl .nw-terms-search-wrap i, [dir="rtl"] .nw-terms-search-wrap i { left:auto; right:16px; }
.nw-terms-search {
  width:100%; height:50px; border:1px solid rgba(21,34,56,.12); border-radius:16px;
  padding:0 18px 0 46px; background:#fff; color:var(--nw-terms-ink);
}
.rtl .nw-terms-search, [dir="rtl"] .nw-terms-search { padding:0 46px 0 18px; }
.nw-terms-search:focus { outline:none; border-color: rgba(23,180,162,.45); box-shadow:0 0 0 4px rgba(23,180,162,.12); }
.nw-terms-actions { display:flex; flex-wrap:wrap; gap:10px; }
.nw-terms-btn {
  appearance:none; border:0; border-radius:14px; padding:12px 16px; font-weight:700; font-size:13px;
  background:#edf3fb; color:var(--nw-terms-ink); cursor:pointer; transition:.2s ease;
}
.nw-terms-btn:hover, .nw-terms-btn:focus { transform: translateY(-1px); background:#e5eef8; outline:none; }
.nw-terms-btn.-accent { background: linear-gradient(135deg, var(--nw-terms-accent) 0%, #ffb85c 100%); color:#1e2127; }
.nw-terms-btn.-accent:hover, .nw-terms-btn.-accent:focus { background: linear-gradient(135deg, #f89614 0%, #ffad42 100%); }
.nw-terms-summary { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:14px; }
.nw-terms-summary-card {
  padding:18px; border-radius:18px; background:#fff; border:1px solid var(--nw-terms-line);
}
.nw-terms-summary-card strong { display:block; font-size:1.45rem; font-weight:800; margin-bottom:4px; }
.nw-terms-summary-card span { color:var(--nw-terms-muted); font-size:14px; }
.nw-terms-nav { padding:22px; position: sticky; top: 110px; }
.nw-terms-nav-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 16px; font-size:1.02rem; font-weight:800; }
.nw-terms-nav-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; max-height: 60vh; overflow:auto; }
.nw-terms-nav-link {
  display:flex; align-items:flex-start; gap:12px; text-decoration:none; color:var(--nw-terms-ink);
  padding:12px 14px; border-radius:16px; border:1px solid transparent; background:transparent; transition:.2s ease;
}
.nw-terms-nav-link:hover, .nw-terms-nav-link:focus, .nw-terms-nav-link.is-active {
  background:#f6f9fd; border-color: var(--nw-terms-line); outline:none;
}
.nw-terms-nav-index {
  width:32px; height:32px; min-width:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(23,180,162,.12); color:#0f756b; font-size:12px; font-weight:800;
}
.nw-terms-nav-text { display:grid; gap:3px; min-width:0; }
.nw-terms-nav-text strong { font-size:14px; font-weight:700; }
.nw-terms-nav-text span { color: var(--nw-terms-muted); font-size:12px; }
.nw-terms-content { display:grid; gap:16px; }
.nw-terms-empty {
  display:none; padding:28px; border-radius:20px; background:#fff; border:1px dashed rgba(21,34,56,.15); text-align:center;
}
.nw-terms-empty.is-visible { display:block; }
.nw-terms-section {
  position:relative; background:var(--nw-terms-card); border:1px solid var(--nw-terms-line);
  border-radius:24px; box-shadow: var(--nw-terms-shadow); overflow:hidden;
}
.nw-terms-section.is-hidden { display:none; }
.nw-terms-section-anchor { position:absolute; inset-inline-start:0; top:-120px; }
.nw-terms-section-toggle {
  width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:center;
  padding:22px 24px; background:transparent; border:0; text-align:start; cursor:pointer; color:inherit;
}
.nw-terms-section-toggle:focus-visible { outline: 3px solid rgba(23,180,162,.24); outline-offset:-3px; }
.nw-terms-section-badge {
  display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; min-width:42px; border-radius:14px;
  background: linear-gradient(135deg, rgba(23,180,162,.16), rgba(255,159,47,.18)); font-weight:800; font-size:14px;
}
.nw-terms-section-title-wrap { min-width:0; display:grid; gap:4px; }
.nw-terms-section-title { margin:0; font-size:1.1rem; font-weight:800; letter-spacing:-.02em; }
.nw-terms-section-sub { color:var(--nw-terms-muted); font-size:14px; }
.nw-terms-section-icon {
  width:40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
  background:#f3f7fb; color:var(--nw-terms-ink); transition:transform .22s ease, background .22s ease;
}
.nw-terms-section.is-open .nw-terms-section-icon { transform: rotate(45deg); background:#eef8f7; color:#0f756b; }
.nw-terms-section-panel { display:none; padding: 0 24px 24px; }
.nw-terms-section.is-open .nw-terms-section-panel { display:block; }
.nw-terms-section-panel-inner {
  border-top:1px solid var(--nw-terms-line); padding-top:20px; color:#334055; line-height:1.95; font-size:15px;
}
.nw-terms-section-panel-inner p:last-child,
.nw-terms-section-panel-inner ul:last-child,
.nw-terms-section-panel-inner ol:last-child { margin-bottom:0; }
.nw-terms-section-panel-inner ul,
.nw-terms-section-panel-inner ol { padding-inline-start: 1.4rem; }
.nw-terms-note {
  padding: 22px 24px; background: linear-gradient(135deg, #16263f 0%, #1c3357 100%); color:#fff; border-radius:24px;
  box-shadow: var(--nw-terms-shadow);
}
.nw-terms-note strong { display:block; margin-bottom:8px; font-size:1.05rem; }
.nw-terms-richtext { padding:24px; background:#fff; border-radius:24px; border:1px solid var(--nw-terms-line); box-shadow:var(--nw-terms-shadow); }
.nw-terms-richtext > *:last-child { margin-bottom:0; }
.nw-terms-progress {
  position: fixed; inset-inline-start: 0; top: 0; width: 0; height: 4px;
  background: linear-gradient(90deg, var(--nw-terms-accent), var(--nw-terms-accent-2)); z-index: 9999;
}
.nw-terms-jump {
  position: fixed; inset-inline-end: 20px; bottom: 24px; width: 48px; height: 48px; border-radius: 50%; border: 0;
  box-shadow: 0 14px 30px rgba(21,34,56,.18); background: #17263e; color: #fff; display:none; align-items:center; justify-content:center; z-index: 40;
}
.nw-terms-jump.is-visible { display:inline-flex; }
.nw-terms-mobile-nav { display:none; }
@media (min-width: 992px) {
  .nw-terms-grid { grid-template-columns: minmax(0,1fr) 320px; align-items:start; }
}
@media (max-width: 991.98px) {
  .nw-terms-page { padding:32px 0 56px; }
  .nw-terms-hero { padding:26px; border-radius:22px; }
  .nw-terms-toolbar, .nw-terms-nav, .nw-terms-richtext { border-radius:20px; }
  .nw-terms-summary { grid-template-columns: 1fr; }
  .nw-terms-sidebar { display:none; }
  .nw-terms-mobile-nav { display:block; }
}
@media (max-width: 767.98px) {
  .nw-terms-hero { padding:22px; }
  .nw-terms-title { font-size: 2rem; }
  .nw-terms-toolbar-top { align-items:stretch; }
  .nw-terms-search-wrap { max-width:none; }
  .nw-terms-actions { width:100%; }
  .nw-terms-btn { flex:1 1 140px; justify-content:center; }
  .nw-terms-section-toggle { grid-template-columns:auto minmax(0,1fr) auto; padding:18px; gap:12px; }
  .nw-terms-section-panel { padding:0 18px 18px; }
  .nw-terms-section-title { font-size:1rem; }
}
.rtl .nw-terms-page, [dir="rtl"] .nw-terms-page { text-align:right; }
.rtl .nw-terms-section-toggle, [dir="rtl"] .nw-terms-section-toggle,
.rtl .nw-terms-nav-link, [dir="rtl"] .nw-terms-nav-link { text-align:right; }
.nw-privacy-hero {
  background: radial-gradient(circle at top right, rgba(23,180,162,.18), transparent 30%),
              radial-gradient(circle at left center, rgba(255,159,47,.12), transparent 24%),
              linear-gradient(135deg, #fff 0%, #f8fbff 100%);
}
.nw-terms-richtext-standalone {
  min-height: 280px;
}
