/* ===== Legal pages ===== */
.legal-page{max-width:860px;margin:0 auto;padding:60px 0 80px}
.legal-page__inner{font-size:17px;line-height:1.8;color:#d0d8e4}
.legal-page__inner h1{font-size:38px;font-weight:700;letter-spacing:-.5px;margin-bottom:24px;color:#fff}
.legal-page__inner h2{font-size:24px;font-weight:600;margin:40px 0 14px;color:#fff}
.legal-page__inner p{margin-bottom:18px}
.legal-page__inner ul{margin:0 0 18px 24px}
.legal-page__inner li{margin-bottom:8px}
.legal-page__inner a{color:#6859f2;text-decoration:none}
.legal-page__inner a:hover{text-decoration:underline}
.legal-date{color:#9aa4b3}
@media(max-width:768px){
  .legal-page{padding:36px 0 60px}
  .legal-page__inner{font-size:15px}
  .legal-page__inner h1{font-size:28px}
  .legal-page__inner h2{font-size:20px;margin:28px 0 10px}
}

/* ===== Cookie consent banner ===== */
.cookie-consent{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9998;
  width:360px;
  max-width:calc(100vw - 40px);
  pointer-events:none;
  opacity:0;
  transform:translateY(16px);
  transition:opacity .3s ease,transform .3s ease;
  font-family:'Satoshi','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
body.rtl .cookie-consent{right:auto;left:20px}
.cookie-consent--visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.cookie-consent__inner{
  position:relative;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  padding:20px;
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  box-sizing:border-box;
}
.cookie-consent__text{margin-bottom:16px}
.cookie-consent__text p{margin:0 0 6px 0;font-size:14px;color:#9aa4b3;line-height:1.55}
.cookie-consent__link{color:#6859f2;text-decoration:none;font-size:13px;font-weight:500}
.cookie-consent__link:hover{text-decoration:underline}
.cookie-consent__buttons{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cookie-consent__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:11px 18px;
  border-radius:40px;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  border:1px solid transparent;
  transition:box-shadow .2s,border-color .2s,color .2s,background .2s;
  box-sizing:border-box;
  line-height:1.2;
  white-space:nowrap;
  text-align:center;
}
.cookie-consent__btn--reject{
  background:transparent;
  color:#b0b8c4;
  border-color:rgba(255,255,255,0.12);
}
.cookie-consent__btn--reject:hover{border-color:#6859f2;color:#fff}
.cookie-consent__btn--settings{
  background:transparent;
  color:#b0b8c4;
  border-color:rgba(255,255,255,0.12);
}
.cookie-consent__btn--settings:hover{border-color:#6859f2;color:#fff}
.cookie-consent__btn--accept{
  background:linear-gradient(135deg,#6859f2,#8b5cf6);
  color:#fff;
  box-shadow:0 4px 15px rgba(104,89,242,0.3);
}
.cookie-consent__btn--accept:hover{box-shadow:0 8px 30px rgba(104,89,242,0.5)}

@media(max-width:480px){
  .cookie-consent{
    right:10px;
    left:10px;
    bottom:10px;
    width:auto;
    max-width:none;
  }
  .cookie-consent__inner{padding:16px;border-radius:16px}
  .cookie-consent__text p{font-size:13px}
  .cookie-consent__link{font-size:12.5px}
  .cookie-consent__btn{padding:11px 16px;font-size:13px}
}

/* ===== Cookie settings modal (в стиле tg-popup) ===== */
.cookie-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  transition:opacity .25s ease;
  font-family:'Satoshi','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
.cookie-modal--open{opacity:1}
.cookie-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.cookie-modal__panel{
  position:relative;
  width:420px;
  max-width:100%;
  max-height:calc(100vh - 40px);
  overflow-y:auto;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;
  padding:20px;
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  transform:translateY(16px);
  transition:transform .3s ease;
  box-sizing:border-box;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.2) transparent;
}
.cookie-modal--open .cookie-modal__panel{transform:translateY(0)}
.cookie-modal__panel::-webkit-scrollbar{width:4px}
.cookie-modal__panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:4px}

.cookie-modal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:none;
  color:#6b7482;
  cursor:pointer;
  border-radius:50%;
  padding:0;
  transition:color .2s,background .2s;
  z-index:2;
}
.cookie-modal__close:hover{color:#fff;background:rgba(255,255,255,0.06)}

.cookie-modal__head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding-right:24px;
  margin-bottom:18px;
}
.cookie-modal__icon{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(104,89,242,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6859f2;
}
.cookie-modal__icon svg{width:22px;height:22px;display:block}
.cookie-modal__head-text{flex:1;min-width:0}
.cookie-modal__title{
  font-size:17px;
  font-weight:700;
  color:#fff;
  margin:0 0 6px;
  line-height:1.3;
  letter-spacing:-.2px;
}
.cookie-modal__text{
  font-size:14px;
  line-height:1.55;
  color:#9aa4b3;
  margin:0;
}

.cookie-modal__categories{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:18px;
}
.cookie-modal__cat{
  display:block;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:12px;
  padding:12px 14px;
  cursor:pointer;
  transition:border-color .2s,background .2s;
}
.cookie-modal__cat:hover{border-color:rgba(104,89,242,0.3);background:rgba(255,255,255,0.05)}
.cookie-modal__cat--locked{cursor:default;opacity:0.9}
.cookie-modal__cat--locked:hover{border-color:rgba(255,255,255,0.06);background:rgba(255,255,255,0.03)}
.cookie-modal__cat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.cookie-modal__cat-name{
  font-size:14px;
  font-weight:600;
  color:#e8edf2;
  line-height:1.3;
}
.cookie-modal__cat-badge{
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:#6859f2;
  background:rgba(104,89,242,0.12);
  padding:3px 8px;
  border-radius:6px;
  flex-shrink:0;
}
.cookie-modal__cat-desc{
  font-size:12.5px;
  color:#9aa4b3;
  line-height:1.5;
  margin:0;
}

.cookie-modal__switch{
  position:relative;
  display:inline-flex;
  flex-shrink:0;
  width:40px;
  height:22px;
  cursor:pointer;
}
.cookie-modal__checkbox{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}
.cookie-modal__switch-track{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.1);
  border-radius:11px;
  transition:background .2s;
}
.cookie-modal__switch-thumb{
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  background:#fff;
  border-radius:50%;
  transition:transform .2s;
  box-shadow:0 1px 3px rgba(0,0,0,0.3);
}
.cookie-modal__checkbox:checked ~ .cookie-modal__switch-track{
  background:linear-gradient(135deg,#6859f2,#8b5cf6);
}
.cookie-modal__checkbox:checked ~ .cookie-modal__switch-track .cookie-modal__switch-thumb{
  transform:translateX(18px);
}
.cookie-modal__checkbox:focus-visible ~ .cookie-modal__switch-track{
  box-shadow:0 0 0 3px rgba(104,89,242,0.3);
}

.cookie-modal__actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cookie-modal__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:11px 18px;
  border-radius:40px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  border:1px solid transparent;
  transition:box-shadow .2s,border-color .2s,color .2s,background .2s;
  box-sizing:border-box;
  line-height:1.2;
}
.cookie-modal__btn--ghost{
  background:transparent;
  color:#b0b8c4;
  border-color:rgba(255,255,255,0.12);
}
.cookie-modal__btn--ghost:hover{border-color:#6859f2;color:#fff}
.cookie-modal__btn--primary{
  background:linear-gradient(135deg,#6859f2,#8b5cf6);
  color:#fff;
  box-shadow:0 4px 15px rgba(104,89,242,0.3);
}
.cookie-modal__btn--primary:hover{box-shadow:0 8px 30px rgba(104,89,242,0.5)}

@media (max-width:480px){
  .cookie-modal{padding:10px}
  .cookie-modal__panel{padding:18px;border-radius:16px}
  .cookie-modal__head{padding-right:22px;gap:10px}
  .cookie-modal__icon{width:40px;height:40px}
  .cookie-modal__icon svg{width:20px;height:20px}
  .cookie-modal__title{font-size:16px}
  .cookie-modal__text{font-size:13px}
  .cookie-modal__cat{padding:11px 12px}
  .cookie-modal__cat-name{font-size:13.5px}
  .cookie-modal__cat-desc{font-size:12px}
  .cookie-modal__btn{padding:11px 16px;font-size:13.5px}
}