/* ==========================================================================
   ApexFans - Social Network Template for Content Creators
   ==========================================================================
*/
/*
* Developer Name: ApexCodeStudios
* Website: https://www.apexcodestudios.com
*/

:root{
  --white: #fff;
  --black: #000;
  --dark: #1f1e22;
  --font-family: "Karla", sans-serif;
  --logo-width: 155px;
  --logo-height: 55px;
}
:root[data-theme="light"] {
    --bg-body: #f0f2f5;
    --bg-card: #ffffff;
    --text-heading: #0f172a;
    --text-body: #6a6c6e;
    --text-muted: #64748b;
    --border-subtle: #d4d9e0;
    --border-strong: #cbd5e1;
    --primary-purple: #A279ED;
    --primary-purple-hover: #8E5FE6;
    --primary-purple-muted: #EFEEFE;

    --hover-sidebar: #ffffff;
    --hover-card: #F5F5F5;
    --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.05);
    --scrollbar-thumb: rgba(0, 0, 0, 0.2);
    --form-control: #f0f2f5;
    --form-switch: #dce1e9;
    --search: #ffffff;
    --widget-item-gradient: linear-gradient(90deg, #E2D4F9 0%, #CBB3F7 100%);
    --widget-item-text: #3D1E6D;

    --icon-bg-green: #e6fcf5;
    --icon-color-green: #0ca678;
    --icon-bg-blue: #e7f5ff;
    --icon-color-blue: #228be6;
    --icon-bg-orange: #fff4e6;
    --icon-color-orange: #fd7e14;
    --icon-bg-red: #f8edf2; 
    --icon-color-red: #d6336c;
    --icon-bg-mint: #ebfafd; 
    --icon-color-mint: #1e95aa;

    --settings-danger-alert-bg: #FFF5F5;
    --story-live-gradient: linear-gradient(30deg, #D62976, #962FBF, #4F5BD5);
    --story-standard-gradient: linear-gradient(45deg, #F99B4A, #F47B20, #DD2A7B, #9B27B0);
    --hover-bg: rgba(0, 0, 0, 0.05);

    --modal-overlay-bg: rgba(255, 255, 255, 0.85);
    --chip-inactive-bg: #F5F5F5;
    --chip-inactive-border: #EEEEEE;
    --paywall-overlay: rgba(0, 0, 0, 0.7);
}
:root[data-theme="dark"] {
    --bg-body: #0f172a;
    --bg-card: #1e293b;
    --text-heading: #f8fafc;
    --text-body: #cbd5e1;
    --text-muted: #94a3b8;
    --border-subtle: #334155;
    --border-strong: #475569;
    --primary-purple: #B68FFF;
    --primary-purple-hover: #A373FF;
    --primary-purple-muted: #2A1F40;

    --hover-sidebar: #1e293b;
    --hover-card: #0f172a;
    --shadow-card: 0 2px 4px rgba(0, 0, 0, 0.2);
    --scrollbar-thumb: rgba(255, 255, 255, 0.2);
    --form-control: #0f172a;
    --form-switch: #cbd5e1;
    --search: #1e293b;
    --widget-item-gradient: linear-gradient(90deg, #543c80 0%, #392361 100%);
    --widget-item-text: #E5D9FC;

    --icon-bg-green: rgba(12, 166, 120, 0.15);
    --icon-color-green: #39e5a1;
    --icon-bg-blue: rgba(34, 139, 230, 0.15);
    --icon-color-blue: #4dadf7;
    --icon-bg-orange: rgba(253, 126, 20, 0.15);
    --icon-color-orange: #ff922b;
    --icon-bg-red: rgba(253, 20, 109, 0.15);
    --icon-color-red: #eb4982;
    --icon-bg-mint: rgba(20, 226, 253, 0.15); 
    --icon-color-mint: #2ad3d3;

    --settings-danger-alert-bg: #1C1214;
    --story-live-gradient: linear-gradient(30deg, #E03783, #A53CD0, #5B68E4);
    --story-standard-gradient: linear-gradient(45deg, #FFA75B, #F68731, #E83687, #A934BE);
    --hover-bg: rgba(255, 255, 255, 0.1);

    --modal-overlay-bg: rgba(18, 18, 18, 0.9);
    --chip-inactive-bg: #262626;
    --chip-inactive-border: #383838;
    --paywall-overlay: rgba(0, 0, 0, 0.85);
}

/****************************/
/** Reset **/
/****************************/
html, body, div, span, applet, object, iframe, p, pre, a, abbr, acronym, address, big, cite, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, fieldset, form, label, legend, caption, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}
em, cite {
  font-style: italic;
}
strong {
  font-weight: bold;
}
body {
  background-color: var(--bg-body);
  color: var(--text-body);
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.0625rem;
  line-height: 1.75rem;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a:hover, a:active {
  outline: 0;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  font-family: var(--font-family);
  text-decoration: none !important;
  color: var(--primary-purple);

  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
}
a:hover {
  text-decoration: none !important;
  color: var(--primary-purple-hover);
}
a:focus {
  text-decoration: none !important;
  outline: none !important;
  color: var(--primary-purple-hover);
}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
 font-family: var(--font-family);
 color: var(--text-body);
 font-weight: 700;
 margin: 0;
 line-height: 1.2
}
.h1,h1 {
    font-size: 48px
}
.h2,h2 {
    font-size: 38px
}
.h3,h3 {
    font-size: 30px
}
.h4,h4 {
    font-size: 24px
}
.h5,h5 {
    font-size: 18px
}
.h6,h6 {
    font-size: 15px
}
@media (max-width:767px) {
    .h1,h1 {
        font-size: 40px
    }
    .h2,h2 {
        font-size: 30px
    }
    .h3,h3 {
        font-size: 26px
    }
}
.paragraph,p {
margin: 0;
font-size: 15px;
line-height: 1.7
}
img {
max-width: 100%;
height: auto;
}
img, svg {
vertical-align: middle;
}
.force-UTF-8 {
content: "¡";
}
::-webkit-file-upload-button {
cursor: pointer;
}

/* ------------------------------------------------------------------- */
/* Bootstrap Reset
---------------------------------------------------------------------- */
.text-success{
  color: #08beab !important;
}
.text-muted{
color: var(--text-muted) !important;
}
.bg-light{
  background-color: var(--bg-body) !important;
  border: 1px solid var(--border-subtle) !important;
}
.table>:not(caption)>*>* {
color: var(--text-body) !important;
background-color: var(--bg-card) !important;
}
.table thead{
background-color: var(--bg-card) !important;
border-color: var(--border-subtle) !important;
}
.table tbody tr{
background-color: var(--bg-card) !important;
border-color: var(--border-subtle) !important;
}
.input-group{
  flex-wrap: nowrap !important;
}
.input-group-text{
  background-color: var(--form-control) !important;
  color: var(--text-body) !important;
  border: none !important;
}

.dropdown-menu {
background-color: var(--bg-card);
border: 1px solid var(--border-subtle);
border-radius: 12px;
box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.dropdown-item {
color: var(--text-body);
font-size: 0.9rem;
padding: 8px 16px;
display: flex;
align-items: center;
gap: 10px;
transition: background-color 0.2s;
}
.dropdown-item i {
font-size: 1rem;
color: var(--text-muted);
position: relative; 
top: 1px; 
}
.dropdown-item:hover {
background-color: var(--hover-bg);
color: var(--text-body);
}
.dropdown-item.text-danger:hover {
background-color: rgba(220, 53, 69, 0.1);
}
.dropdown-divider{
border: 1px solid var(--border-subtle);
}
/* ------------------------------------------------------------------- */
/* Theme Switcher
---------------------------------------------------------------------- */
.theme-toggler {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: var(--bg-card);
  border: 1px solid var(--border-subtle);
  padding: 6px;
  border-radius: 50px;
  display: flex;
  gap: 5px;
  z-index: 2000;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.theme-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.theme-btn:hover {
  background-color: var(--hover-sidebar);
  color: var(--text-body);
}
.theme-btn.active {
  background-color: var(--primary-purple);
  color: #FFFFFF;
}

/* ------------------------------------------------------------------- */
/* Back to Top
---------------------------------------------------------------------- */
#back-to-top {
cursor: pointer;
position: fixed;
bottom: 80px;
right: 40px;
z-index: 1020;
-webkit-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
width: 42px;
height: 42px;
line-height: 42px;
text-align: center;
color: #fff;
background: var(--primary-purple) !important;
border: 0;
text-decoration: none;

-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
-o-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;

outline: none;
opacity: 0;

-webkit-box-shadow: 8px 8px 40px 0px rgba(0, 0, 0, 0.3);
-ms-box-shadow: 8px 8px 40px 0px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 8px 8px 40px 0px rgba(0, 0, 0, 0.3);
-o-box-shadow: 8px 8px 40px 0px rgba(0, 0, 0, 0.3);
box-shadow: 8px 8px 40px 0px rgba(0, 0, 0, 0.3);
}
#back-to-top.show {
bottom: 80px;
opacity: 1;
}
#back-to-top.hide {
bottom: -100px;
}
#back-to-top:before {
content: "\FCE79";
font-family: "iconsax";
font-size: 14px;
font-weight: 900;
color: #fff;
position: relative;
margin: 5px;
}
#back-to-top.show,
#back-to-top.hide{
  -o-transition: .5s;
  -ms-transition: .5s;
  -moz-transition: .5s;
  -webkit-transition: .5s;
  transition: .5s;
  outline: none;
}

/* ------------------------------------------------------------------- */
/* Buttons
---------------------------------------------------------------------- */
.btn-purple {
  background-color: var(--primary-purple);
  color: #FFFFFF;
  border: none;
  border-radius: 12px;
  padding: 6px 20px;
  font-size: 0.9rem;
  font-weight: 600;
  transition: background-color 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
}
.btn-purple:hover {
  background-color: var(--primary-purple-hover);
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(162, 121, 237, 0.25);
}
.btn-purple:active {
  transform: scale(0.98);
}
.btn-purple i{
font-size: 16px;
}
.btn-lg-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 30px;
  padding: 12px 30px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.btn-lg-pill i{
font-size: 16px;
}
.btn-lg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 12px;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.btn-lg i{
font-size: 22px;
}


.btn-light-edit {
  background: rgba(13, 110, 253, 0.1);
  color: #0d6efd;
}
.btn-light-edit:hover {
  background: #0d6efd;
  color: #ffffff;
}
.btn-light-danger {
  background: rgba(220, 53, 69, 0.1);
  color: #dc3545;
}
.btn-light-danger:hover {
  background: #dc3545;
  color: #ffffff;
}
.btn-white{
  background-color: var(--white) !important;
  color: var(--dark) !important;
}
.btn-white:hover {
  background-color: var(--white) !important;
  color: var(--dark) !important;
  opacity: 0.90;
}


/* ------------------------------------------------------------------- */
/* Colors
---------------------------------------------------------------------- */
.bg-purple { background: var(--primary-purple-hover) !important; }
.bg-purple-subtle { background: rgba(111, 66, 193, 0.12) !important; }
.text-purple { color: var(--primary-purple) !important; }
.icon-purple { background: var(--primary-purple-muted); color: var(--primary-purple); }
.icon-green { background: var(--icon-bg-green); color: var(--icon-color-green); }
.icon-blue { background: var(--icon-bg-blue); color: var(--icon-color-blue); }
.icon-orange { background: var(--icon-bg-orange); color: var(--icon-color-orange); }
.icon-red { background: var(--icon-bg-red); color: var(--icon-color-red); }
.icon-mint { background: var(--icon-bg-mint); color: var(--icon-color-mint); }

/* ------------------------------------------------------------------- */
/* Avatars
---------------------------------------------------------------------- */
.avatar-sm {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .avatar-sm {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid var(--primary-purple-muted);
  }
}

/*------------------------------------------------------------------
* Form
*-------------------------------------------------------------------*/
label {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 18px;
  margin-bottom: 5px;
  font-weight: 500;
  color: var(--text-body);
}
.form-check label {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 0; 
  text-transform: none;
}
input:not([type="checkbox"]):not([type="radio"]), 
textarea, 
select {
  font-family: var(--font-family);
  font-size: 14px !important;
  line-height: 48px;
  padding: 0 16px;
  background-color: var(--form-control);
  color: var(--text-body) !important;
  border: 0;
  border-radius: 10px;
  width: 100%;
}
input:not([type="checkbox"]):not([type="radio"]), 
select {
  height: 48px;
  line-height: 48px;
}
textarea {
  font-size: 16px;
  line-height: 1.6;
  padding: 10px;
  height: auto;
}
input:focus, 
select:focus, 
textarea:focus {
  background-color: var(--form-control);
  box-shadow: 0 0 0 2px var(--primary-purple) !important;
  color: var(--text-body) !important;
  outline: 0 !important;
}
input:focus-visible, 
select:focus-visible, 
textarea:focus-visible {
  background-color: var(--form-control);
  box-shadow: 0 0 0 2px var(--primary-purple) !important;
  color: var(--text-body) !important;
  outline: 0 !important;
  border: 0;
}

.form-check-input {
  background-color: var(--form-control) !important;
  border: none;
}
.form-check-input:checked {
  background-color: var(--primary-purple) !important; /* Force custom fill */
}
.form-switch .form-check-input {
  background-color: var(--form-switch) !important;
}
.form-switch .form-check-input:checked {
  background-color: var(--primary-purple) !important; /* Force custom fill */
}
.search-box input {
  background-color: var(--search) !important;
}
.search-box input:focus, .search-box input:focus-visible{
  background-color: var(--search) !important;
}


.password-toggle {
  position: relative
}
.password-toggle .form-control {
  padding-right: 3rem
}
.password-toggle-btn {
  position: absolute;
  top: 50%;
  right: .625rem;
  margin-bottom: 0;
  padding: .5rem;
  transform: translateY(-50%);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer
}
.password-toggle-btn .password-toggle-indicator {
  transition: color .2s ease-in-out;
  color: var(--text-muted);
  font-family: "iconsax";
  font-size: 1.25em;
  font-style: normal
}
.password-toggle-btn .password-toggle-indicator::before {
  content: "\FA30C";
}
.password-toggle-btn .password-toggle-check {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0
}
.password-toggle-btn .password-toggle-check:checked~.password-toggle-indicator::before {
  content: "\F2AF6";
}

/* ------------------------------------------------------------------- */
/* Layout Grid 
---------------------------------------------------------------------- */
.app-wrapper {
  display: grid;
  grid-template-columns: 260px 1fr 340px;
  min-height: 100vh;
}
.mobile-top-header {
  display: none;
}

/* ------------------------------------------------------------------- */
/* Left Sidebar Structure
---------------------------------------------------------------------- */
.left-sidebar {
  background-color: transparent;
  border-right: 1px solid var(--border-subtle);
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  z-index: 1000;
}
.logo-area {
  padding: 0 20px 4px;
}
.logo-full {
  max-width: 190px;
  height: 70px;
  display: block;
}
.logo-icon {
  max-width: 36px;
  height: auto;
  display: none;
}
.simplebar-wrapper {
  max-height: 200px !important;
}
.sidebar-scroll-wrapper {
  flex-grow: 1;
  min-height: 0;
}
.sidebar-scroll-wrapper .simplebar-content-wrapper {
  overflow-x: hidden !important;
}
.sidebar-scroll-wrapper .simplebar-scrollbar::before {
  background-color: var(--scrollbar-thumb);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.sidebar-scroll-wrapper:hover .simplebar-scrollbar::before {
  opacity: 1;
}
.nav-links {
  padding: 0 10px;
}
.nav-links li .nav-item-link,
.nav-links li .see-more-toggle {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  border-radius: 12px;
  color: var(--text-body);
  font-weight: 500;
  font-size: 0.95rem;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  transition: background-color 0.2s;
}
.nav-links li .nav-item-link:hover,
.nav-links li .see-more-toggle:hover {
  background-color: var(--hover-sidebar);
  color: var(--primary-purple);
  font-weight: 500;
}
.nav-links li .bi-icon {
  font-size: 1.4rem;
  margin-right: 18px;
  color: var(--text-muted);
  width: 24px;
  text-align: center;
  position: relative;
  top: 1px;
}
.nav-links li .nav-item-link.active {
  background-color: var(--bg-card) !important;
  color: var(--primary-purple) !important;
  font-weight: 600;
}
.nav-links li .nav-item-link.active .bi-icon,
.nav-links li .nav-item-link:hover .bi-icon,
.nav-links li .see-more-toggle:hover .bi-icon{
  color: var(--primary-purple);
}
.create-btn-wrapper {
  padding: 20px 15px;
}
.create-btn-wrapper .btn-lg-pill .bi {
  display: none;
}
.user-account-wrapper {
  padding: 15px;
  border-top: 1px solid var(--border-subtle);
  margin-top: auto;
}
.user-account-wrapper .user-dropdown-toggle {
  color: var(--text-body);
  width: 100%;
  padding: 8px;
  border-radius: 12px;
  transition: background-color 0.2s;
  cursor: pointer;
  border: none;
  background: transparent;
  text-align: left;
}
.user-account-wrapper .user-dropdown-toggle:hover {
  background-color: var(--hover-sidebar);
}
.user-account-wrapper .user-info {
  flex-grow: 1;
}
.user-account-wrapper .user-info .name {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0;
  color: var(--text-body);
  line-height: 1.2;
}
.user-account-wrapper .user-info .handle {
  color: var(--text-muted);
  font-size: 0.8rem;
  margin-bottom: 0;
}
.user-account-wrapper .dots-icon {
  color: var(--text-muted);
  font-size: 1.1rem;
}
.custom-dropup-menu {
  background-color: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  padding: 6px;
  width: 240px;
}
.custom-dropup-menu .dropdown-scroll-container {
  max-height: 200px !important;
}
.custom-dropup-menu .dropdown-item {
  color: var(--text-body);
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
.custom-dropup-menu .dropdown-item:hover {
  background-color: var(--hover-card);
  color: var(--text-body);
}
.custom-dropup-menu .dropdown-item i{
  font-size: 1.1rem;
}
.mobile-nav-clone {
  display: none;
}


/* ------------------------------------------------------------------- */
/* Main Body Structure
---------------------------------------------------------------------- */
.main-body {
  border-right: 1px solid var(--border-subtle);
  min-width: 0;
}
.main-tabs-container {
  position: sticky;
  top: 0;
  background-color: var(--bg-body);
  z-index: 900;
  border-bottom: 1px solid var(--border-subtle);
  padding: 20px 25px;
}
.page-main-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-body);
  margin: 0;
}
.page-main-title i {
  position: relative;
  top: 1.5px;
}
.tablet-top-search-wrapper {
  display: none;
}
.post-content{
  padding: 10px 25px !important;
  overflow-x: hidden;
}
/* ------------------------------------------------------------------- */
/* Right Sidebar Structure
---------------------------------------------------------------------- */
.right-sidebar {
  padding: 20px 0 20px 25px;
}

/* ------------------------------------------------------------------- */
/* TABLET CONFIGURATIONS (768px - 1199px)
---------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1199px) {
  .app-wrapper {
    grid-template-columns: 78px 1fr 0px;
  }
  .right-sidebar {
    display: none;
  }
  .tablet-top-search-wrapper {
    display: block;
  }
  .page-main-title{
  display: none;
  }
  .logo-area {
    padding: 0 0 25px;
    text-align: center;
    display: flex;
    justify-content: center;
  }
  .logo-full {
    display: none;
  }
  .logo-icon {
    display: block;
    max-width: 42px;
  }
  .nav-links {
    padding: 0 8px;
  }
  .nav-links li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 14px;
  }
  .nav-links li .nav-item-link,
  .nav-links li .see-more-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }
  .nav-links li .bi-icon {
    font-size: 1.6rem !important;
    margin: 0 auto !important;
  }
  .nav-links li .nav-item-link span,
  .nav-links li .see-more-toggle span {
    display: none !important;
  }
  .nav-links li .nav-item-link.active {
    background-color: transparent;
    color: var(--primary-purple);
  }
  .tablet-icon-only-dropdown {
    width: 65px !important;
    min-width: 65px !important;
  }
  .tablet-icon-only-dropdown .dropdown-item {
    justify-content: center;
    padding: 12px 0;
  }
  .tablet-icon-only-dropdown .dropdown-item i {
    margin-right: 0 !important;
    font-size: 1.3rem;
  }
  .tablet-icon-only-dropdown .dropdown-item span {
    display: none !important;
  }
  .create-btn-wrapper {
    padding: 10px 0;
    text-align: center;
    display: flex;
    justify-content: center;
  }
  .create-btn-wrapper .btn-lg-pill {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: var(--primary-purple);
  }
  .create-btn-wrapper .btn-lg-pill i {
    display: block !important;
    font-size: 1.25rem !important;
    color: var(--white);
    margin: 0 !important;
    padding: 0 !important;
  }
  .create-btn-wrapper .btn-lg-pill span {
    display: none !important;
  }
  .user-account-wrapper {
    border-top: none;
    padding: 20px 0 10px !important;
    display: flex;
    justify-content: center;
  }
  .user-dropdown-toggle {
    display: flex;
    justify-content: center;
    padding: 0;
    width: auto;
  }
  .user-info,
  .dots-icon {
    display: none;
  }
  .post-content { padding: 15px 25px !important; }
}

/* ------------------------------------------------------------------- */
/* MOBILE VIEWS (767px)
---------------------------------------------------------------------- */
@media (max-width: 767px) {
  body {
    padding-top: 60px !important;
    padding-bottom: 65px !important;
  }
  body.body-login {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .theme-toggler {
    position: fixed;
    bottom: 80px;
    right: 20px;
  }
  .theme-toggler.toggler-down {
    position: fixed;
    bottom: 20px !important;
    right: 20px !important;
  }
  #back-to-top {
    position: fixed;
    bottom: 135px !important;
    right: 40px !important;
  }
  #back-to-top.back-down {
    position: fixed;
    bottom: 80px !important;
    right: 40px !important;
  }
  .app-wrapper {
    grid-template-columns: 1fr;
  }
  .main-body {
    border-right: none;
  }
  .main-tabs-container{
    display: none !important;
  }
  .settings-wrapper .main-tabs-container {
    display: block !important;
  }
  .mobile-top-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: var(--bg-body);
    border-bottom: 1px solid var(--border-subtle);
    padding: 0 16px;
    z-index: 1050;
  }
  .mobile-profile-toggle {
    border: none;
    background: transparent;
    padding: 0;
  }
  .mobile-profile-toggle .avatar-mobile {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
  }
  .mobile-logo-center {
    height: 54px;
    width: auto;
  }
  .mobile-search-btn {
    background: transparent;
    border: none;
    color: var(--text-body);
    font-size: 1.4rem;
    padding: 0;
    display: flex;
    align-items: center;
  }
  .mobile-top-header .dropdown-menu {
    margin-top: 8px !important;
    transform: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 16px !important;
  }
  .left-sidebar {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    height: 65px;
    width: 100%;
    flex-direction: row;
    padding: 0;
    border-right: none;
    border-top: 1px solid var(--border-subtle);
    background-color: var(--bg-card);
    align-items: center;
    justify-content: center;
  }
  .logo-area,
  .create-btn-wrapper,
  .user-account-wrapper,
  .sidebar-scroll-wrapper {
    display: none !important;
  }
  .mobile-nav-clone {
    display: flex !important;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    padding: 0;
    height: 100%;
  }
  .mobile-nav-clone li {
    flex: 1;
    text-align: center;
  }
  .mobile-nav-clone li .nav-item-link,
  .mobile-nav-clone li .see-more-toggle {
    padding: 6px 0;
    border-radius: 0;
    flex-direction: column;
    font-size: 0.68rem;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    background: transparent !important;
    border: none;
    color: var(--text-body);
  }
  .mobile-nav-clone li .bi-icon {
    font-size: 1.35rem;
    margin-right: 0;
    margin-bottom: 0px;
    width: auto;
    color: var(--text-muted);
  }
  .mobile-nav-clone li .nav-item-link.active .bi-icon {
    color: var(--primary-purple);
  }
  .mobile-nav-clone li .nav-item-link.active span {
    color: var(--primary-purple);
    font-weight: 600;
  }
  .mobile-nav-clone li .nav-item-link:hover,
  .mobile-nav-clone li .see-more-toggle:hover,
  .mobile-nav-clone li .nav-item-link:hover .bi-icon,
  .mobile-nav-clone li .see-more-toggle:hover .bi-icon {
    background-color: var(--hover-sidebar);
    color: var(--primary-purple);
  }
  .mobile-nav-clone .custom-dropup-menu {
    width: 200px !important;
  }
  .right-sidebar {
    display: none;
  }
  .post-content { padding: 25px 12px !important; }
  .nav-links li .bi-icon {
    position: relative;
    top: 2px;
  }
}


/* ================================================================================================================================================================== 
  Designs
===================================================================================================================================================================== */


/* ------------------------------------------------------------------- */
/* Auth Design
---------------------------------------------------------------------- */
.auth-wrapper {
min-height: 100vh;
display: flex;
background: var(--bg-body);
}
.auth-wrapper .left-panel {
flex: 1;
min-width: 360px;
background: linear-gradient(rgba(35, 37, 38, 0.50), rgba(35, 37, 38, 0.50));
position: relative;
color: var(--white);
padding: 3.5rem 2.5rem;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.auth-wrapper .left-panel .hero-bg.login {
position: absolute;
inset: 0;
background: linear-gradient(rgba(35, 37, 38, 0.60), rgba(35, 37, 38, 0.60)), url('https://placehold.co/1100x1100?text=1100+x+1100') center/cover no-repeat;
z-index: 0;
}
.auth-wrapper .left-panel .hero-bg.register {
position: absolute;
inset: 0;
background: linear-gradient(rgba(35, 37, 38, 0.60), rgba(35, 37, 38, 0.60)), url('https://placehold.co/1100x1100?text=1100+x+1100') center/cover no-repeat;
z-index: 0;
}
.auth-wrapper .left-panel .hero-content {
position: relative;
z-index: 1;
flex: 1;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding-bottom: 2rem;
}
.auth-wrapper .left-panel .hero-text {
font-size: clamp(1.8rem, 5vw, 2.8rem);
font-weight: 700;
line-height: 1.15;
max-width: 90%;
}
.auth-wrapper .left-panel .hero-text span{
color: var(--primary-purple) !important;
font-weight: 800;
}
.auth-wrapper .right-panel {
flex: 1;
min-width: 360px;
padding: 4rem 3rem;
display: flex;
flex-direction: column;
justify-content: center;
background: var(--bg-card);
}
.auth-wrapper .right-panel .form-container {
max-width: 460px;
width: 100%;
margin: 0 auto;
}
.auth-wrapper .right-panel .btn-purple{
padding: 0.65rem 1rem !important;
}
.google-btn {
background: var(--white);
color: #202124;
border: 1px solid var(--border-subtle);
border-radius: 12px;
padding: 0.65rem 1rem;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
gap: 0.75rem;
transition: all 0.2s;
}
.google-btn img {
width: 20px;
height: 20px;
}
.auth-wrapper .right-panel .btn-purple:hover, .google-btn:hover {
transform: translateY(-1.5px);
}
.divider {
display: flex;
align-items: center;
gap: 1rem;
margin: 1.5rem 0;
color: var(--text-muted);
font-size: 0.875rem;
}
.divider-line {
flex: 1;
height: 1px;
background: var(--border-subtle);
}

@media (max-width: 992px) {
  .auth-wrapper {
  flex-direction: column;
  }
  .auth-wrapper .left-panel, .auth-wrapper .right-panel {
  min-height: 40vh;
  padding: 2.5rem 1.5rem;
  }
  .auth-wrapper .left-panel .hero-text {
  font-size: 2.1rem;
  }
}
@media (max-width: 576px) {
  .auth-wrapper .right-panel {
  padding: 2rem 1.25rem;
  }
}


/*------------------------------------------------------------------
* 404 Page
*-------------------------------------------------------------------*/
.error-container {
font-family: var(--font-family);
max-width: 1000px;
width: 100%;
padding: 74px 24px;
border-radius: 18px;
margin: 20px;
background: var(--bg-card);
box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.04);
}
.error-title {
font-size: 1.75rem;
font-weight: 700;
letter-spacing: -0.5px;
}
.error-svg-wrapper {
max-width: 720px;
margin: 0 auto;
}
.error-svg-wrapper svg {
width: 100%;
height: auto;
display: block;
}
.error-desc {
font-size: 1rem;
color: var(--text-muted);
line-height: 1.6;
max-width: 480px;
margin: 0 auto;
}
.btn-back {
background: var(--primary-purple);
color: var(--white);
padding: 8px 36px;
border-radius: 18px;
font-weight: 600;
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 1px;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
transition: all 0.3s ease-in-out;
}
.btn-back:hover {
background: var(--primary-purple-hover);
color: var(--white);
}
@media (max-width: 576px) {
  .error-title { 
  font-size: 1.4rem; 
  }
  .error-svg-wrapper {
  max-width: 320px;
  }
  .btn-back { 
  width: 100%; 
  justify-content: center;
  padding: 6px 36px !important;
  }
}



/*------------------------------------------------------------------
* Widgets
*-------------------------------------------------------------------*/
.right-card { 
  background-color: var(--bg-card); 
  border-radius: 13px; 
  padding: 20px; 
  margin-bottom: 25px; 
}
.right-card .card-title { 
  font-size: 1.1rem; 
  font-weight: 700; 
  color: var(--text-body); 
  margin-bottom: 8px; 
}
.right-card .card-text { 
  font-size: 0.85rem; 
  color: var(--text-muted); 
  margin-bottom: 15px; 
}
.right-card a.small { 
  text-underline-offset: 5px;
}

/* --- Leaderboard  --- */
.leaderboard-table {
width: 100%;
margin-top: 10px;
}
.leaderboard-table th {
font-size: 0.75rem;
font-weight: 600;
color: var(--text-muted);
padding-bottom: 12px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.leaderboard-row {
border-top: 1px solid var(--border-subtle);
}
.leaderboard-row td {
padding: 12px 0;
vertical-align: middle;
}
.leaderboard-rank {
width: 32px;
font-size: 0.88rem;
font-weight: 700;
color: var(--text-muted);
}
.leaderboard-rank i {
font-size: 1.2rem;
}
.leaderboard-rank .red { color: #ff0000; }
.leaderboard-rank .orange { color: #fa7e02; }
.leaderboard-rank .blue { color: #0f62f1; }

.leaderboard-user-cell {
display: flex;
align-items: center;
gap: 10px;
}
.leaderboard-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
object-fit: cover;
}
.leaderboard-username {
font-size: 0.9rem;
font-weight: 500;
color: var(--text-body);
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.leaderboard-username a{
color: var(--text-body) !important;
}
.leaderboard-username a:hover{
color: var(--primary-purple-hover) !important;
}
.leaderboard-points {
text-align: right;
font-size: 0.9rem;
font-weight: 700;
color: var(--text-body);
}

/* --- Online Creators  --- */
.creators-cloud-rail {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px;
margin-top: 15px;
}
.cloud-avatar-anchor {
position: relative;
display: inline-block;
cursor: pointer;
transition: transform 0.2s ease;
}
.cloud-avatar-anchor:hover {
transform: translateY(-2px);
}
.online-active-badge {
position: absolute;
bottom: 1px;
right: 1px;
width: 11px;
height: 11px;
background-color: #2ECC71;
border: 2px solid var(--border-subtle);
border-radius: 50%;
z-index: 2;
}


/* --- Suggested Creators  --- */
.creators-stack-container {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 15px;
}
.creator-row-node {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.creator-identity-group {
display: flex;
align-items: center;
gap: 12px;
min-width: 0;
}
.avatar-profile-md {
width: 44px;
height: 44px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
}
.metadata-label-block {
display: flex;
flex-direction: column;
min-width: 0;
}
.metadata-label-block .profile-title-name{
font-size: 0.9rem;
font-weight: 700;
color: var(--text-body);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.3;
}
.metadata-label-block .profile-title-name a{
color: var(--text-body) !important;
}
.metadata-label-block .profile-title-name a:hover{
color: var(--primary-purple-hover) !important;
}
.metadata-label-block .profile-subtitle-reason {
font-size: 0.78rem;
line-height: 1.5;
color: var(--text-muted);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.creator-row-node .btn-purple-sm {
padding: 5px 14px;
font-size: 0.82rem;
border-radius: 16px;
}

/* --- Suggestions Profiles --- */
.suggest-card {
position: relative !important;
overflow: hidden !important;
border-radius: 13px !important;
width: 100% !important;
cursor: pointer;
aspect-ratio: 25 / 9;
transition: transform 0.3s ease;
}
.suggest-card:hover {
transform: translateY(-2px);
}
.suggest-card-img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
}
.suggest-card-linear {
position: absolute !important;
top: 0 !important;
right: 0 !important;
bottom: 0 !important;
left: 0 !important; 
width: 100% !important;
height: 100% !important;
background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 40%, transparent 100%);
pointer-events: none;
}
.suggest-card-avatar {
display: block;
width: 44px !important;
height: 44px !important;
border-radius: 50% !important;
border: 2px solid #fff !important; 
overflow: hidden !important;
flex-shrink: 0 !important;
box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; 
}
.suggest-card-name {
margin: 0 !important;
font-size: 1rem !important;
font-weight: 500 !important;
color: #fff !important; 
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}


/* --- Subscriptions  --- */
.subscription-btn-free {
background: #FF6584;
color: #ffffff;
border: none;
border-radius: 50px;
width: 100%;
padding: 13px 22px;
font-weight: 500;
font-size: 0.98rem;
box-shadow: 0 4px 10px rgba(255, 101, 132, 0.15);
}
.subscription-btn-free:hover {
background: #ee5e7b;
color: #ffffff;
}

.subscription-tier-item {
background: var(--widget-item-gradient);
color: var(--widget-item-text) !important;
border-radius: 50px;
padding: 12px 24px;
margin-bottom: 10px;
font-weight: 500;
font-size: 0.92rem;
transition: transform 0.15s ease, background-color 0.2s, opacity 0.2s;
cursor: pointer;
border: none;
}
.subscription-tier-item:hover {
opacity: 0.9;
}
.subscription-tier-item:active {
transform: scale(0.99);
}
.subscription-tier-item span.tier-duration {
font-weight: 500;
}
.subscription-tier-item span.tier-price {
font-weight: 600;
}

/* Sidebar Ad */
.sidebar-ad-container {
margin: 0 auto;
width: 300px;
height: 600px;
background-color: var(--hover-bg); 
border-radius: 12px;
overflow: hidden;
position: relative;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
text-decoration: none;
transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.2s ease;
}
.sidebar-ad-container:hover {
transform: translateY(-4px);
}
.ad-placeholder-text {
color: #94a3b8;
font-size: 22px;
font-weight: 700;
text-align: center;
user-select: none;
line-height: 1.4;
}
.ad-placeholder-text span {
display: block;
font-size: 14px;
font-weight: 400;
color: #64748b;
margin-top: 4px;
}


/* --- Right Sidebar Footer  --- */
.right-sidebar-footer-group {
margin-top: auto;
padding-top: 15px;
}
.footer-anchor-matrix {
display: flex;
flex-wrap: wrap;
column-gap: 8px;
row-gap: 4px;
margin-bottom: 10px;
}
.footer-anchor-matrix a {
font-size: 0.80rem;
color: var(--text-muted);
}
.footer-anchor-matrix a:hover {
color: var(--primary-purple-hover);
}
.footer-matrix-divider {
font-size: 0.75rem;
color: var(--text-muted);
}
.system-copyright-tag {
font-size: 0.82rem;
color: var(--text-muted);
letter-spacing: 0.04em;
font-weight: 500;
}




/* ------------------------------------------------------------------- */
/* Stories
---------------------------------------------------------------------- */
.stories-module-panel {
position: relative;
background-color: var(--bg-card);
border-radius: 16px;
padding: 16px 8px;
margin: 20px 0px 30px !important;
}
.stories-track-overflow {
display: flex;
gap: 18px;
overflow-x: auto;
scroll-behavior: smooth;
padding: 4px 8px;
}
.stories-track-overflow::-webkit-scrollbar {
display: none;
}
.story-node-item {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
width: 74px;
flex-shrink: 0;
cursor: pointer;
user-select: none;
transition: transform 0.2s ease;
}
.story-node-item:hover {
transform: translateY(-2px);
}
.story-ring-envelope {
position: relative;
width: 68px;
height: 68px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 6px;
padding: 2.5px;
background: transparent;
}
.story-node-item.has-story .story-ring-envelope { background: var(--story-standard-gradient); }
.story-node-item.is-live .story-ring-envelope { background: var(--story-live-gradient); }
.story-avatar-img {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
border: 2px solid var(--bg-card);
}
.story-ring-envelope .badge-add-story {
position: absolute;
bottom: 1px;
right: 1px;
background-color: #0095F6;
color: #FFFFFF;
width: 20px;
height: 20px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.7rem;
z-index: 5;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.story-ring-envelope.dual-live-avatars .avatar-primary,
.story-ring-envelope.dual-live-avatars .avatar-secondary {
position: absolute;
width: 44px;
height: 44px;
border-radius: 50%;
object-fit: cover;
border: 2px solid var(--border-subtle);
}
.story-ring-envelope.dual-live-avatars .avatar-primary { top: 2px; left: 2px; z-index: 1; }
.story-ring-envelope.dual-live-avatars .avatar-secondary { bottom: 2px; right: 2px; z-index: 2; }
.story-ring-envelope .badge-live-pill {
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
background: linear-gradient(0deg, #D62976, #DD2A7B);
color: #FFFFFF;
font-size: 0.58rem;
font-weight: 700;
padding: 1px 5px;
border-radius: 4px;
letter-spacing: 0.5px;
text-transform: uppercase;
border: 1.5px solid var(--border-subtle);
white-space: nowrap;
z-index: 10;
}
.story-node-label {
color: var(--text-body);
font-size: 0.72rem;
font-weight: 400;
line-height: 0.9;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.story-ctrl-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 26px;
height: 26px;
background-color: var(--bg-card);
border: 2px solid var(--border-strong);
color: var(--text-body);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
z-index: 20;
cursor: pointer;
opacity: 1;
transition: opacity 0.25s ease, transform 0.15s ease;
}
.story-ctrl-btn:hover { transform: translateY(-50%) scale(1.08); }
.story-ctrl-btn.ctrl-left { left: 12px; }
.story-ctrl-btn.ctrl-right { right: 12px; }
.story-ctrl-btn.hidden-state { opacity: 0; pointer-events: none; }

@media (max-width: 767px) {
  .stories-module-panel { padding: 12px 4px; }
}  


/*------------------------------------------------------------------
* Post Creator
*-------------------------------------------------------------------*/
.post-creator-container {
background-color: var(--bg-card);
border-radius: 16px;
box-shadow: var(--shadow-elevation);
padding: 20px;
margin-bottom: 30px;
transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.input-row-wrapper { 
display: flex; 
gap: 14px; 
align-items: flex-start; 
}
.creator-avatar { 
width: 45px; 
height: 45px; 
border-radius: 50%; 
object-fit: cover; 
}
.post-textarea {
background: var(--bg-body);
border: none;
color: var(--text-body);
resize: none;
width: 100%;
font-size: 0.95rem;
padding-top: 8px;
}
.post-textarea:focus { 
outline: none; 
box-shadow: none; 
background: var(--bg-body); 
color: var(--text-body); 
}
.post-textarea::placeholder { 
color: var(--text-muted); 
}
.action-icons-row {
display: flex; 
flex-wrap: wrap; 
gap: 10px; 
margin-top: 18px;
padding-top: 15px; 
border-top: 1px dashed var(--border-subtle);
}
.action-trigger-btn {
width: 38px; 
height: 38px; 
border-radius: 50%; 
border: none; 
background-color: var(--bg-body); 
color: var(--text-muted);
display: flex; 
align-items: center; 
justify-content: center; 
font-size: 1.20rem; 
cursor: pointer;
transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.action-trigger-btn:hover { 
background-color: var(--primary-purple-hover);
color: var(--white) !important; 
transform: translateY(-2px); 
}
.custom-tooltip {
--bs-tooltip-bg: var(--primary-purple-hover) !important;
--bs-tooltip-color: var(--white);
}
.options-expand-drawer { max-height: 0; overflow: hidden; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
.post-creator-container.is-expanded .options-expand-drawer { max-height: 500px; }
.control-settings-block { margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--border-subtle); }
.config-toggle-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; }
.toggle-meta .title { font-size: 0.9rem; font-weight: 600; margin-bottom: 2px; color: var(--text-body); }
.toggle-meta .desc { font-size: 0.78rem; color: var(--text-muted); margin-bottom: 0; }


.scheduler-input-wrap { max-height: 0; overflow: hidden; transition: max-height 0.25s ease, margin 0.25s ease; }
.scheduler-input-wrap.is-visible { max-height: 80px; margin-top: 8px; margin-bottom: 12px; }
.custom-datetime-input { background-color: var(--bg-input-field); border: 1px solid var(--border-subtle); color: var(--text-body); border-radius: 10px; padding: 10px 14px; font-size: 0.88rem; width: 100%; }
.custom-datetime-input:focus { background-color: var(--bg-input-field); border-color: var(--primary-purple); color: var(--text-body); box-shadow: none; }

.component-footer-tray { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--border-subtle); }
.privacy-dropdown-toggle { background-color: var(--bg-body); color: var(--text-body); border-radius: 20px; padding: 6px 16px; font-size: 0.85rem; font-weight: 500; display: flex; align-items: center; gap: 6px; transition: background-color 0.2s; }
.privacy-dropdown-toggle:hover, .privacy-dropdown-toggle:focus { background-color: var(--bg-body); color: var(--text-body); }

.dropdown-menu-custom { background-color: var(--search); border: 1px solid var(--border-subtle); box-shadow: var(--shadow-card); border-radius: 12px; padding: 6px; }
.dropdown-menu-custom .dropdown-item { color: var(--text-body); font-size: 0.85rem; padding: 8px 14px; border-radius: 8px; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.dropdown-menu-custom .dropdown-item:hover { background-color: var(--bg-body); }
.submit-post-btn { background-color: var(--primary-purple); color: #FFFFFF; border: none; border-radius: 20px; padding: 6px 24px !important; font-size: 0.88rem; font-weight: 600; transition: background-color 0.2s, transform 0.1s; }
.submit-post-btn:hover { background-color: var(--primary-purple-hover); color: var(--white) !important; }
.submit-post-btn:active { transform: scale(0.97); }



/*------------------------------------------------------------------
* Social Feed Posts
*-------------------------------------------------------------------*/
.post-card {
background-color: var(--bg-card);
border-radius: 16px;
width: 100%;
padding: 24px;
margin-bottom: 30px;
transition: background-color 0.3s ease, border-color 0.3s ease;
}
.post-card .avatar {
width: 44px;
height: 44px;
border-radius: 50%;
object-fit: cover;
}
.post-card .user-name {
font-weight: 600;
font-size: 0.95rem;
line-height: 0.8;
color: var(--text-body);
margin-top: 6px;
}
.post-time {
font-size: 0.8rem;
color: var(--text-muted);
}
.clickable-post-link {
text-decoration: none;
color: inherit;
display: block;
}
.clickable-post-link:hover .post-description {
color: var(--text-body);
}
.post-image-container {
width: 100%;
max-height: 420px;
border-radius: 12px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
}
.post-img {
width: 100%;
height: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
border-radius: 14px;
transition: transform 0.4s ease;
}
.clickable-post-link:hover .post-img {
transform: scale(1.015);
}
.post-image-grid {
width: 100%;
height: 380px;
border-radius: 14px;
overflow: hidden;
margin-bottom: 20px;
display: flex;
gap: 12px;
}
.gallery-left-block {
flex: 1.1;
height: 100%;
border-radius: 14px;
overflow: hidden;
}
.gallery-right-block {
flex: 0.9;
display: flex;
flex-direction: column;
gap: 12px;
height: 100%;
}
.gallery-right-top {
flex: 1;
border-radius: 14px;
overflow: hidden;
}
.gallery-right-bottom-row {
flex: 1;
display: flex;
gap: 12px;
}
.gallery-thumb-box {
flex: 1;
border-radius: 14px;
overflow: hidden;
position: relative;
}
.gallery-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
display: block;
}
.clickable-post-link:hover .gallery-img {
transform: scale(1.03);
}
.more-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
display: flex;
justify-content: center;
align-items: center;
color: #ffffff;
font-size: 1.6rem;
font-weight: 700;
letter-spacing: 1px;
pointer-events: none;
}
.post-description {
font-size: 0.925rem;
line-height: 1.6;
color: var(--text-body);
margin-bottom: 12px;
transition: color 0.2s ease;
}
.read-more {
color: var(--primary-purple);
font-weight: 600;
text-decoration: none;
}
.read-more:hover {
text-decoration: underline;
}
.post-footer {
border-top: 1px dashed var(--border-subtle);
padding-top: 16px;
margin-top: 20px;
}
.action-btn {
background-color: var(--hover-bg);
border: none;
color: var(--text-muted);
font-size: 0.9rem;
font-weight: 500;
display: flex;
align-items: center;
gap: 8px;
padding: 6px 12px;
border-radius: 20px;
transition: all 0.3s ease;
}
.action-btn i {
font-size: 1.1rem;
position: relative;
top: 1px;
transition: transform 0.3s ease;
}
.action-btn:hover {
background-color: var(--hover-bg);
color: var(--text-body);
}
.action-btn:hover i { transform: scale(1.15); color: inherit; }
.btn-like, .btn-like:hover { color: #f9197f; }
.btn-comment, .btn-comment:hover { color: var(--primary-purple-hover); }
.btn-share, .btn-share:hover { color: #00bcd4; }
.btn-tips {
color: var(--icon-color-red);
background-color: var(--icon-bg-red);
}
.btn-tips:hover {
background-color: var(--icon-bg-red);
color: var(--icon-color-red);
}

.comment-section { padding-top: 20px; border-top: 1px solid var(--border-subtle);  margin-top: 15px;}
.comment-input-wrapper {
position: relative;
background: var(--form-control);
border-radius: 20px;
padding: 5px 15px;
display: flex;
align-items: center;
flex-grow: 1;
}
.comment-input-wrapper input {
color: var(--text-body);    
border: none;
background: transparent;
width: 100%;
padding: 5px;
font-size: 14px;
}
.comment-input-wrapper input:focus { outline: none; }
.comment-input-wrapper button {
border: none;
background: none;
color: var(--text-muted);
border-radius: 4px;
transition: color 0.2s, background-color 0.2s;
padding: 2px 6px;
}
.comment-input-wrapper button:hover { color: var(--text-body); background-color: var(--hover-bg); }

/* Video Preview Area */
.video-container {
width: 100%;
max-height: 420px;
border-radius: 12px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;

position: relative;
cursor: pointer;
}
.video-thumbnail {
width: 100%;
border-radius: 16px;
aspect-ratio: 16 / 9;
object-fit: cover;
}
.play-button {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 70px;
height: 70px;
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(4px);
border: 3px solid white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 2rem;
transition: transform 0.2s;
}
.play-button i{
position: relative;
top: 3px !important;
}
.video-container:hover .play-button {
transform: translate(-50%, -50%) scale(1.1);
}

/* Native Responsive Video Container Profile */
.video-wrapper {
margin-top: 15px;
border-radius: 12px;
overflow: hidden;
background-color: #000000;
position: relative;
}
.video-wrapper video {
width: 100%;
max-height: 450px;
display: block;
object-fit: cover;
aspect-ratio: 16 / 9;
}

/* --- Custom Audio Player --- */
.custom-audio-player {
background-color: var(--bg-card); 
border: 1px solid var(--border-subtle);
border-radius: 14px; 
padding: 16px 20px; 
margin-top: 15px;
display: flex;
align-items: center; 
gap: 16px;
}
.audio-ctrl-btn {
width: 44px; height: 44px; border-radius: 50%;
background-color: var(--primary-purple); color: #FFFFFF; border: none;
display: flex; align-items: center; justify-content: center;
font-size: 1.2rem; cursor: pointer; transition: background-color 0.2s, transform 0.1s;
box-shadow: 0 3px 8px rgba(162, 121, 237, 0.2); flex-shrink: 0;
}
.audio-ctrl-btn:hover { background-color: var(--primary-purple-hover); transform: scale(1.04); }
.audio-body-track { flex-grow: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.audio-track-info { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.audio-title-meta { font-size: 0.88rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; }
.audio-timekeepers { font-size: 0.76rem; color: var(--text-muted); font-weight: 500; }
.audio-progress-container { display: flex; align-items: center; width: 100%; }
.audio-progress {
-webkit-appearance: none; appearance: none; width: 100%; height: 5px;
border-radius: 3px; background: var(--border-subtle); outline: none; cursor: pointer; transition: background 0.2s;
}
.audio-progress::-webkit-slider-runnable-track {
background: linear-gradient(to right, var(--primary-purple) 0%, var(--primary-purple) var(--progress-percent, 0%), var(--border-subtle) var(--progress-percent, 0%), var(--border-subtle) 100%);
height: 5px; border-radius: 3px;
}
.audio-progress::-moz-range-track { background: var(--border-subtle); height: 5px; border-radius: 3px; }
.audio-progress::-moz-range-progress { background: var(--primary-purple); height: 5px; border-radius: 3px; }
.audio-progress::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 14px; height: 14px; border-radius: 50%; background: var(--primary-purple); cursor: pointer; box-shadow: 0 0 0 3px rgba(162, 121, 237, 0.3); margin-top: -4.5px; }
.audio-progress::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--primary-purple); cursor: pointer; border: none; box-shadow: 0 0 0 3px rgba(162, 121, 237, 0.3); }
.audio-volume-toggle { background: transparent; border: none; color: var(--text-muted); font-size: 1.15rem; cursor: pointer; display: flex; align-items: center; flex-shrink: 0; }
.audio-volume-toggle:hover { color: var(--text-body); }


/* --- File Cards --- */
.custom-file-payload {
background-color: var(--bg-card); border: 1px solid var(--border-subtle);
border-radius: 14px; padding: 16px 20px; margin-top: 15px;
display: flex; align-items: center; gap: 16px; transition: border-color 0.2s ease;
}
.custom-file-payload:hover { border-color: var(--primary-purple); }
.file-icon-wrapper {
width: 44px; height: 44px; border-radius: 12px;
background-color: var(--primary-purple-muted); color: var(--primary-purple);
display: flex; align-items: center; justify-content: center;
font-size: 1.4rem; flex-shrink: 0;
}
.file-details-meta { flex-grow: 1; min-width: 0; }
.file-title-text { font-size: 0.88rem; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text-body); }
.file-size-subtitle { font-size: 0.78rem; color: var(--text-muted); margin: 2px 0 0 0; font-weight: 500; }
.file-download-action-btn {
width: 38px; height: 38px; border-radius: 50%;
background-color: transparent; color: var(--text-muted); border: 1px solid var(--border-subtle);
display: flex; align-items: center; justify-content: center;
font-size: 1.1rem; cursor: pointer; transition: all 0.2s ease; flex-shrink: 0;
}
.file-download-action-btn:hover {
background-color: var(--primary-purple); color: #FFFFFF; border-color: var(--primary-purple);
transform: translateY(-1px); box-shadow: 0 3px 6px rgba(162, 121, 237, 0.15);
}


/* --- Post Carousel --- */
.custom-feed-carousel {
position: relative;
margin-top: 15px;
border-radius: 14px;
overflow: hidden;
}
.custom-feed-carousel .carousel-inner img {
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
}
.carousel-minimal-btn {
width: 36px; 
height: 36px; 
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.85) !important;
border: none; 
color: #1A1A1A !important; opacity: 1;
top: 50%; 
transform: translateY(-50%); 
transition: all 0.2s ease;
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.carousel-minimal-btn:hover { background-color: #FFFFFF !important; scale: 1.05; }
.carousel-minimal-btn .bi { font-size: 1.1rem; font-weight: 700; }
[data-theme="dark"] .carousel-minimal-btn {
background-color: rgba(30, 30, 30, 0.85) !important;
color: #F1F1F1 !important;
}

/* Subscribe To View Image */
.post-subscribe {
width: 100%;
max-height: 420px;
border-radius: 12px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
position: relative; 
}
.post-subscribe .post-img {
width: 100%;
height: 100%;
object-fit: cover; 
border-radius: 14px;
transition: transform 0.4s ease;
}
.post-subscribe i {
position: relative;
top: 2px;
}
.subscribe-blur-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--paywall-overlay);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 24px;
text-align: center;
z-index: 5;
transition: background-color 0.3s ease;
}
.subscribe-icon-wrap {
width: 64px;
height: 64px;
background: rgba(255,255,255,0.1);
color: var(--white);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
font-size: 1.8rem;
margin-bottom: 14px;
border: 1px solid rgba(255,255,255,0.2);
padding: 10px;
}
.subscribe-headline {
font-size: 1.15rem;
font-weight: 700;
color: var(--white);
}
.subscribe-subtext {
font-size: 0.85rem;
line-height: 1.4;
color: var(--white);
max-width: 280px;
margin: 14px 0px 18px;
}

/* Pay to View Image Gallery */
.unlock-container { position: relative; border-radius: 16px; overflow: hidden; margin-top: 15px; aspect-ratio: 16/10; }
.unlock-image-blur { width: 100%; height: 100%; object-fit: cover; filter: blur(2px) brightness(0.9); transform: scale(1.1); }
.unlock-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--paywall-overlay); color: white; padding: 30px; text-align: center; }
.unlock-icon-circle { width: 64px; height: 64px; padding: 10px; border-radius: 50%; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; font-size: 1.8rem; margin-bottom: 15px; }
.btn-unlock { background: white; color: #6a6c6e; border: none; border-radius: 50px; padding: 5px 20px; font-weight: 700; font-size: 0.95rem; transition: 0.2s; display: flex; align-items: center; gap: 10px; }
.btn-unlock:hover { background: var(--primary-purple); color: white; transform: scale(1.05); }
.unlock-container i { position: relative; top: 2px; }

/* Pay to View Video */
.unlock-video { background: #000; position: relative; aspect-ratio: 16/9; }
.video-thumbnail { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; }
.play-lock-icon { font-size: 4rem; color: white; opacity: 0.8; margin-bottom: 10px; }
.video-tag { position: absolute; top: 20px; right: 20px; background: rgba(0,0,0,0.6); color: white; padding: 4px 12px; border-radius: 6px; font-size: 0.8rem; font-weight: 700; backdrop-filter: blur(5px); }

/* Pay to Listen to Audio */
.unlock-audio { background: linear-gradient(135deg, #1a1a1a, #333); border-radius: 16px; padding: 40px 20px; display: flex; flex-direction: column; align-items: center; gap: 20px; color: white; }
.audio-waveform { display: flex; align-items: center; gap: 4px; height: 40px; margin-bottom: 10px; }
.wave-bar { width: 4px; background: var(--primary-purple); border-radius: 2px; opacity: 0.5; }
.wave-bar:nth-child(even) { height: 20px; }
.wave-bar:nth-child(odd) { height: 35px; }

/* Pay to Download File */
.unlock-file { background: var(--primary-purple-muted); border: 2px dashed var(--primary-purple); border-radius: 16px; padding: 30px; display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.file-icon-box { width: 70px; height: 70px; border-radius: 15px; background: white; color: var(--primary-purple); display: flex; align-items: center; justify-content: center; font-size: 2.2rem; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.file-info-lock { flex-grow: 1; }
.file-name-lock { font-weight: 700; font-size: 1.1rem; margin-bottom: 4px; }
.file-meta-lock { font-size: 0.85rem; color: var(--text-muted); }

/* --- Threaded Comments Styles --- */
.thread-integrated-container {
  margin-top: 18px;
}
.thread-integrated-container i { position: relative; top: 1px; }
.comment-node {
position: relative;
margin-bottom: 20px;
}
/* Vertical line from parent to its children */
.has-replies > .comment-node::after {
content: "";
position: absolute;
left: 17px;
top: 35px;
bottom: -20px;
width: 1px;
background-color: var(--border-subtle);
z-index: 1;
}
.replies-container {
padding-left: 40px;
position: relative;
}
/* Vertical line within replies container connecting all siblings */
.replies-container::before {
content: "";
position: absolute;
left: 17px;
top: -20px;
bottom: 17px;
width: 1px;
background-color: var(--border-subtle);
z-index: 1;
}
/* Curved branch for each reply */
.is-reply::before {
content: "";
position: absolute;
left: -23px;
top: 0;
width: 23px;
height: 17px;
border-left: 1px solid var(--border-subtle);
border-bottom: 1px solid var(--border-subtle);
border-bottom-left-radius: 12px;
z-index: 1;
}
.comment-node .avatar-wrapper {
position: relative;
z-index: 3;
width: 35px;
height: 35px;
flex-shrink: 0;
background-color: var(--bg-card);
border-radius: 50%;
}
.avatar-thread {
width: 35px;
height: 35px;
border-radius: 50%;
object-fit: cover;
display: block;
}
.avatar-placeholder {
width: 35px;
height: 35px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
color: white;
font-size: 0.8rem;
}
.comment-content {
padding-left: 12px;
width: 100%;
}
.comment-header {
display: flex;
align-items: center;
margin-bottom: 2px;
gap: 6px;
}
.comment-body-text { font-size: 0.9rem; line-height: 1.4; margin-bottom: 8px; color: var(--text-body); }
.comment-actions-thread { display: flex; align-items: center; gap: 3px; }
.action-btn-like { background-color: var(--hover-bg); border: none; color: #f9197f; font-size: 0.8rem; font-weight: 500; display: flex; align-items: center; gap: 4px; cursor: pointer; padding: 4px 8px; border-radius: 6px; transition: all 0.3s ease; }
.action-btn-like:hover { color: #f9197f; background-color: var(--hover-bg); }
.action-btn-thread { background-color: var(--hover-bg); border: none; color: var(--text-muted); font-size: 0.8rem; font-weight: 500; display: flex; align-items: center; gap: 4px; cursor: pointer; padding: 4px 8px; border-radius: 6px; transition: all 0.3s ease; }
.action-btn-thread:hover { color: var(--text-body); background-color: var(--hover-bg); }
.action-btn-like:hover i, .action-btn-thread:hover i { transform: scale(1.15); color: inherit; }

/*------------------------------------------------------------------
* MAGNIFIC POPUP TIP CARD
*-------------------------------------------------------------------*/
.tip-modal-popup {
background-color: var(--bg-card);
max-width: 440px;
margin: 40px auto;
padding: 30px 25px;
border-radius: 24px;
position: relative;
box-shadow: 0 20px 50px rgba(0,0,0,0.15);
text-align: center;
}
.tip-user-box {
margin-bottom: 25px;
}
.tip-avatar-frame {
width: 80px;
height: 80px;
border-radius: 50%;
padding: 4px;
background: var(--story-standard-gradient);
display: inline-block;
margin-bottom: 12px;
box-shadow: 0 8px 20px rgba(162, 121, 237, 0.15);
}
.tip-avatar-frame img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 50%;
border: 3px solid var(--bg-card);
}
.tip-modal-popup .mfp-close {
top: 15px;
right: 15px;
width: 32px;
height: 32px;
line-height: 32px;
background-color: var(--bg-action-btn);
color: var(--text-body);
border-radius: 50%;
font-size: 22px;
opacity: 0.8;
transition: all 0.2s;
}
.tip-modal-popup .mfp-close:hover {
background-color: var(--bg-action-btn-hover);
opacity: 1;
}
.chip-amount-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
margin-bottom: 20px;
}
.tip-amount-chip {
background-color: var(--chip-inactive-bg);
border: 1px solid var(--chip-inactive-border);
color: var(--text-body);
padding: 12px 5px;
font-weight: 700;
font-size: 1rem;
border-radius: 14px;
cursor: pointer;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.tip-amount-chip:hover {
border-color: var(--primary-purple);
background-color: var(--primary-purple-muted);
transform: translateY(-2px);
}
.tip-amount-chip.active {
background-color: var(--primary-purple);
border-color: var(--primary-purple);
color: #FFFFFF;
box-shadow: 0 4px 12px rgba(162, 121, 237, 0.3);
}
.custom-tip-field {
position: relative;
margin-bottom: 25px;
}
.custom-tip-field .dollar-prefix {
position: absolute;
left: 20px;
top: 50%;
transform: translateY(-50%);
font-weight: 700;
color: var(--text-muted);
font-size: 1.1rem;
transition: color 0.2s;
}

/* Clean out custom validation numeric spinners */
.custom-tip-field input::-webkit-outer-spin-button,
.custom-tip-field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.custom-tip-field input[type=number] { -moz-appearance: textfield; }

/* Customize Magnific Popup Translucent Mask Overlays */
.mfp-bg {
background: var(--modal-overlay-bg);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
opacity: 1 !important;
}

/*------------------------------------------------------------------
* Creators
*-------------------------------------------------------------------*/
.app-wrapper-creator {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .app-wrapper-creator { grid-template-columns: 78px 1fr; }
} 
@media (max-width: 767px) {
  .app-wrapper-creator { grid-template-columns: 1fr; }
}  

.creators-card { background: var(--bg-card); border-radius: 20px; overflow: hidden; transition: 0.3s ease; height: 100%; display: flex; flex-direction: column; }
.creators-card:hover { transform: translateY(-5px); border-color: var(--primary-purple); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }

.creators-card .creators-banner { height: 120px; width: 100%; position: relative; overflow: visible; background: linear-gradient(135deg, #1f293d 0%, #0d1117 100%); }
.creators-card .creators-banner img.creators-banner-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.9; }

.creators-card .creators-avatar-wrapper { position: absolute; bottom: -30px; left: 20px; z-index: 10; }
.creators-card .creators-avatar-img { width: 60px; height: 60px; border-radius: 50%; border: 4px solid var(--bg-card); object-fit: cover; background: var(--bg-card); }
.creators-card i { position: relative; top: 2px; }
.creators-card .creators-body-content { padding: 40px 20px 20px; flex-grow: 1; display: flex; flex-direction: column; }
.creators-card .creators-body-content h5 a{ color: var(--text-body) !important;}
.creators-card .creators-body-content h5 a:hover{ color: var(--primary-purple-hover) !important;}
.creators-card .creators-stats { display: flex; gap: 20px; margin-bottom: 20px; padding-top: 15px; border-top: 1px dashed var(--border-subtle); }
.creators-card .creators-stat-item { display: flex; flex-direction: column; }
.creators-card .creators-stat-val { font-weight: 700; font-size: 0.95rem; line-height: 0.8;}
.creators-card .creators-stat-lbl { font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase; font-weight: 600; }
.creators-card .creators-actions { display: flex; gap: 10px; margin-top: auto; }
.creators-card .btn-subscribe { flex-grow: 1; background: var(--primary-purple); color: white; border: none; border-radius: 12px; padding: 4px; font-weight: 700; font-size: 0.9rem; transition: 0.2s; }
.creators-card .btn-subscribe:hover { background: var(--primary-purple-hover); }
.creators-card .btn-view { background: var(--primary-purple-muted); color: var(--primary-purple); border: none; border-radius: 12px; padding: 4px 15px; font-size: 0.9rem; font-weight: 600; transition: 0.2s; }
.creators-card .btn-view:hover { background: var(--primary-purple); color: white; }

.stat-likes { color: #f9197f !important; }
.stat-posts { color: var(--primary-purple-hover) !important; }
.stat-subs { color: #00bcd4 !important; }

/* ------------------------------------------------------------------- */
/* Filter Section
---------------------------------------------------------------------- */
.filter {
  padding: 0px 30px;
  background: var(--bg-card);
  margin: 20px 0px 30px;
  border-radius: 10px;
 }
.filter-toolbar {
  flex: 1 1 auto;
  max-width: 100%;
  display: flex;
  align-items: center;
}
.filter-item {
  margin-right: 2.5rem;
  position: relative;
}
.filter-item label {
  color: #9999a5;
  font-size: 14px;
  display: block;
  margin-bottom: 0px !important;
}
.filter-item .filter-item-content {
  display: flex;
  align-items: center;
}
.filter-item .filter-value {
  font-size: 16px;
  font-weight: 500;
  color: var(--text-body);
}
.filter-item .dropdown-btn {
  position: relative;
  width: 16px;
  height: 16px;
  display: block;
  margin-top: 2px;
  margin-left: 15px;
  cursor: pointer;
  transition: 0.4s ease;
}
.filter-item .dropdown-btn::before, .filter-item .dropdown-btn::after {
  content: "";
  position: absolute;
  display: block;
  width: 16px;
  height: 2px;
  background-color: var(--text-body);
  left: 0;
  top: 50%;
  transition: 0.2s ease;
  margin-top: -5px;
}
.filter-item .dropdown-btn::after {
  margin-top: 2px;
  width: 10px;
}
.filter-item .filter-item-content[aria-expanded="true"] .dropdown-btn::after {
  margin-top: -2px;
  width: 16px;
  transform: rotate(-45deg);
  background-color: var(--primary-purple-hover);
}
.filter-item .filter-item-content[aria-expanded="true"] .dropdown-btn::before {
  transform: rotate(45deg);
  margin-top: -2px;
  background-color: var(--primary-purple-hover);
}
.filter-item .dropdown-toggle:after {
  display: none;
  border: none;
}
.filter-item .dropdown-menu {
  left: -20px !important;
  margin-top: 10px;
  background-color: var(--bg-card);
  padding: 1rem 0rem;
}
.filter-item .dropdown-menu li {
  font-size: 14px;
  cursor: pointer;
  padding: 2px 20px;
  color: var(--text-body);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.filter-item .dropdown-menu li:hover, .filter-item .dropdown-menu li.selected {
  color: var(--primary-purple-hover);
}
.filter-item .dropdown-menu.dropdown-2x.show {
  display: inline-flex;
  flex-wrap: wrap;
  max-width: 20rem;
  width: 20rem;
}
.filter-item .dropdown-menu.dropdown-2x.show li {
  flex: 0 0 50%;
  max-width: 50%;
}
@media (max-width: 990px) {
  .filter {
    margin: 40px 0px;
   }
  .filter-toolbar{
    flex-direction: column;
    align-items: center;
  }
  .filter-item {
    margin-bottom: 10px;
  }
  .filter .btn-purple{
    width: 100%;
    margin-bottom: 15px;
  }
}


/* ------------------------------------------------------------------- */
/* Pagination List
---------------------------------------------------------------------- */
.pagination-list {
margin: 40px 0px 20px;
}
.pagination-list i { position: relative; top: 2px; }
.pagination-list li.pagination-item {
margin: 0;
display: inline-block
}
.pagination-list li.active .pagination-link,
.pagination-list li a:hover {
background-color: var(--primary-purple);
color: var(--white);
}
.pagination-list li:nth-of-type(1) a,
.pagination-list li:nth-of-type(1) span,
.pagination-list li:last-of-type a,
.pagination-list li:last-of-type span {
padding: 6px 11px;
}
.pagination-list li a,
.pagination-list li span {
position: relative;
float: left;
padding: 6px 15px;
line-height: 1.42857143;
color: var(--text-body);
text-decoration: none;
background-color: var(--bg-card);
border: none;
margin: 0 2px 5px;
border-radius: 10px;
}
.disabled>.pagination-link, .pagination-link.disabled {
color: var(--text-body);
pointer-events: none;
background-color: var(--bg-card);
border-color: none;
}


/* --- NEW COMPONENT SPECIFIC UI STYLES --- */
.profile-container {
position: relative;
background-color: var(--bg-card);
border-bottom: 1px solid var(--border-subtle);
}
.profile-container i { position: relative; top: 1px; }
.profile-banner-wrapper {
position: relative;
width: 100%;
height: 240px;
overflow: hidden;
background: linear-gradient(135deg, #1f293d 0%, #0d1117 100%);
}
.profile-banner-img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.8;
}
.profile-meta-bar {
padding: 0 25px 20px 25px;
position: relative;
margin-top: -60px;
}
.profile-avatar-outer {
position: relative;
width: 120px;
height: 120px;
border-radius: 50%;
padding: 4px;
background: var(--bg-card);
display: inline-block;
}
.profile-avatar-img {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
border: 4px solid var(--bg-card);
}
.profile-display-name {
font-size: 1.5rem;
font-weight: 700;
color: var(--text-body);
margin: 0;
display: flex;
align-items: center;
gap: 6px;
}
.icon-verified {
font-size: 1.25rem;
}
.profile-user-handle {
font-size: 0.95rem;
color: var(--text-muted);
margin: 2px 5px 0 0;
}
.status-indicator-pill {
font-size: 0.85rem;
color: var(--text-muted);
display: inline-flex;
align-items: center;
}
.status-indicator-pill::before {
content: '';
display: inline-block;
width: 8px;
height: 8px;
background-color: #0ca678;
border-radius: 50%;
margin-right: 6px;
}
.action-icon-btn {
width: 42px;
height: 42px;
border-radius: 50%;
background-color: var(--primary-purple-muted);
color: var(--primary-purple);
border: 1px solid var(--primary-purple-muted);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
backdrop-filter: blur(8px);
transition: all 0.2s ease;
}
.action-icon-btn:hover {
background-color: var(--primary-purple-hover);
color: var(--white);
transform: scale(1.05);
}
.profile-bio-text {
font-size: 0.95rem;
color: var(--text-body);
line-height: 1.5;
margin-top: 15px;
padding: 0 25px;
}
.social-connect-strip {
display: flex;
gap: 12px;
padding: 15px 25px 25px;
border-bottom: 1px solid var(--border-subtle);
}
.social-circle-link {
width: 40px;
height: 40px;
border-radius: 50%;
background-color: var(--bg-body);
color: var(--text-body);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.9rem;
transition: background-color 0.2s;
}
.social-circle-link:hover {
background-color: var(--primary-purple-hover);
color: var(--white);
transform: scale(1.05);
}

/* Custom Segment Nav Tabs */
.interactive-segment-tabs {
display: flex;
border-bottom: 2px solid var(--border-subtle);
background-color: var(--bg-card);
}
.interactive-segment-tabs i { position: relative; top: 1px; }
.segment-tab-item {
flex: 1;
text-align: center;
padding: 15px;
font-weight: 600;
font-size: 0.95rem;
color: var(--text-muted);
position: relative;
background: none;
border: none;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
transition: color 0.2s;
}
.segment-tab-item:hover {
color: #f9197f;
}
.segment-tab-item.active {
color: #f9197f;
}
.segment-tab-item.active::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 3px;
background-color: #f9197f;
}

/*------------------------------------------------------------------
* Messages
*-------------------------------------------------------------------*/
.app-wrapper-messages {
display: grid;
grid-template-columns: 260px 1fr;
height: 100vh;
}
.main-body-messages { 
display: grid; 
grid-template-columns: 350px 1fr; 
height: 100vh; 
overflow: hidden;
position: relative;
}
/* Chat List Sidebar Configuration (Desktop Mode Setup) */
.chat-list-pane {
border-right: 1px solid var(--border-subtle);
display: flex;
flex-direction: column;
height: 100vh;
background-color: var(--bg-body);
}

.pane-header { background: var(--bg-card); padding: 20px; 
   }
.search-wrapper { position: relative; }
.search-wrapper .bi-search { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--text-muted); }
.search-input { background: var(--form-control) !important; border: none; border-radius: 12px; padding: 10px 15px 10px 40px; width: 100%; color: var(--text-body); font-size: 0.9rem; }
.search-input:focus { outline: none; box-shadow: 0 0 0 2px var(--primary-purple); }

.chat-list-scroll { flex-grow: 1; min-height: 0; }
.chat-item { 
  background: var(--bg-card); 
  margin: 10px; 
  padding: 15px 20px; 
  display: flex; 
  align-items: center; 
  gap: 15px; 
  cursor: pointer; 
  transition: 0.2s ease-in; 
  border-radius: 13px; 
  border-left: 2px solid var(--bg-card);
}
.chat-item:hover, .chat-item.active { 
  background: var(--bg-card); 
  border-color: var(--primary-purple); 
}
.chat-item:hover .chat-name, .chat-item.active .chat-name { 
  color: var(--primary-purple) !important; 
}

.avatar-wrapper { position: relative; flex-shrink: 0; }
.chat-avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.online-indicator { position: absolute; bottom: 1px; right: 1px; width: 12px; height: 12px; background: #52c48a; border: 2px solid var(--bg-body); border-radius: 50%; }

.chat-info { flex-grow: 1; min-width: 0; }
.chat-name { font-weight: 700; font-size: 0.95rem; line-height: 0.9; margin-top: 5px; display: flex; justify-content: space-between; align-items: center; color: var(--text-body); }
.chat-time { font-weight: 400; font-size: 0.75rem; color: var(--text-muted); }
.chat-preview { font-weight: 400; font-size: 0.85rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.unread-badge { background: var(--primary-purple); color: white; font-size: 0.7rem; line-height: 1.2; padding: 2px 6px; border-radius: 10px; font-weight: 700; }

/* Core Messaging Panel Workspace */
.chat-window-pane { display: flex; flex-direction: column; height: 100vh; background: var(--bg-card); min-width: 0; border-right: 1px solid var(--border-subtle);}
.chat-window-header { padding: 18px 25px; border-bottom: 1px solid var(--border-subtle); display: flex; align-items: center; justify-content: space-between; background: var(--bg-card); }
.chat-window-header .menu-toggle-btn i{ position: relative; top: 2px; }
.chat-window-header .icon-md{ color: var(--text-body); }
.chat-window-header .icon-md:hover{ color: var(--primary-purple-hover); }

.messages-scroll { flex-grow: 1; padding: 15px 20px 0px; min-height: 0; overflow-x: hidden !important; scroll-behavior: smooth; }
.message-group { margin-bottom: 24px; display: flex; align-items: flex-end; gap: 12px; width: 100%;}
.message-bubble { max-width: 70%; padding: 12px 18px; border-radius: 18px; font-size: 0.9rem; line-height: 1.5; word-break: break-word; overflow-wrap: break-word;}

.message-me { flex-direction: row-reverse; }
.message-me .message-bubble { background: var(--primary-purple); color: var(--white); border-bottom-right-radius: 4px; }

.message-them { flex-direction: row; }
.message-them .message-bubble { background: var(--bg-body); color: var(--text-body); border-bottom-left-radius: 4px; }

.message-content-wrapper { display: flex; flex-direction: column; max-width: 75%; min-width: 0;}
.message-me .message-content-wrapper { align-items: flex-end; }

/* --- Responsive Adjustments --- */
.message-time { font-size: 0.7rem; color: var(--text-muted); margin-top: 4px; }
.msg-avatar-sm { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }

.chat-input-area { padding: 20px 25px; border-top: 1px solid var(--border-subtle); background: var(--bg-card); }
.input-box-wrapper { background: var(--bg-body); border-radius: 15px; padding: 10px 15px; display: flex; align-items: center; gap: 15px; }
.input-box-wrapper input { background-color: var(--search) !important; border: none; flex-grow: 1; color: var(--text-body); font-size: 0.9rem; }
.input-box-wrapper input:focus { outline: none; }
.input-actions { display: flex; gap: 12px; color: var(--text-muted); font-size: 1.2rem; }
.input-actions i { cursor: pointer; transition: color 0.2s; }
.input-actions i:hover { color: var(--primary-purple); }
.btn-send { background: var(--primary-purple); color: white; border: none; width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }
.btn-send:hover { background: var(--primary-purple-hover); transform: scale(1.05); }

/* Offcanvas activation layout icon toggle */
.menu-toggle-btn { display: none; }

@media (min-width: 768px) and (max-width: 1199px) {
  .app-wrapper-messages { grid-template-columns: 90px 1fr; }
}
@media (max-width: 767px) {
  .app-wrapper-messages {
  grid-template-columns: 1fr;
  }
  .main-body-messages { 
  grid-template-columns: 1fr; 
  }
  .chat-window-pane {
  min-width: 100% !important;
  border-left: 1px solid var(--border-subtle);
  }
  .messages-scroll {
  max-width: 100% !important;
  padding: 15px 12px;
  }
  .message-content-wrapper {
  max-width: 100% !important; /* Allows a slightly wider bubble on tight mobile displays */
  }
  .message-bubble {
  padding: 10px 14px;
  font-size: 0.88rem;
  }
  .menu-toggle-btn { display: block; }
  .pane-header{ margin-top: 50px;}
  .chat-window-header { padding: 12px 15px; }
  .chat-input-area { padding: 12px 15px; }
} 


/*------------------------------------------------------------------
* Notifications
*-------------------------------------------------------------------*/
.filter-pill { padding: 4px 14px; border-radius: 50px; font-size: 0.85rem; font-weight: 600; border: 1px solid var(--bg-card); background: var(--bg-card); color: var(--text-muted); transition: 0.2s; }
.filter-pill:hover, .filter-pill.active { background: var(--primary-purple); color: white; border-color: var(--primary-purple); }
.notif-card { background: var(--bg-card);  border-radius: 13px; padding: 10px 20px; margin-bottom: 26px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap-reverse; transition: 0.2s; cursor: pointer; position: relative; overflow: hidden; }
.notif-card:hover { transform: translateX(5px); }
.notif-card.unread::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--primary-purple); }

.notif-icon { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; }
.notif-content { flex-grow: 1; }
.notif-title { font-weight: 700; font-size: 0.94rem; margin-bottom: 2px;}
.notif-text { color: var(--text-muted); font-size: 0.85rem; margin-bottom: 0; }
.notif-meta { font-size: 0.75rem; color: var(--text-muted); margin-top: 0px; display: flex; align-items: center; gap: 10px; }

.avatar-stack { display: flex; align-items: center; }
.avatar-stack img { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--bg-card); margin-left: -8px; }
.avatar-stack .avatar-img-small { width: 25px; height: 25px; border-radius: 50%; border: 2px solid var(--bg-card); margin-left: -8px; }
.avatar-stack img:first-child { margin-left: 0; }

@media (max-width: 996px) {
  .notif-icon{
    display: none;
  }
}  

/*------------------------------------------------------------------
* Leaderboard
*-------------------------------------------------------------------*/
.filter-tabs-wrapper {
background-color: var(--bg-card);
padding: 6px;
border-radius: 40px;
display: inline-flex;
}
.filter-btn {
background: transparent;
border: none;
color: var(--text-muted);
padding: 8px 24px;
border-radius: 30px;
font-size: 0.875rem;
font-weight: 600;
transition: all 0.25s ease;
}
.filter-btn.active {
background-color: var(--primary-purple);
color: #ffffff !important;
}


.podium-master-container {
display: flex;
align-items: flex-end;
justify-content: center;
margin-top: 4rem;
margin-bottom: 3rem;
}
.podium-master-container i{ position: relative; top: 1px; }
.podium-column {
flex: 1;
max-width: 210px;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
border-radius: 24px 24px 16px 16px;
padding: 24px 16px;
text-align: center;
background-color: var(--bg-card);
}
.podium-rank-1 {
z-index: 3;
transform: translateY(-15px);
box-shadow: var(--shadow-lg);
border-color: rgba(250, 204, 21, 0.25);
}
.podium-rank-2 {
z-index: 2;
border-right: none;
}
.podium-rank-3 {
z-index: 1;
border-left: none;
}
.podium-avatar-frame {
position: relative;
margin-bottom: 16px;
}
.podium-img {
width: 84px;
height: 84px;
border-radius: 50%;
object-fit: cover;
border: 4px solid #00bcd4;
}
.podium-rank-1 .podium-img { width: 100px; height: 100px;  }
.rank-badge-numeric {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
width: 24px;
height: 24px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
font-weight: 800;
background: #94a3b8;
color: #ffffff;
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.podium-handle {
font-size: 0.8rem;
color: var(--text-muted);
margin-bottom: 12px;
}
.podium-value-tag {
background-color: var(--hover-bg);
color: var(--text-body);
padding: 6px 16px;
border-radius: 30px;
font-size: 0.85rem;
font-weight: 700;
display: inline-block;
}

/* Ranking List */
.ranking-list { background: var(--bg-card); border-radius: 13px; overflow: hidden; margin-bottom: 30px; }
.ranking-row { display: grid; grid-template-columns: 80px 1fr 150px 150px 150px; align-items: center; padding: 10px 20px; border-bottom: 1px solid var(--border-subtle); transition: 0.2s; }
.ranking-row:hover { background: var(--hover-bg); }
.ranking-row:last-child { border-bottom: none; }
.ranking-header { background: var(--bg-card); padding: 15px 20px; font-weight: 700; color: var(--text-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }

.rank-number { font-weight: 700; font-size: 1.1rem; color: var(--text-muted); }
.rank-user { display: flex; align-items: center; gap: 15px; }
.rank-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.rank-name { font-weight: 700; font-size: 0.95rem; }
.rank-stats { font-weight: 600; font-size: 0.9rem; }
.rank-username { font-size: 0.85rem; color: var(--text-muted); line-height: 1.3; }

@media (max-width: 992px) { 
  .ranking-row { grid-template-columns: 60px 1fr 100px; }
  .hide-mobile { display: none; }
  .podium-master-container { flex-direction: column; align-items: center; gap: 10px; }
  .podium-column { order: 2; width: 350px !important;}
  .podium-column.podium-rank-1 { order: 1; transform: none; }
}


/* ================================================================================================================================================================== 
  Explore
===================================================================================================================================================================== */

.header-container { position: sticky; top: 0; background: var(--bg-body); z-index: 900; border-bottom: 1px solid var(--border-subtle); padding: 0 30px; }
.explore-nav { display: flex; gap: 30px; }
.explore-link { padding: 20px 0; color: var(--text-muted); font-weight: 600; text-decoration: none; position: relative; font-size: 0.95rem; }
.explore-link:hover { color: var(--primary-purple); }
.explore-link.active { color: var(--primary-purple); }
.explore-link:hover::after, .explore-link.active::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: var(--primary-purple); border-radius: 3px 3px 0 0; }

.explore-link i{
  position: relative;
  top: 2px;
}
@media (max-width: 992px) { 
  .explore-nav { gap: 15px; overflow-x: auto; white-space: nowrap; } 
}
@media (max-width: 776px) { 
  .explore-link i{ display:none;}
}
/*------------------------------------------------------------------
* Explore Users
*-------------------------------------------------------------------*/
.user-directory-card {
background-color: var(--bg-card);
border-radius: 16px;
padding: 1rem 1.25rem;
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s;
display: flex;
align-items: center;
justify-content: space-between;
height: 100%;
}
.user-directory-card:hover {
transform: translateY(-2px);
border-color: #3b82f640;
}
.avatar-status-wrapper {
position: relative;
width: 48px;
height: 48px;
flex-shrink: 0;
}
.user-avatar-img {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
background-color: #e2e8f0;
}
.status-dot {
position: absolute;
bottom: 1px;
right: 1px;
width: 12px;
height: 12px;
border-radius: 50%;
border: 1px solid var(--bg-body);
display: none; /* Controlled contextually below via helper classes */
}
.status-dot.online {
display: block;
background-color: #52c48a; /* Vibrant Green */
box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}
.user-info-meta {
overflow: hidden;
}
.user-info-meta h6 a{
  color: var(--text-body);
}
.user-info-meta h6 a:hover{
  color: var(--primary-purple-hover);
}
.card-action-controls {
display: flex;
gap: 8px;
flex-shrink: 0;
}
.action-icon-pill {
background-color: var(--primary-purple-muted);
color: var(--primary-purple);
border: 1px solid var(--primary-purple-muted);
width: 38px;
height: 38px;
border-radius: 12px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1rem;
cursor: pointer;
transition: all 0.2s ease;
text-decoration: none;
}
.action-icon-pill:hover {
background-color: var(--primary-purple-hover);
border-color: var(--primary-purple);
color: var(--white);
transform: scale(1.03);
}


/*------------------------------------------------------------------
* Explore Filter
*-------------------------------------------------------------------*/
.dropdown-trigger-btn {
background: transparent;
border: none;
color: var(--text-body);
font-size: 0.95rem;
font-weight: 500;
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
border-radius: 10px;
transition: background-color 0.2s;
}
.dropdown-trigger-btn:hover, .dropdown-trigger-btn:focus {
background-color: var(--hover-bg);
color: var(--text-body);
}
.divider-vertical-line {
width: 1px;
height: 20px;
background-color: var(--border-subtle);
display: inline-block;
margin: 0 4px;
}
.premium-dropdown-menu {
background-color: var(--bg-card) !important;
border-radius: 16px !important;
box-shadow: var(--shadow-premium) !important;
padding: 8px !important;
min-width: 210px !important;
margin-top: 8px !important;
}
.dropdown-item-custom {
color: var(--text-body) !important;
font-size: 0.9rem !important;
font-weight: 500 !important;
padding: 10px 14px !important;
border-radius: 10px !important;
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
transition: all 0.15s ease !important;
cursor: pointer;
}
.dropdown-item-custom:hover, .dropdown-item-custom.active-selected {
background-color: var(--primary-purple-muted) !important;
color: var(--primary-purple) !important;
}
.active-check-icon {
font-size: 1rem;
color: var(--primary-purple);
display: none;
}
.dropdown-item-custom.active-selected .active-check-icon {
display: inline-block;
}


/*------------------------------------------------------------------
* Explore Photos
*-------------------------------------------------------------------*/
.photo-card-wrapper {
margin-bottom: 1.5rem;
}
.photo-card {
position: relative;
border-radius: 20px;
overflow: hidden;
width: 100%;
/* Forces a strict 9:16 aspect ratio box constraint */
aspect-ratio: 8 / 10; 
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
cursor: pointer;
}
.photo-media {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
.photo-card:hover .photo-media {
transform: scale(1.04);
}
.photo-stats {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
padding: 1.25rem 0.85rem 0.65rem;
color: var(--white);
display: flex;
align-items: center;
gap: 10px;
font-size: 0.8rem;
font-weight: 500;
}
.photo-stats span {
display: inline-flex;
align-items: center;
gap: 4px;
}
.photo-stats i{
position: relative;
top: 1px;
}
.video-card .play-button {
width: 40px;
height: 40px;
backdrop-filter: blur(2px);
font-size: 1.1rem;
}


/*------------------------------------------------------------------
* Explore Stories
*-------------------------------------------------------------------*/
.story-frame-card {
cursor: pointer;
position: relative;
border-radius: 16px;
overflow: hidden;
aspect-ratio: 4 / 5;
background-color: var(--bg-card);
box-shadow: var(--shadow-card);
transition: transform 0.4s ease;
}
.story-frame-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}
.story-frame-card .canvas-asset {
width: 100%;
height: 100%;
object-fit: cover;
}
.story-frame-card .gradient-shroud {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0) 100%);
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
padding: 20px 12px;
z-index: 2;
}
.story-frame-card .identity-badge {
position: relative;
width: 44px;
height: 44px;
border-radius: 50%;
padding: 2px;
background: var(--story-standard-gradient);
margin-bottom: 2px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.story-frame-card .identity-badge img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 50%;
border: 2px solid #FFFFFF;
}
.story-frame-card .identity-label {
color: #FFFFFF;
font-size: 0.85rem;
font-weight: 600;
text-align: center;
margin: 0;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}

.story-modal .modal-dialog {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
max-width: 100%;
padding: 0 15px;
}
.story-modal .modal-content {
background: #000;
border: none;
border-radius: 16px;
overflow: hidden;
width: 100%;
max-width: 420px;
height: calc(100vh - 40px);
max-height: 820px;
position: relative;
}
.story-modal.modal .modal-backdrop {
background-color: #0a0a0af5 !important;
backdrop-filter: blur(15px);
opacity: 1 !important;
}    
.story-display-wrapper {
position: relative;
width: 100%;
height: 100%;
background: #000;
}
.story-display-img {
width: 100%;
height: 100%;
object-fit: cover;
}
.story-progress-container {
position: absolute;
top: 15px;
left: 12px;
right: 12px;
display: flex;
gap: 6px;
z-index: 1060;
}
.story-progress-bar {
height: 3px;
flex: 1;
background: rgba(255, 255, 255, 0.35);
border-radius: 2px;
overflow: hidden;
position: relative;
}
.story-progress-fill {
height: 100%;
width: 0%;
background: #ffffff;
transition: width 0.1s linear; /* Handles smooth visual steps between animation frames */
}
.story-footer-overlay {
position: absolute;
bottom: 20px;
left: 15px;
right: 15px;
z-index: 1060;
}
.story-input-wrapper {
position: relative;
background: rgba(0, 0, 0, 0.4);
border: 1.5px solid rgba(255, 255, 255, 0.8);
border-radius: 30px;
padding: 2px 45px 2px 20px;
backdrop-filter: blur(10px);
}
.story-input-wrapper input {
background: transparent !important;
color: var(--white) !important;
}
.story-input-wrapper input::placeholder {
color: rgba(255, 255, 255, 0.8);
}
.story-input-wrapper input:focus {
color: var(--white) !important;
}
.comment-submit-btn {
position: absolute;
right: 18px;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
color: #fff;
cursor: pointer;
font-size: 1.1rem;
padding: 0;
transition: color 0.2s;
}
.story-close-btn {
position: absolute;
top: 30px;
right: 15px;
background: none;
border: none;
color: #fff;
font-size: 1.5rem;
opacity: 0.7;
z-index: 1070;
cursor: pointer;
text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.story-close-btn:hover {
opacity: 1;
}
.story-tap-zone {
position: absolute;
top: 50px;
bottom: 100px;
width: 25%;
z-index: 1055;
}
.story-tap-zone.zone-left { left: 0; }
.story-tap-zone.zone-right { right: 0; width: 75%; }

/*------------------------------------------------------------------
* Explore Reels
*-------------------------------------------------------------------*/
.reel-card-wrapper {
margin-bottom: 1.5rem;
}
.reel-card {
position: relative;
border-radius: 15px;
overflow: hidden;
width: 100%;
aspect-ratio: 8 / 10; 
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
cursor: pointer;
}
.reel-media {
width: 100%;
height: 100%;
object-fit: cover;
transition: opacity 0.4s ease, transform 0.4s ease;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
.reel-video {
width: 100%;
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 0.4s ease;
z-index: 1;
}
.reel-card:hover .reel-media {
opacity: 0;
transform: scale(1.04);
}
.reel-card:hover .reel-video {
opacity: 1;
}

.reel-stats {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
padding: 1.25rem 0.85rem 0.6rem;
color: var(--white);
display: flex;
align-items: center;
gap: 10px;
font-size: 0.8rem;
font-weight: 500;
z-index: 3;
}
.reel-stats span {
display: inline-flex;
align-items: center;
gap: 4px;
}
.reel-stats i{
position: relative;
top: 1px;
}
.reel-profile-row {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 0.6rem;
padding: 0 0.25rem;
}
.reel-profile-info {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: var(--text-body);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.reel-profile-img {
width: 28px;
height: 28px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
}
.reel-username {
font-size: 0.825rem;
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
}


/*------------------------------------------------------------------
* Reels Slider
*-------------------------------------------------------------------*/
.reels-wrapper a.small { 
  text-underline-offset: 5px;
}
.slider-relative-container {
position: relative;
}
.reels-horizontal-track {
display: flex;
gap: 16px;
overflow-x: auto;
scroll-behavior: smooth;
scrollbar-width: none;
padding-bottom: 0.5rem;
}
.reels-horizontal-track::-webkit-scrollbar {
display: none;
}
.slider-reel-item {
flex: 0 0 calc(25% - 12px);
min-width: 160px;
}
@media (max-width: 992px) {
  .slider-reel-item {
    flex: 0 0 calc(33.333% - 11px);
  }
}
@media (max-width: 576px) {
  .slider-reel-item {
    flex: 0 0 calc(50% - 8px);
  }
}
.nav-slider-btn {
position: absolute;
top: 40%;
transform: translateY(-50%);
width: 30px;
height: 30px;
border-radius: 50%;
background-color: var(--bg-card);
border: 1px solid var(--border-subtle);
color: var(--text-color);
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
z-index: 10;
cursor: pointer;
transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.2s;
opacity: 0;
visibility: hidden;
}
.nav-slider-btn.is-visible {
opacity: 1;
visibility: visible;
}
.nav-slider-btn:hover {
background-color: var(--bg-card);
transform: translateY(-50%) scale(1.05);
}
.nav-slider-prev { left: -18px; }
.nav-slider-next { right: -18px; }

/*------------------------------------------------------------------
* Reel Page
*-------------------------------------------------------------------*/
.reel-stream { padding: 25px; display: flex; flex-direction: column; align-items: center; gap: 30px; }
.reel-container {
display: flex;
gap: 16px;
align-items: flex-end;
width: 100%;
max-width: 440px;
}
.reel-card-canvas {
flex-grow: 1;
position: relative;
aspect-ratio: 9 / 16;
border-radius: 20px;
overflow: hidden;
}
.reel-video-element {
width: 100%;
height: 100%;
object-fit: cover;
}
.reel-play-overlay-trigger {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.1);
cursor: pointer;
z-index: 2;
}
.reel-center-icon {
font-size: 3.5rem;
color: rgba(255, 255, 255, 0.8);
opacity: 0;
transition: transform 0.2s ease, opacity 0.2s ease;
pointer-events: none;
}
.reel-play-overlay-trigger:hover .reel-center-icon {
opacity: 1;
transform: scale(1.08);
}
.reel-context-scaffolding {
position: absolute;
bottom: 0; left: 0; right: 0;
padding: 40px 20px 20px 20px;
background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0) 100%);
color: #FFFFFF;
z-index: 3;
pointer-events: none;
}
.reel-context-scaffolding * { pointer-events: auto; }
.reel-user-row img {
width: 36px; height: 36px; border-radius: 50%; object-fit: cover;
border: 2px solid #FFFFFF;
}
.reel-user-row .reel-username { font-weight: 600; font-size: 0.92rem; color: #FFFFFF; }
.reel-description { font-size: 0.86rem; line-height: 1.4; margin-top: 10px; color: rgba(255, 255, 255, 0.95); text-shadow: 0 1px 2px rgba(0,0,0,0.5); }
.reel-action-column {
display: flex;
flex-direction: column;
gap: 18px;
align-items: center;
margin-bottom: 10px;
}
.action-pill-button {
width: 45px; height: 45px; border-radius: 50%;
background-color: var(--hover-bg); border: 1px solid var(--border-subtle);
color: var(--text-body); display: flex; align-items: center; justify-content: center;
font-size: 1.25rem; cursor: pointer; transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: 0 2px 6px rgba(0,0,0,0.02);
}
.action-pill-button:hover {
transform: translateY(-2px); background-color: var(--primary-purple); color: #FFFFFF; border-color: var(--primary-purple);
box-shadow: 0 4px 10px rgba(162, 121, 237, 0.25);
}
.action-pill-button.active-liked {
background-color: #E24C4C !important; color: #FFFFFF !important; border-color: #E24C4C !important;
}
.action-count-label { font-size: 0.78rem; font-weight: 600; color: var(--text-muted); margin-top: 4px; text-align: center; }
.action-pill-button i{
  position: relative;
  top: 1px;
}


/*------------------------------------------------------------------
* Explore Streams
*-------------------------------------------------------------------*/
.stream-card {
background-color: var(--bg-card);
border-radius: 20px;
overflow: hidden;
transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.3s, box-shadow 0.3s;
}
.stream-card:hover {
transform: translateY(-6px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.thumbnail-container {
position: relative;
width: 100%;
aspect-ratio: 16 / 12;
overflow: hidden;
}
.stream-thumb {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.badge-floating-group {
display: flex;
flex-direction: column;
gap: 6px;
z-index: 3;
}
.live-pill {
position: absolute;
top: 12px;
left: 12px;
background-color: #ef4444;
color: #ffffff;
font-size: 0.725rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.5px;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 6px;
display: inline-flex;
align-items: center;
gap: 5px;
}
.live-pill .pulse-dot {
position: relative;
top: -1px;
width: 6px;
height: 6px;
background-color: #fff;
border-radius: 50%;
animation: pulse-glow 1.5s infinite;
}
.viewer-pill {
position: absolute;
bottom: 12px;
left: 14px;
background: rgba(15, 23, 42, 0.65);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
color: #ffffff;
padding: 3px 8px;
font-size: 0.725rem;
font-weight: 600;
line-height: 1;
border-radius: 6px;
display: inline-flex;
align-items: center;
gap: 5px;
width: fit-content;
}
.viewer-pill i{
position: relative;
top: 1px;
}
.play-hover-overlay {
position: absolute;
inset: 0;
background: rgba(15, 23, 42, 0.4);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
z-index: 2;
transition: opacity 0.3s ease;
}
.play-btn-circle {
width: 52px;
height: 52px;
background-color: #ffffff;
color: #0f172a;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
transform: scale(0.8);
transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.stream-card:hover .play-hover-overlay {
opacity: 1;
}
.stream-card:hover .play-btn-circle {
transform: scale(1);
}
.stream-card:hover .stream-thumb {
transform: scale(1.05);
}
.stream-details {
padding: 8px 12px;
}
.user-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
object-fit: cover;
border: 2px solid var(--border-ui);
}
@keyframes pulse-glow {
0% { transform: scale(0.9); opacity: 0.6; }
50% { transform: scale(1.2); opacity: 1; }
100% { transform: scale(0.9); opacity: 0.6; }
}



/*------------------------------------------------------------------
* Live Stream
*-------------------------------------------------------------------*/
.video-stream-container {
position: relative;
width: 100%;
aspect-ratio: 16 / 11; /* Custom matching image dimension */
border-radius: 24px;
overflow: hidden;
}
.stream-video-placeholder {
width: 100%;
height: 100%;
object-fit: cover;
}
.stream-top-meta {
position: absolute;
top: 20px;
left: 20px;
z-index: 10;
}
.host-badge {
background: rgba(15, 23, 42, 0.6);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
color: #ffffff;
padding: 4px 14px;
border-radius: 30px;
font-size: 0.8rem;
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 6px;
}
.pulse-dot-live {
position: relative;
top: 1px;
width: 6px;
height: 6px;
background-color: var(--white);
border-radius: 50%;
animation: pulse-glow 1.5s infinite;
}
.floating-chat-overlay {
position: absolute;
bottom: 20px;
left: 20px;
width: 280px;
display: flex;
flex-direction: column;
gap: 10px;
z-index: 10;
}
.chat-bubble {
background: rgba(15, 23, 42, 0.6);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
padding: 6px 14px;
border-radius: 16px;
color: var(--white);
font-size: 0.825rem;
animation: slideUpIn 0.3s ease forwards;
}
.chat-bubble .chat-user {
font-weight: 700;
margin-bottom: 2px;
display: flex;
align-items: center;
gap: 6px;
}
.chat-bubble .chat-user-avatar {
width: 18px;
height: 18px;
border-radius: 50%;
object-fit: cover;
}
.chat-bubble .chat-text {
font-size: 0.85rem;
line-height: 1;
font-weight: 400;
}
.floating-reactions-panel {
position: absolute;
bottom: 20px;
right: 20px;
display: flex;
flex-direction: column;
gap: 8px;
z-index: 10;
}
.reaction-bubble {
font-size: 1.35rem;
filter: drop-shadow(0 4px 6px rgba(0,0,0,0.15));
animation: floatUpAnimation 2.5s ease-in-out infinite;
}
.reaction-bubble:nth-child(2) { animation-delay: 0.4s; }
.reaction-bubble:nth-child(3) { animation-delay: 0.8s; }
.reaction-bubble:nth-child(4) { animation-delay: 1.2s; }
.comment-box-card {
background-color: var(--bg-card);
border-radius: 20px;
padding: 1rem;
margin: 1.5rem 0px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}
.custom-input-group {
background-color: var(--input-bg);
border: 1px solid var(--border-ui);
border-radius: 14px;
display: flex;
align-items: center;
gap: 10px;
padding: 4px 8px 4px 16px;
transition: border-color 0.2s;
}
/* Animations */
@keyframes slideUpIn {
from { transform: translateY(12px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
@keyframes floatUpAnimation {
0% { transform: translateY(0) scale(0.9); opacity: 0; }
15% { opacity: 0.9; }
85% { opacity: 0.4; }
100% { transform: translateY(-80px) scale(1.1); opacity: 0; }
}
@media (max-width: 776px) { 
  .floating-chat-overlay { display:none;}
}

/* ================================================================================================================================================================== 
  Settings
===================================================================================================================================================================== */
.settings-wrapper {
display: grid;
grid-template-columns: 260px 1fr;
min-height: 100vh;
}
.settings-wrapper .main-body { 
min-width: 0; 
border-right: 1px solid var(--border-subtle);
}
.settings-wrapper .main-tabs-container {
position: sticky; 
top: 0; 
background-color: var(--bg-body); 
z-index: 900; 
border-bottom: 1px solid var(--border-subtle);
padding: 20px 25px;
}
.settings-wrapper .page-main-title {
font-size: 1.5rem;
font-weight: 700;
color: var(--text-body);
margin: 0;
}
.settings-layout-engine {
display: grid;
grid-template-columns: 280px 1fr;
min-height: calc(100vh - 73px);
}
.settings-preferences-nav {
border-right: 1px solid var(--border-subtle);
padding: 20px 15px;
display: flex;
flex-direction: column;
gap: 24px;
}
.settings-section-group-title {
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-muted);
padding-left: 12px;
margin-bottom: 10px;
}
.settings-link-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 14px;
border-radius: 10px;
font-size: 0.95rem;
font-weight: 500;
color: var(--text-body);
transition: background-color 0.15s ease, color 0.15s ease;
}
.settings-link-item:hover {
background-color: var(--hover-sidebar);
color: var(--primary-purple-hover);
}
.settings-link-item.active {
font-weight: 600;
background-color: var(--hover-sidebar);
color: var(--primary-purple-hover);
}
.settings-link-item .link-label-group {
display: flex;
align-items: center;
gap: 14px;
}
.settings-link-item .bi-icon-prefix {
font-size: 1.2rem;
color: var(--text-body);
opacity: 0.85;
}
.settings-link-item .bi-chevron-suffix {
font-size: 0.8rem;
color: var(--text-muted);
position: relative;
top: 1.5px;
}
.settings-link-item:hover .bi-icon-prefix,
.settings-link-item:hover .bi-chevron-suffix {
color: var(--primary-purple-hover) !important;
}
.settings-link-item.active .bi-icon-prefix,
.settings-link-item.active .bi-chevron-suffix {
color: var(--primary-purple-hover) !important;
}
.settings-content-pane {
padding: 40px 50px;
overflow-x: hidden;
}
.offcanvas-settings-nav {
width: 290px !important;
background-color: var(--bg-body);
border-right: 1px solid var(--border-subtle);
}

@media (min-width: 768px) and (max-width: 1199px) {
.settings-wrapper { grid-template-columns: 78px 1fr; }
.settings-wrapper .page-main-title{ display: block !important; }
.settings-layout-engine { grid-template-columns: 240px 1fr; }
.settings-content-pane { padding: 30px; }
}

@media (max-width: 767px) {
.mobile-settings-nav-trigger { background: transparent; border: none; color: var(--text-body); font-size: 1.4rem; padding: 0; display: flex; align-items: center; position: relative; top: 1.5px; }
.settings-wrapper { grid-template-columns: 1fr; }
.settings-wrapper .main-body { border-right: none; }
.settings-layout-engine { grid-template-columns: 1fr; }
.settings-layout-engine .settings-preferences-nav { display: none; }
.settings-content-pane { padding: 25px 16px; }
}


/*------------------------------------------------------------------
* Creator Dashboard
*-------------------------------------------------------------------*/
.stat-card { 
  background: var(--bg-card); 
  border-radius: 13px; 
  padding: 15px 25px; 
  height: 100%; 
  transition: transform 0.2s; 
}
.stat-card:hover { 
  transform: translateY(-5px); 
}
.stat-icon { 
  width: 68px; 
  height: 68px; 
  border-radius: 12px; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  font-size: 1.5rem; 
}

.stat-value { font-size: 1.5rem; font-weight: 700; margin-top: -5px; line-height: 1.2; }
.stat-label { color: var(--text-muted); font-size: 0.9rem; line-height: 0.9; font-weight: 500; margin-top: 2px; }
.stat-trend { font-size: 0.8rem; font-weight: 600; display: inline-flex; align-items: center; gap: 2px; }
.trend-up { color: #52c48a; }
.trend-down { color: #ff6b6b; }

.creator-card { 
  background: var(--bg-card); 
  border-radius: 13px; 
  padding: 25px; 
}
.creator-card a.small {
    text-underline-offset: 5px;
}
.chart-container { 
  background: var(--bg-card); 
  border-radius: 20px; 
  padding: 30px;  
  position: relative; 
  height: 400px; 
  width: 100%; 
}
.chart-content{
  position: relative; 
  height: 320px; 
  width: 100%;
}      
#revenueChart{
  margin-top: 10px !important;
  margin-bottom: 30px !important;
}
.user-list-item { 
  display: flex; 
  align-items: center; 
  gap: 15px; 
  padding: 12px 0; 
  border-bottom: 1px solid var(--border-subtle); 
}
.user-list-item:last-child { 
  border-bottom: none !important; 
}
.user-avatar { 
  width: 40px; 
  height: 40px; 
  border-radius: 50%; 
  object-fit: cover; 
}
.user-list-item h6 a{
color: var(--text-body) !important;
}
.user-list-item h6 a:hover{
color: var(--primary-purple-hover) !important;
}
.btn-msg { 
  background: var(--primary-purple-muted); 
  color: var(--primary-purple);  
  border: none; 
  transition: 0.2s;   
  text-align: center;
}
.btn-msg:hover { 
  background: var(--primary-purple-hover); 
  color: var(--white); 
  transform: translateY(-1px); 
}
.btn-msg i{
  font-size: 16px;
  line-height: 1.5;
}
.milestone-bar { 
  height: 10px; 
  border-radius: 5px; 
  background: var(--border-strong); 
  overflow: hidden; 
  margin: 15px 0; 
}
.milestone-progress { 
  height: 100%; 
  background: var(--primary-purple); 
  border-radius: 5px; 
}
.table-img{
  width: 60px;
  height: 60px;
  max-width: 60px !important;
  border-radius: 6px;
}
.right-card tbody td{
  font-size: 16px !important;
}


/*------------------------------------------------------------------
* Creator Account
*-------------------------------------------------------------------*/
.settings-card {
background: var(--bg-card);  
border-radius: 12px;
overflow: hidden;
}
.banner-engine-wrapper {
position: relative;
height: 200px;
background: linear-gradient(135deg, #1f293d 0%, #0d1117 100%);
overflow: hidden;
cursor: pointer;
}
.banner-engine-img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.8;
transition: opacity 0.25s ease;
}
.banner-engine-wrapper:hover .banner-engine-img {
opacity: 0.45;
}
.avatar-engine-position {
position: absolute;
bottom: -45px; 
left: 24px;
z-index: 10;
}
.avatar-details {
padding: 60px 24px 24px 24px;
} 
.is-verify{
  color: var(--primary-purple-hover);
} 
.avatar-engine-wrapper {
position: relative;
width: 110px;
height: 110px;
border-radius: 50%;
background-color: #161b22;
border: 4px solid #111418;
overflow: hidden;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.avatar-engine-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: opacity 0.25s ease;
}
.avatar-engine-wrapper:hover .avatar-engine-img {
opacity: 0.4;
}
.hover-overlay-center {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
background-color: rgba(0, 0, 0, 0.15);
transition: opacity 0.25s ease;
}
.banner-engine-wrapper:hover .hover-overlay-center,
.avatar-engine-wrapper:hover .hover-overlay-center {
opacity: 1;
}
.edit-icon-circle {
background-color: rgba(15, 18, 23, 0.85);
border: 1px solid rgba(255, 255, 255, 0.1);
color: #ffffff;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(4px);
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
font-size: 1rem;
}

/*------------------------------------------------------------------
* Creator Pricing Rates
*-------------------------------------------------------------------*/
.rate-notification { 
  background: var(--bg-card); 
  border-radius: 16px; 
  padding: 30px; 
  margin-bottom: 30px; 
}
.rate-card {
  background: var(--bg-card);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.rate-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}
.rate-service-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.btn-icon {
  padding: 3px 15px;
  border: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.rate-input-group .input-group-text {
  border-color: var(--border-subtle);
  padding-left: 15px;
  padding-right: 5px;
}
.rate-input-group .form-control-sm {
  font-size: 1.1rem;
  height: 42px;
  padding-left: 5px;
}


/*------------------------------------------------------------------
* Creator Wallet
*-------------------------------------------------------------------*/
.funding-tier-card {
background-color: var(--bg-body);
border: 1px solid var(--bg-body);
color: var(--text-body);
border-radius: 12px;
padding: 16px;
text-align: center;
cursor: pointer;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.funding-tier-card:hover {
border-color: var(--primary-purple);
background-color: var(--primary-purple-muted);
transform: translateY(-1px);
}
.funding-tier-value {
font-size: 1.25rem;
font-weight: 700;
color: var(--text-body);
margin-bottom: 0;
}

.sub-content { margin: 0 auto; }
.sub-content .nav-tabs { border-bottom: 1px solid var(--border-subtle); gap: 20px; margin-bottom: 30px; }
.sub-content .nav-tabs .nav-link { border: none; color: var(--text-body); font-weight: 600; padding: 12px 20px; position: relative; }
.sub-content .nav-tabs .nav-link.active { background-color: var(--bg-card) !important; color: var(--primary-purple) !important; }
.sub-content .nav-tabs .nav-link.active::after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: var(--primary-purple); border-radius: 3px 3px 0 0; }
.sub-list-item { background: var(--bg-card); border-radius: 13px; padding: 20px; margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.sub-info-box { display: flex; align-items: center; gap: 15px; }
.sub-avatar { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.sub-info-box h6 a{ color: var(--text-body) !important; }
.sub-info-box h6 a:hover{ color: var(--primary-purple-hover) !important; }
.badge-status { font-size: 0.75rem; padding: 4px 10px; border-radius: 20px; font-weight: 600; }
.status-expired { background: #fff5f5; color: #fa5252; }



/*------------------------------------------------------------------
* Creator Display
*-------------------------------------------------------------------*/
.theme-selector-input {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
.theme-card-wrapper {
position: relative;
background-color: var(--bg-card);
border: 2px solid var(--bg-card);
border-radius: 16px;
padding: 24px 16px;
text-align: center;
cursor: pointer;
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
overflow: hidden;
}

.theme-card-wrapper:hover {
border-color: var(--primary-purple);
transform: translateY(-2px);
background-color: var(--primary-purple-muted);
}
.theme-selector-input:checked + .theme-card-wrapper {
border-color: var(--primary-purple);
background-color: var(--bg-card);
}
.theme-selector-input:checked + .theme-card-wrapper::before {
opacity: 1;
}
.theme-visual-container {
position: relative;
width: 56px;
height: 56px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
margin-bottom: 16px;
z-index: 2;
transition: transform 0.25s ease;
}
.theme-card-wrapper:hover .theme-visual-container {
transform: scale(1.08);
}
.visual-light {
background: linear-gradient(135deg, #f0f6fc 0%, #c9d1d9 100%);
color: #0d1117;
}
.visual-dark {
background: #0f172a;
color: var(--white);
}
.visual-system {
background: #0f172a;
color: var(--white);
}
.theme-title-text {
font-size: 0.95rem;
font-weight: 700;
color: var(--text-body);
margin-bottom: 4px;
z-index: 2;
}
.theme-desc-text {
font-size: 0.75rem;
color: var(--text-muted);
margin-bottom: 0;
z-index: 2;
}
.checked-badge-node {
position: absolute;
top: 12px;
right: 12px;
color: var(--primary-purple);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
font-weight: bold;
opacity: 0;
transform: scale(0.6);
transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
z-index: 3;
}
.theme-selector-input:checked + .theme-card-wrapper .checked-badge-node {
opacity: 1;
transform: scale(1);
}


/*------------------------------------------------------------------
* Creator Language
*-------------------------------------------------------------------*/

.lang-selector-input {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
.lang-option-card {
background-color: var(--bg-card);
border: 1px solid var(--bg-card);
border-radius: 10px;
padding: 16px 20px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
transition: all 0.2s ease;
position: relative;
}
.lang-option-card:hover {
border-color: var(--primary-purple);
background-color: var(--bg-card);
}
.lang-option-card::before {
content: '';
position: absolute;
left: 0;
top: 12px;
bottom: 12px;
width: 3px;
background-color: var(--primary-purple);
border-radius: 0 4px 4px 0;
opacity: 0;
transition: opacity 0.2s ease;
}
.lang-option-card:hover::before {
opacity: 0.5;
}
.lang-selector-input:checked + .lang-option-card {
border-color: var(--primary-purple);
background-color: var(--bg-card);
}
.lang-selector-input:checked + .lang-option-card::before {
opacity: 1;
}
.custom-radio-indicator {
width: 18px;
height: 18px;
border: 2px solid #484f58;
border-radius: 50%;
display: inline-block;
position: relative;
transition: all 0.2s ease;
flex-shrink: 0;
}
.lang-option-card:hover .custom-radio-indicator {
border-color: #8b949e;
}
.lang-selector-input:checked + .lang-option-card .custom-radio-indicator {
border-color: var(--primary-purple);
}
.custom-radio-indicator::after {
content: '';
position: absolute;
width: 8px;
height: 8px;
background-color: var(--primary-purple);
border-radius: 50%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0);
transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.lang-selector-input:checked + .lang-option-card .custom-radio-indicator::after {
transform: translate(-50%, -50%) scale(1);
}
.checked-checkmark-icon {
color: var(--primary-purple);
font-size: 17px;
opacity: 0;
transform: translateX(10px);
transition: all 0.2s ease;
}
.lang-selector-input:checked + .lang-option-card .checked-checkmark-icon {
opacity: 1;
transform: translateX(0);
}

/*------------------------------------------------------------------
* Creator Notifications
*-------------------------------------------------------------------*/
.notification-item { 
  display: flex; 
  align-items: flex-start; 
  justify-content: space-between; 
  padding: 20px 0; 
  border-bottom: 1px solid var(--border-subtle); 
}
.notification-item:last-child { 
  border-bottom: none; 
}

/*------------------------------------------------------------------
* Creator Delete Account
*-------------------------------------------------------------------*/
.settings-pane-header {
margin-bottom: 25px;
}
.settings-danger-card {
background-color: var(--settings-danger-alert-bg);
border-radius: 12px;
padding: 20px;
display: flex;
gap: 16px;
margin-bottom: 30px;
}
.settings-danger-card .alert-icon-box {
width: 44px;
height: 44px;
background-color: rgba(255, 90, 95, 0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.settings-danger-card .alert-icon-box i {
color: #FF5A5F;
font-size: 1.25rem;
}
.settings-danger-card .alert-message-content {
flex-grow: 1;
}
.settings-danger-card .alert-heading {
font-size: 1rem;
font-weight: 700;
color: #FF5A5F;
margin-bottom: 6px;
}
.settings-danger-card .alert-description {
font-size: 0.88rem;
color: #A4898D;
line-height: 1.5;
margin: 0;
}











