/* Overlays, menus, forms */

.ff-side{display:flex; flex-direction:column; gap:14px}
.ff-side__block{padding:14px}
.ff-side__title{font-weight:700; margin-bottom:10px}
.ff-side__links{display:flex; flex-direction:column; gap:8px}
.ff-side__links a{color:var(--ff-txt); opacity:.9}
.ff-side__links a:hover{opacity:1}

.ff-side__tax{margin-top:12px}
.ff-side__taxName{font-size:13px; color:var(--ff-muted); margin-bottom:8px}

.ff-chips{display:flex; flex-wrap:wrap; gap:8px}

.ff-ctaStack{display:flex; flex-direction:column; gap:10px}

.ff-side__list{display:flex; flex-direction:column; gap:10px}
.ff-sideRow{display:flex; align-items:center; gap:10px; padding:8px; border-radius:14px; border:1px solid transparent}
.ff-sideRow:hover{border-color:var(--ff-border); text-decoration:none}
.ff-sideRow__ava{width:32px; height:32px; border-radius:999px; overflow:hidden; border:1px solid var(--ff-border); background:rgba(255,255,255,.04)}
.ff-sideRow__text{display:flex; flex-direction:column; line-height:1.2}
.ff-sideRow__name{font-weight:600}
.ff-sideRow__user{font-size:12px; color:var(--ff-muted)}

.ff-avatarFallback{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-weight:700;
  color: rgba(255,255,255,.85);
  background: radial-gradient(circle at 30% 30%, rgba(255,79,216,.18), rgba(120,168,255,.10));
}

.ff-termDesc{padding:14px; margin-bottom:14px}

.ff-pagination{margin:18px 0}
.ff-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 10px; margin:0 4px 6px 0; border-radius:999px; border:1px solid var(--ff-border); background:rgba(255,255,255,.04); color:var(--ff-txt)}
.ff-pagination .current{border-color: rgba(255,79,216,.35)}

.ff-overlay{position:fixed; inset:0; z-index:80;}
.ff-overlay__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55)}
.ff-overlay__panel{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(860px, calc(100% - 24px));
  max-height:min(76vh, calc((var(--ff-vh) * 100) - 140px));
  display:flex; flex-direction:column;
  border-radius:var(--ff-radius2);
  border:1px solid var(--ff-border);
  background: linear-gradient(180deg, rgba(20,22,30,.92), rgba(12,14,18,.86));
  backdrop-filter: blur(var(--ff-blur));
  box-shadow: var(--ff-shadow);
}
.ff-overlay__top{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--ff-border)}
.ff-overlay__content{padding:14px; overflow:auto}

/* Theme-styled scrollbar inside overlay panels */
.ff-overlay__content{
  scrollbar-width: thin;
  scrollbar-color: rgba(255,79,216,.55) rgba(255,255,255,.06);
}
.ff-overlay__content::-webkit-scrollbar{width:10px}
.ff-overlay__content::-webkit-scrollbar-track{
  background: rgba(255,255,255,.06);
  border-radius: 999px;
}
.ff-overlay__content::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, rgba(255,79,216,.55), rgba(255,79,216,.25));
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.25);
}
.ff-overlay__content::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(180deg, rgba(255,79,216,.70), rgba(255,79,216,.35));
}

.ff-overlay__bottom{display:flex; gap:10px; padding:12px 14px; border-top:1px solid var(--ff-border)}
.ff-overlay__bottom{justify-content:center; flex-wrap:wrap}
.ff-overlay__bottom .ff-btn:hover{ text-decoration:none; }
.ff-overlay__section{margin-top:14px}
.ff-overlay__sectionTitle{font-weight:700; margin-bottom:8px}

.ff-agegate{position:fixed; inset:0; z-index:120;}
.ff-agegate__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.70)}
.ff-agegate__card{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(520px, calc(100% - 24px));
  border-radius:var(--ff-radius2);
  border:1px solid var(--ff-border);
  background: linear-gradient(180deg, rgba(24,26,34,.95), rgba(12,14,18,.88));
  box-shadow: var(--ff-shadow);
  padding:18px;
}
.ff-agegate__card h2{margin:0 0 8px; text-align:center}
.ff-agegate__actions{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; justify-content:center}
.ff-agegate__fineprint{margin-top:12px; font-size:12px; color:var(--ff-muted); text-align:center; display:flex; justify-content:center; flex-wrap:wrap; gap:6px; line-height:1.2}
.ff-agegate__fineprint a{color:var(--ff-muted); text-decoration:none}
.ff-agegate__fineprint a:hover{color:var(--ff-txt); text-decoration:none}
.ff-agegate__fineprint .ff-legalSep{opacity:.65}

/* Mobile menu */
.ff-menu{position:fixed; inset:0; z-index:90;}
.ff-menu__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55)}
.ff-menu__panel{
  position:absolute; right:12px; top:70px;
  width:min(360px, calc(100% - 24px));
  border-radius:var(--ff-radius2);
  border:1px solid var(--ff-border);
  background: linear-gradient(180deg, rgba(20,22,30,.92), rgba(12,14,18,.86));
  backdrop-filter: blur(var(--ff-blur));
  box-shadow: var(--ff-shadow);
  padding:12px;
}
.ff-menu__top{display:flex; align-items:center; justify-content:space-between; padding:6px 4px 10px; border-bottom:1px solid var(--ff-border); margin-bottom:10px}
.ff-menu__links{display:flex; flex-direction:column; gap:8px}
.ff-menu__links a{padding:10px 10px; border-radius:14px; border:1px solid transparent; color:var(--ff-txt)}
.ff-menu__links a:hover{border-color:var(--ff-border); text-decoration:none}
.ff-menu__ctas{display:flex; flex-direction:column; gap:10px; margin-top:12px}

.ff-form{display:flex; flex-direction:column; gap:12px}
.ff-form__row label{display:block; font-size:13px; color:var(--ff-muted); margin-bottom:6px}
.ff-form__row input,.ff-form__row textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--ff-border);
  background:rgba(255,255,255,.04);
  color:var(--ff-txt);
}


.ff-notice{padding:12px 14px; margin-bottom:12px}

.ff-link{display:inline-block; margin-top:10px}

/* simple modal player */
.ff-modal{position:fixed; inset:0; z-index:100;}
.ff-modal__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.65)}
.ff-modal__panel{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(980px, calc(100% - 24px));
  border-radius:var(--ff-radius2);
  border:1px solid var(--ff-border);
  background: rgba(10,12,18,.92);
  box-shadow: var(--ff-shadow);
  overflow:hidden;
}
.ff-modal__top{display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--ff-border)}
.ff-modal__body{aspect-ratio:16/9; background:#000}
.ff-modal__body iframe,.ff-modal__body video{width:100%; height:100%; border:0; display:block}


/* Dropdown menu content (mobile/tablet) */
.ff-menu__search{max-width:none; width:100%; height:52px; margin:10px 0 14px}
.ff-menu__search .ff-search__input{width:100%}

.ff-menu__ctas{display:flex; flex-direction:column; gap:10px}
.ff-menu__ctas .ff-btn{width:100%}

.ff-menu__legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:14px;
  font-size:12px;
  line-height:1.2;
  color: var(--ff-muted);
}
.ff-menu__legal a{color: var(--ff-muted); text-decoration:none; opacity:.95}
.ff-menu__legal a:hover{color: var(--ff-txt); text-decoration:none}
.ff-menu__legal .ff-legalSep{opacity:.6}
