/* === Global Root Variables (Base Layer) === */
:root {
  /* Layout & sizing */
  --owl-h: 64px;
  --owl-cover-h: 240px;      /* Cover height */
  --owl-cover-h-services-pdf: 600px;
  --owl-cover-h-services-image: 300px;
  --owl-avatar: 140px;       /* Avatar size */
  --owl-radius: 8px;
  --owl-gap: 14px;
  --owl-width-max: 95%;
  --owl-width-max-mobile: 100% --vh-stable: 1vh;
  --vw-stable: 1vw;
  --accent-gradient: linear-gradient(90deg, #1e9bde, #0b7dd3);
  --bg-glass: rgba(255, 255, 255, 0.12);
  --card-glass: rgba(255, 255, 255, 0.08);
  --blur: blur(12px);
  /* Brand & Theme Core Colors */
  --ow-main-color: #1e9bde;
  --ow-main-hover-color: #3399cc;
  --ow-main-color-rgb: 30, 155, 222;
  --ow-main-border-color: #1e9bde;
  --ow-primary-rgb: 30, 155, 222;

  --ow-accent-color: #ffd700;
  --ow-accent-hover: #e6c200;

  --ow-link-color: #1e9bde;
  --ow-link-hover-color: #012b62;
  --bs-nav-link-color: #1e9bde;

  --ow-secondary-color: #338080;
  --ow-secondary-hover: #287070;

  /* Text & surfaces (fallback - darkish neutral) */
  --text-color: #e6eef8;
  --muted: #94a3b8;
  --dark-muted: #c6c6c8;
  --bg: #f3f6f9;
  --card-bg: #ffffff;
  --radius: 10px;

  /* Shadows */
  --shadow-1: 0 6px 18px rgba(16, 24, 40, 0.08);
  --shadow-2: 0 10px 30px rgba(16, 24, 40, 0.12);

  /* Default (darkish) owl variables - overridden in themes */
  --owl-bg-base: #071427;
  --owl-surface: #071827;
  --owl-accent: var(--ow-main-color);
  --owl-accent-rgb: 30, 155, 222;
  --owl-muted: var(--muted);
  --owl-text: var(--text-color);
  --owl-glass: rgba(255, 255, 255, 0.03);
  --owl-border: rgba(30, 155, 222, 0.55);
  --owl-shadow: 0 6px 20px rgba(2, 6, 23, 0.6);
  --owl-nav-grad-start: rgba(6, 12, 25, 0.7);
  --owl-nav-grad-mid: rgba(10, 16, 35, 0.5);
  --owl-nav-grad-end: rgba(3, 6, 20, 0.3);

  /* Panels / notifications */
  --panel-bg: linear-gradient(180deg, #071122, #071827);
  --panel-bg-solid: #121212;
  --panel-text: var(--owl-muted);
  --panel-border: rgba(255, 255, 255, 0.04);
  --notif-bg: #ffffff;
  --notif-text: #000000;
  --notif-sep: #eef2f5;

  /* Mobile drawer */
  --drawer-bg: linear-gradient(180deg, #041022, #03121a);

  /* Focus ring */
  --focus-ring: rgba(30, 155, 222, 0.22);

  /* Misc */
  --badge-bg: #ef4444;
  --avatar-gradient: linear-gradient(180deg, #12232a, #0b1b24);
}

/* === Light Theme === */
.light-theme {
  --base-dark: #121212;
  --owl-bg-base: rgba(255, 255, 255, 0.55);
  --owl-surface: rgba(245, 245, 245, 0.65);
  --owl-accent: var(--ow-main-color);
  --owl-accent-rgb: 30, 155, 222;
  --owl-muted: #64748b;
  --owl-text: #071227;
  --owl-glass: rgba(0, 0, 0, 0.03);
  --owl-border: rgba(30, 155, 222, 0.25);
  --owl-shadow: 0 10px 32px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.05);

  --owl-nav-grad-start: rgba(255, 255, 255, 0.85);
  --owl-nav-grad-mid: rgba(245, 245, 245, 0.65);
  --owl-nav-grad-end: rgba(240, 240, 240, 0.45);
  --ow-link-color: #1e9bde;
  --ow-link-hover-color: #012b62;
  --panel-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 250, 0.96));
  --panel-bg-solid: #ffffff;
  --panel-text: #0b1220;
  --panel-border: rgba(0, 0, 0, 0.03);

  --notif-bg: #ffffff;
  --notif-text: #000000;
  --notif-sep: #eef2f5;

  --drawer-bg: linear-gradient(180deg, #ffffff, #f7f9fb);
  --focus-ring: rgba(30, 155, 222, 0.18);

  --badge-bg: #ef4444;
  --avatar-gradient: linear-gradient(180deg, #e6eef8, #dfe9f2);
}

/* === Dark Theme (base color #121212) === */
.dark-theme {
  --base-dark: #121212;
  --page-bg: var(--base-dark);

  --owl-bg-base: linear-gradient(180deg, rgba(7, 14, 27, 0.85), rgba(4, 18, 38, 0.68));
  --owl-surface: #071827;
  --owl-accent: var(--ow-main-color);
  --owl-accent-rgb: 30, 155, 222;
  --owl-muted: #94a3b8;
  --owl-text: #e6eef8;
  --owl-glass: rgba(255, 255, 255, 0.03);
  --owl-border: rgba(30, 155, 222, 0.35);
  --owl-shadow: 0 6px 20px rgba(2, 6, 23, 0.6);

  --owl-nav-grad-start: rgba(6, 12, 25, 0.7);
  --owl-nav-grad-mid: rgba(10, 16, 35, 0.5);
  --owl-nav-grad-end: rgba(3, 6, 20, 0.3);
  --ow-link-color: #1e9bde;         /* softer blue with glow for dark bg */
  --ow-link-hover-color: #40a4f4;    /* slightly brighter hover, keeps good contrast */
  --panel-bg: linear-gradient(180deg, #071122, #071827);
  --panel-bg-solid: #121212;
  --panel-text: var(--owl-muted);
  --panel-border: rgba(255, 255, 255, 0.04);

  --notif-bg: #111315;
  --notif-text: #e6eef8;
  --notif-sep: rgba(255, 255, 255, 0.03);

  --drawer-bg: linear-gradient(180deg, #041022, #03121a);
  --focus-ring: rgba(30, 155, 222, 0.22);

  --badge-bg: #ef4444;
  --avatar-gradient: linear-gradient(180deg, #12232a, #0b1b24);
}

.container {
  padding-bottom: 35px;
}

.owlindex-container {
  padding-bottom: 35px;
}

.owlindex-container,
.owlindex-container-fluid,
.owlindex-container-lg,
.owlindex-container-md,
.owlindex-container-sm,
.owlindex-container-xl,
.owlindex-container-xxl {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto
}

@media (min-width:576px) {

  .owlindex-container,
  .owlindex-container-sm {
    max-width: 540px
  }
}

@media (min-width:768px) {

  .owlindex-container,
  .owlindex-container-md,
  .owlindex-container-sm {
    max-width: 720px
  }
}

@media (min-width:992px) {

  .owlindex-container,
  .owlindex-container-lg,
  .owlindex-container-md,
  .owlindex-container-sm {
    max-width: 960px
  }
}

@media (min-width:1200px) {

  .owlindex-container,
  .owlindex-container-lg,
  .owlindex-container-md,
  .owlindex-container-sm,
  .owlindex-container-xl {
    max-width: 1140px
  }
}

@media (min-width:1400px) {

  .owlindex-container,
  .owlindex-container-lg,
  .owlindex-container-md,
  .owlindex-container-sm,
  .owlindex-container-xl,
  .owlindex-container-xxl {
    max-width: 1320px
  }
}

.nav-pills .nav-link-mob-profile.active,
.nav-pills .show>.nav-link-mob-profile {
  color: #000;
  background-color: #ffffff;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--ow-main-color);
}

.nav-pills .nav-link-mob-profile {
  background: 0 0;
  border: 0;
  border-radius: var(--bs-nav-pills-border-radius);
}


.nav-link-mob-profile {
  text-shadow: .09em .09em 10px black;
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: #ffffff;
  text-decoration: none;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
  font-size: larger;
}

.nav-link-profile {
  text-shadow: .09em .09em 10px black;
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: larger;
  font-weight: 500;
  font-weight: var(--bs-nav-link-font-weight);
  color: #fff;
  text-decoration: none;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
  .nav-link-profile {
    transition: none
  }
}

.nav-link-profile:focus,
.nav-link-profile:hover {
  color: #fff;
}

.nav-tabs {
  --bs-nav-tabs-border-width: 1px;
  --bs-nav-tabs-border-color: #dee2e6;
  --bs-nav-tabs-border-radius: 0.375rem;
  --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
  --bs-nav-tabs-link-active-color: #495057;
  --bs-nav-tabs-link-active-bg: #fff;
  --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)
}

.nav-tabs .nav-link-profile {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  background: 0 0;
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius)
}

.nav-tabs .nav-link-profile:focus,
.nav-tabs .nav-link-profile:hover {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}

.nav-tabs .nav-link-profile.disabled,
.nav-tabs .nav-link-profile:disabled {
  color: var(--bs-nav-link-disabled-color);
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link-profile.show .nav-link-profile,
.nav-tabs .nav-link-profile.active {
  text-shadow: none;
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color)
}

.profile-navs {
  border-bottom: none;
  margin-top: 40px;
  margin-left: 20px
}

.profile-header {
  display: inline-block;
  position: relative;
  width: 100%;
}

.profile-header .profile-navigation {
  padding-bottom: 0;
}

.profile-navigation {
  display: inline-block;
  padding-top: 20px;
  position: relative;
  width: 100%;
  z-index: 3;
  padding: 60px 0 0 0;
}

.profile-navigation-business {
  display: inline-block;
  padding-top: 5px;
  position: relative;
  width: 100%;
  z-index: 3;
}

.profile-navigation>h4 {
  color: #fff;
  display: block;
  max-width: 70%;
  width: 100%;
  font-size: 22px;
}

.profile-header .profile-navigation {
  padding-bottom: 0;
}

.nav-item>span {
  background: #fff none repeat scroll 0 0;
  border-radius: 5px;
  font-size: 10px;
  padding: 0 5px;
  position: absolute;
  right: -5px;
  top: -4px;
}

.profile-header-details {
  display: inline-block;
  position: relative;
  width: 100%;
}

.profile-header-details>figure {
  display: inline-block;
  margin-bottom: 0;
  vertical-align: middle;
}


.profile-header-details .sharing-options {
  position: absolute;
  right: 6px;
  top: 0;
  width: auto;
}


.profile-header-details-business {
  display: grid;
  position: relative;
  width: 100%;
}

.profile-header-details-business>figure {
  display: flex;
  justify-content: center;
}

.profile-header-details-business .sharing-options {
  position: absolute;
  right: 6px;
  top: 0;
  width: auto;
}

@media only screen and (max-width: 600px) {
  .profile-header-names {
    display: block;
    padding-left: 20px;
    color: #fff;
  }

  .profile-header-names-business {
    display: block;
    color: #fff;
    margin-bottom: 110px;
  }

  a.cover-profile-edit-business {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: inline-block;
    position: absolute;
    right: 23px;
    top: 10px;
    transition: all 0.3s linear 0s;
  }

  a.cover-profile-edit-business {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: inline-block;
    position: absolute;
    right: 23px;
    top: 10px;
    transition: all 0.3s linear 0s;
  }

  a.cover-profile-edit {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: inline-block;
    position: absolute;
    right: 23px;
    top: 10px;
    width: 145px;
    transition: all 0.3s linear 0s;
  }

  a.follow-button-business {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: grid;
    margin-top: 10px;
    margin-bottom: 10px;
    transition: all 0.3s linear 0s;
  }

  a.message-button-business {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: grid;
    margin-bottom: 10px;
    transition: all 0.3s linear 0s;
  }
}

@media only screen and (min-width: 600px) {
  a.follow-button-business {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: inline-block;
    position: absolute;
    right: 23px;
    bottom: 20px;
    width: 130px;
    transition: all 0.3s linear 0s;
  }

  a.cover-profile-edit {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: inline-block;
    position: absolute;
    right: 23px;
    top: 10px;
    width: 145px;
    transition: all 0.3s linear 0s;
  }

  a.message-button-business {
    background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
    display: inline-block;
    position: absolute;
    right: 155px;
    bottom: 20px;
    width: 130px;
    transition: all 0.3s linear 0s;
  }

  .profile-header-names {
    display: inline-block;
    padding-left: 20px;
    vertical-align: middle;
    color: #fff;
  }

  .profile-header-names-business {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    margin-bottom: 110px;

  }
}

.profile-header-names>p {
  text-shadow: .1em .1em 10px black;
  color: #fff;
  font-weight: 500;
  text-transform: capitalize;
  font-size: 24px;
  margin-bottom: 0px;
}

.profile-header-names-business>h3 {
  text-shadow: 0.05em 0.05em 5px black;
  color: #fff;
  font-weight: 500;
  text-transform: capitalize;
  font-size: 40px;
  margin-bottom: 0px;
}

.profile-header-details .sharing-options {
  position: absolute;
  right: 6px;
  top: 0;
  width: auto;
}

.profile-header-names>span {
  display: inline-block;
  text-shadow: .09em .09em 10px black;
  color: #fff;
  font-weight: 500;
}

.profile-header-names>a {
  text-shadow: .09em .09em 10px black;
}

.profile-header-names-business>span {
  display: inline-block;
  text-shadow: 0.05em 0.05em 5px black;
  color: #fff;
  font-weight: 500;
  font-size: 20px;
}

.profile-header-names-business>a {
  text-shadow: .09em .09em 10px black;
}

.profile-cover-image {
  background-position: center center;
  background-repeat: no-repeat;
  object-fit: cover;
  height: 100%;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.profile-cover-background {
  height: 100%;
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.profile-avatar-vip {
  margin-left: 20px;
  padding: 5px;
  display: inline-block;
  border: 4px solid gold;
  border-radius: 100%;
}

.profile-avatar-vip-business {
  padding: 5px;
  display: inline-block;
  border: 4px solid gold;
  border-radius: 100%;
}

.profile-avatar-vip-company {
  padding: 2px;
  display: inline-block;
  border: 4px solid gold;
  border-radius: 100%;
}

.homepage-avatar-vip {
  padding: 5px;
  display: inline-block;
  border: 4px solid gold;
  border-radius: 100%;
}

.postbox-avatar-vip {
  display: inline-block;
  border: 2px solid gold;
  border-radius: 100%;
}

.postbox-avatar {
  display: inline-block;
  border-radius: 100%;
}

.page-avatar-vip {
  width: 50px;
  height: 50px;
  display: inline-block;
  border: 2px solid gold;
  border-radius: 100%;
}

.page-avatar {
  width: 50px;
  height: 50px;
  display: inline-block;
  border-radius: 100%;
}

.profile-avatar {
  margin-left: 20px;
  padding: 5px;
  display: inline-block;
  border: 4px solid #fff;
  border-radius: 100%;
}

.profile-business-avatar {
  padding: 5px;
  display: inline-block;
  border: 4px solid #fff;
  border-radius: 100%;
}

.profile-company-avatar {
  padding: 2px;
  display: inline-block;
  border: 4px solid #fff;
  border-radius: 100%;
}

.homepage-avatar {
  padding: 5px;
  display: inline-block;
  border: 4px solid #fff;
  border-radius: 100%;
}

.homepage-post-box {
  width: 100%;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5;
  border: 1px solid var(--bs-dark);
  border-radius: 0.5rem !important;
  padding-left: 1rem !important;
}

a.connect-button {
  background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
  display: inline-block;
  position: absolute;
  right: 23px;
  top: 60px;
  width: 130px;
  transition: all 0.3s linear 0s;
}

a.follow-button {
  background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
  display: inline-block;
  position: absolute;
  right: 23px;
  top: 110px;
  width: 130px;
  transition: all 0.3s linear 0s;
}

a.message-button {
  background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
  display: inline-block;
  position: absolute;
  right: 23px;
  top: 160px;
  width: 130px;
  transition: all 0.3s linear 0s;
}

div.page-button {
  background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
  display: inline-block;
  position: absolute;
  border-radius: 0.375rem;
  right: 23px;
  top: 60px;
  width: 145px;
}

.dark-theme .page-button {
  color: #121212
}

.btn-group-socials>.btn,
.btn-socials {
  --bs-btn-padding-y: 0.20rem;
  --bs-btn-padding-x: 0.20rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: 0.25rem;
}

.btn-light-socials {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #e8e9e9;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #e8e9e9;
}

.badge-skills {
  background: #e8e9e9;
  color: var(--bs-dark)
}

.message-error-profile {
  --bs-popover-header-bg: var(--bs-dark);
  --bs-popover-header-color: var(--bs-white);
}

.timeline {
  position: relative;
  padding-left: 2.5rem;
  color: var(--bs-dark);
}

.timeline:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: var(--bs-dark);
}

.timeline .timeline-container {
  position: relative;
  margin-bottom: 1rem;
}

.timeline .timeline-container .timeline-icon {
  position: absolute;
  left: -53px;
  top: 5px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  text-align: center;
  background: var(--bs-dark);
}

.timeline .timeline-container .timeline-icon i {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.timeline .timeline-container .timeline-icon img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.timeline .timeline-container .timeline-body {
  background: #e8e9e9;
  border-radius: 3px;
  padding: 12px 12px 10px;
}

.timeline .timeline-container .timeline-body:before {
  content: "";
  background: inherit;
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  left: -10px;
  transform: rotate(45deg);
  border-radius: 0 0 0 2px;
}

.timeline .timeline-container .timeline-body .timeline-title {
  margin-bottom: 1rem;
}

.timeline_texts_margin {
  margin-bottom: 0.2rem;
}

.timeline .timeline-container .timeline-body .timeline-title .badge {
  background: #4f537b;
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: bold;
}

.timeline .timeline-container .timeline-body .timeline-subtitle {
  font-weight: 300;
  font-style: italic;
  opacity: 0.4;
  margin-top: 16px;
  font-size: 11px;
}

.timeline .timeline-container.main .badge,
.timeline .timeline-container.main .timeline-icon {
  background: #6c757d !important;
}

.timeline .timeline-container.primary .badge,
.timeline .timeline-container.primary .timeline-icon {
  background: #1d8cf8 !important;
}

.timeline .timeline-container.info .badge,
.timeline .timeline-container.info .timeline-icon {
  background: #11cdef !important;
}

.timeline .timeline-container.success .badge,
.timeline .timeline-container.success .timeline-icon {
  background: #00bf9a !important;
}

.timeline .timeline-container.warning .badge,
.timeline .timeline-container.warning .timeline-icon {
  background: #ff8d72 !important;
}

.timeline .timeline-container.danger .badge,
.timeline .timeline-container.danger .timeline-icon {
  background: #fd5d93 !important;
}

.author {
  font-family: inherit;
  padding: 3em;
  text-align: center;
  width: 100%;
  color: white;
}

.author a:link,
.author a:visited {
  color: white;
}

.author a:link:hover,
.author a:visited:hover {
  text-decoration: none;
}

.author .btn:link,
.author .btn:visited {
  margin-top: 1em;
  text-decoration: none;
  display: inline-block;
  font-family: inherit;
  font-weight: 100;
  color: white;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: black;
  padding: 1.5em 2rem;
  border-radius: 1em;
  transition: 0.5s all;
}

.author .btn:link:hover,
.author .btn:link:focus,
.author .btn:link:active,
.author .btn:visited:hover,
.author .btn:visited:focus,
.author .btn:visited:active {
  background-color: #1a1a1a;
}


@media only screen and (max-width: 600px) {
  .scroll-menu {
    min-width: 200px;
    max-height: 30vh;
    overflow: auto;
  }
}

@media only screen and (min-width: 600px) {
  .scroll-menu {
    min-width: 400px;
    max-height: 30vh;
    overflow: auto;
  }
}

@media only screen and (max-width: 600px) {
  .scroll-menu-special {
    min-width: 200px;
    max-height: 20vh;
    overflow: auto;
  }
}

@media only screen and (min-width: 600px) {
  .scroll-menu-special {
    min-width: 400px;
    max-height: 20vh;
    overflow: auto;
  }
}

.green {
  margin-top: 15px;
}

.green .progress,
.red .progress,
.orange .progress {
  position: relative;
  border-radius: 50%;
}

.green .progress,
.red .progress,
.orange .progress {
  width: 100px;
  height: 100px;
}

.green .progress {
  border: 5px solid #53fc53;
}

.green .progress {
  box-shadow: 0 0 20px #029502;
}

.green .progress,
.red .progress,
.orange .progress {
  transition: all 1s ease;
}

.green .progress .inner,
.red .progress .inner,
.orange .progress .inner {
  position: absolute;
  overflow: hidden;
  z-index: 2;
  border-radius: 50%;
}

.green .progress .inner,
.red .progress .inner,
.orange .progress .inner {
  width: 90px;
  height: 90px;
}

.green .progress .inner,
.red .progress .inner,
.orange .progress .inner {
  border: 5px solid #1a1a1a;
}

.green .progress .inner,
.red .progress .inner,
.orange .progress .inner {
  transition: all 1s ease;
}

.green .progress .inner .water,
.red .progress .inner .water,
.orange .progress .inner .water {
  position: absolute;
  z-index: 1;
  width: 200%;
  height: 200%;
  left: -50%;
  border-radius: 40%;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-name: spin;
  animation-name: spin;
}

.green .progress .inner .water {
  top: 25%;
}

.green .progress .inner .water {
  background: rgba(83, 252, 83, 0.5);
}

.green .progress .inner .water,
.red .progress .inner .water,
.orange .progress .inner .water {
  transition: all 1s ease;
}

.green .progress .inner .water,
.red .progress .inner .water,
.orange .progress .inner .water {
  -webkit-animation-duration: 10s;
  animation-duration: 10s;
}

.green .progress .inner .water {
  box-shadow: 0 0 20px #03bc03;
}

.green .progress .inner .glare,
.red .progress .inner .glare,
.orange .progress .inner .glare {
  position: absolute;
  top: -120%;
  left: -120%;
  z-index: 5;
  width: 200%;
  height: 200%;
  transform: rotate(45deg);
  border-radius: 50%;
}

.green .progress .inner .glare,
.red .progress .inner .glare,
.orange .progress .inner .glare {
  background-color: rgba(255, 255, 255, 0.15);
}

.green .progress .inner .glare,
.red .progress .inner .glare,
.orange .progress .inner .glare {
  transition: all 1s ease;
}

.green .progress .inner .percent,
.red .progress .inner .percent,
.orange .progress .inner .percent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-weight: bold;
  text-align: center;
}

.green .progress .inner .percent,
.red .progress .inner .percent,
.orange .progress .inner .percent {
  line-height: 80px;
  font-size: 20.3076923076923px;
}

.green .progress .inner .percent {
  color: #000000;
}

.green .progress .inner .percent {
  text-shadow: 0 0 10px #1e9bde
}

.green .progress .inner .percent,
.red .progress .inner .percent,
.orange .progress .inner .percent {
  transition: all 1s ease;
}

.red {
  margin-top: 15px;
}

.red .progress {
  border: 5px solid #e74c3c;
}

.red .progress {
  box-shadow: 0 0 20px #7a0b0b;
}

.red .progress .inner .water {
  top: 75%;
}

.red .progress .inner .water {
  background: rgba(237, 59, 59, 0.5);
}

.red .progress .inner .water {
  box-shadow: 0 0 20px #9b0e0e;
}

.red .progress .inner .percent {
  color: #000000;
}

.red .progress .inner .percent {
  text-shadow: 0 0 10px #7a0b0b;
}

.orange {
  margin-top: 15px;
}

.orange .progress {
  border: 5px solid #f07c3e;
}

.orange .progress {
  box-shadow: 0 0 20px #7e320a;
}

.orange .progress .inner .water {
  top: 50%;
}

.orange .progress .inner .water {
  background: rgba(240, 124, 62, 0.5);
}

.orange .progress .inner .water {
  box-shadow: 0 0 20px #a0400c;
}

.orange .progress .inner .percent {
  color: #000000;
}

.orange .progress .inner .percent {
  text-shadow: 0 0 10px #7e320a;
}

@-webkit-keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.btn-share-primary {
  color: var(--bs-dark);
  --bs-btn-color: #fff;
  --bs-btn-bg: #83dfe9;
  --bs-btn-border-color: #83dfe9;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #18848e;
  --bs-btn-hover-border-color: #1fbdd2;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1fbdd2;
  --bs-btn-active-border-color: #1a98a6;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #83dfe9;
  --bs-btn-disabled-border-color: #83dfe9
}


.column {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 576px) {
  .column {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .column {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

@media (min-width: 992px) {
  .column {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.section-title {
  width: 100%;
  text-align: center;
  padding: 30px 0 30px 0;
}

.section-title::after {
  position: absolute;
  content: "";
  width: 90px;
  height: 5px;
  left: calc(50% - 45px);
  background: #353535;
}

.section-title h1 {
  color: #353535;
  font-size: 30px;
  margin-bottom: 5px;
}

@media (max-width: 767.98px) {
  .section-title h1 {
    font-size: 40px;
    letter-spacing: 3px;
  }
}

@media (max-width: 567.98px) {
  .section-title h1 {
    font-size: 30px;
    letter-spacing: 2px;
  }
}

.team-9 {
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 5px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.team-9:hover {
  transform: rotateY(180deg);
}

.team-9 .team-img {
  position: relative;
  font-size: 0;
  text-align: center;
  margin-bottom: 30px;
}

.team-9 .team-img img {
  width: 150px;
  height: 150px;
  border-radius: 100%;
}

.team-9 .team-content {
  text-align: center;
}

.team-9 .team-content h2 {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 5px;
}

.team-9 .team-content h3 {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 0;
}

.team-9 .team-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: #ffffff;
  border-radius: 5px;
  transform: rotateY(180deg);
}

.team-9 .team-overlay p {
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
  text-align: center;
}

.team-9 .team-social {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
}

.team-9 .team-social a {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 5px;
  padding: 11px 0 10px 0;
  font-size: 16px;
  line-height: 16px;
  text-align: center;
  color: #ffffff;
  border-radius: 100%;
  transition: all 0.3s;
}

.team-9 .team-social a.social-tw {
  background: #00acee;
}

.team-9 .team-social a.social-fb {
  background: #3b5998;
}

.team-9 .team-social a.social-li {
  background: #0e76a8;
}

.team-9 .team-social a.social-in {
  background: #3f729b;
}

.team-9 .team-social a.social-yt {
  background: #c4302b;
}

.team-9 .team-social a:last-child {
  margin-right: 0;
}

.team-9 .team-social a:hover {
  background: #222222;
}

.card-owlindex {
  --bs-card-owlindex-spacer-y: 1rem;
  --bs-card-owlindex-spacer-x: 1rem;
  --bs-card-owlindex-title-spacer-y: 0.5rem;
  --bs-card-owlindex-border-width: 1px;
  --bs-card-owlindex-border-color: var(--bs-border-color-translucent);
  --bs-card-owlindex-border-radius: 0.375rem;
  --bs-card-owlindex-box-shadow: ;
  --bs-card-owlindex-inner-border-radius: calc(0.375rem - 1px);
  --bs-card-owlindex-cap-padding-y: 0.5rem;
  --bs-card-owlindex-cap-padding-x: 1rem;
  --bs-card-owlindex-cap-bg: rgba(0, 0, 0, 0.03);
  --bs-card-owlindex-cap-color: ;
  --bs-card-owlindex-height: ;
  --bs-card-owlindex-color: ;
  --bs-card-owlindex-bg: #fff;
  --bs-card-owlindex-img-overlay-padding: 1rem;
  --bs-card-owlindex-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-owlindex-height);
  word-wrap: break-word;
  background-color: var(--bs-card-owlindex-bg);
  background-clip: border-box;
  border: var(--bs-card-owlindex-border-width) solid var(--bs-card-owlindex-border-color);
  border-radius: var(--bs-card-owlindex-border-radius)
}

.card-owlindex>hr {
  margin-right: 0;
  margin-left: 0
}

.card-owlindex>.list-group {
  border-top: inherit;
  border-bottom: inherit
}

.card-owlindex>.list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-owlindex-inner-border-radius);
  border-top-right-radius: var(--bs-card-owlindex-inner-border-radius)
}

.card-owlindex>.list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-owlindex-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-owlindex-inner-border-radius)
}

.card-owlindex>.card-owlindex-header+.list-group,
.card-owlindex>.list-group+.card-owlindex-footer {
  border-top: 0
}

.card-owlindex-body {
  flex: 1 1 auto;
  padding: var(--bs-card-owlindex-spacer-y) var(--bs-card-owlindex-spacer-x);
  color: var(--bs-card-owlindex-color)
}

.card-owlindex-title {
  margin-bottom: var(--bs-card-owlindex-title-spacer-y)
}

.card-owlindex-subtitle {
  margin-top: calc(-.5 * var(--bs-card-owlindex-title-spacer-y));
  margin-bottom: 0
}

.card-owlindex-text:last-child {
  margin-bottom: 0
}

.card-owlindex-link+.card-owlindex-link {
  margin-left: var(--bs-card-owlindex-spacer-x)
}

.card-owlindex-header {
  padding: var(--bs-card-owlindex-cap-padding-y) var(--bs-card-owlindex-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-owlindex-cap-color);
  background-color: var(--bs-card-owlindex-cap-bg);
  border-bottom: var(--bs-card-owlindex-border-width) solid var(--bs-card-owlindex-border-color)
}

.card-owlindex-header:first-child {
  border-radius: var(--bs-card-owlindex-inner-border-radius) var(--bs-card-owlindex-inner-border-radius) 0 0
}

.card-owlindex-footer {
  padding: var(--bs-card-owlindex-cap-padding-y) var(--bs-card-owlindex-cap-padding-x);
  color: var(--bs-card-owlindex-cap-color);
  background-color: var(--bs-card-owlindex-cap-bg);
  border-top: var(--bs-card-owlindex-border-width) solid var(--bs-card-owlindex-border-color)
}

.card-owlindex-footer:last-child {
  border-radius: 0 0 var(--bs-card-owlindex-inner-border-radius) var(--bs-card-owlindex-inner-border-radius)
}

.card-owlindex-header-tabs {
  margin-right: calc(-.5 * var(--bs-card-owlindex-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-owlindex-cap-padding-y));
  margin-left: calc(-.5 * var(--bs-card-owlindex-cap-padding-x));
  border-bottom: 0
}

.card-owlindex-header-tabs .nav-link.active {
  background-color: var(--bs-card-owlindex-bg);
  border-bottom-color: var(--bs-card-owlindex-bg)
}

.card-owlindex-header-pills {
  margin-right: calc(-.5 * var(--bs-card-owlindex-cap-padding-x));
  margin-left: calc(-.5 * var(--bs-card-owlindex-cap-padding-x))
}

.card-owlindex-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-owlindex-img-overlay-padding);
  border-radius: var(--bs-card-owlindex-inner-border-radius)
}

.card-owlindex-img,
.card-owlindex-img-bottom,
.card-owlindex-img-top {
  width: 100%
}

.card-owlindex-img,
.card-owlindex-img-top {
  border-top-left-radius: var(--bs-card-owlindex-inner-border-radius);
  border-top-right-radius: var(--bs-card-owlindex-inner-border-radius)
}

.card-owlindex-img,
.card-owlindex-img-bottom {
  border-bottom-right-radius: var(--bs-card-owlindex-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-owlindex-inner-border-radius)
}

.card-owlindex-group>.card-owlindex {
  margin-bottom: var(--bs-card-owlindex-group-margin)
}

@media (min-width:576px) {
  .card-owlindex-group {
    display: flex;
    flex-flow: row wrap
  }

  .card-owlindex-group>.card-owlindex {
    flex: 1 0 0%;
    margin-bottom: 0
  }

  .card-owlindex-group>.card-owlindex+.card-owlindex {
    margin-left: 0;
    border-left: 0
  }

  .card-owlindex-group>.card-owlindex:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
  }

  .card-owlindex-group>.card-owlindex:not(:last-child) .card-owlindex-header,
  .card-owlindex-group>.card-owlindex:not(:last-child) .card-owlindex-img-top {
    border-top-right-radius: 0
  }

  .card-owlindex-group>.card-owlindex:not(:last-child) .card-owlindex-footer,
  .card-owlindex-group>.card-owlindex:not(:last-child) .card-owlindex-img-bottom {
    border-bottom-right-radius: 0
  }

  .card-owlindex-group>.card-owlindex:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
  }

  .card-owlindex-group>.card-owlindex:not(:first-child) .card-owlindex-header,
  .card-owlindex-group>.card-owlindex:not(:first-child) .card-owlindex-img-top {
    border-top-left-radius: 0
  }

  .card-owlindex-group>.card-owlindex:not(:first-child) .card-owlindex-footer,
  .card-owlindex-group>.card-owlindex:not(:first-child) .card-owlindex-img-bottom {
    border-bottom-left-radius: 0
  }
}

a {
  color: #1e9bde;
  text-decoration: underline;
}

.link-color-owl-brand {
  color: var(--ow-main-color) !important;
}

a:hover {
  color: #012b62;
}

.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--ow-primary-rgb), var(--bs-text-opacity)) !important
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1e9bde;
  --bs-btn-border-color: #1e9bde;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3399CC;
  --bs-btn-hover-border-color: #3E9B9B;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3E9B9B;
  --bs-btn-active-border-color: #1e9bde;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #1e9bde;
  --bs-btn-disabled-border-color: #1e9bde
}

.btn-outline-primary {
  --bs-btn-color: #1e9bde;
  --bs-btn-border-color: #1e9bde;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1e9bde;
  --bs-btn-hover-border-color: #1e9bde;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1e9bde;
  --bs-btn-active-border-color: #1e9bde;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1e9bde;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1e9bde;
  --bs-gradient: none
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #338080;
  --bs-btn-border-color: #338080;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0056b3;
  --bs-btn-hover-border-color: #0038b3;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0038b3;
  --bs-btn-active-border-color: #0039b3c9;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #338080;
  --bs-btn-disabled-border-color: #338080
}

.form-check-input:checked {
  background-color: var(--ow-main-color);
  border-color: var(--ow-main-border-color)
}

.form-check-input:focus {
  border-color: #B0D4D4;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25)
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--ow-main-color-rgb), var(--bs-bg-opacity, 1)) !important
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--ow-main-color-rgb), var(--bs-bg-opacity)) !important
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--ow-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: #6c757d;
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: #212529;
  --bs-dropdown-bg: #fff;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: 0.375rem;
  --bs-dropdown-border-width: 1px;
  --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-dropdown-link-color: #212529;
  --bs-dropdown-link-hover-color: #1e2125;
  --bs-dropdown-link-hover-bg: #e9ecef;
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--ow-link-color);
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius)
}

.btn-outline-success {
  --bs-btn-color: #1e9bde;
  --bs-btn-border-color: #1e9bde;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1e9bde;
  --bs-btn-hover-border-color: #1e9bde;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1e9bde;
  --bs-btn-active-border-color: #1e9bde;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #1e9bde;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1e9bde;
  --bs-gradient: none
}

.pointer-owlindex {
  cursor: pointer;
}


.owlindex-card {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.owlindex-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.owlindex-card-options-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
  /* Provides space between the buttons */
}

.owlindex-more-options-dropdown {
  position: relative;
  display: inline-block;
}

.owlindex-more-options-button {
  background-color: transparent;
  border: none;
  color: #0073b1;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
}

.owlindex-more-options-button:hover {
  color: #005f91;
}

.owlindex-more-options-content {
  display: none;
  position: absolute;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 10px 0;
  z-index: 1;
  min-width: 150px;
  right: 0;
}

.owlindex-more-options-item {
  color: #121212;
  padding: 8px 20px;
  text-decoration: none;
  display: block;
  font-size: 14px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.owlindex-more-options-item:hover {
  background-color: #f0f0f0;
  color: #0073b1;
}

.owlindex-more-options-dropdown:hover .owlindex-more-options-content {
  display: block;
}

/* New reason and removal section */
.owlindex-card-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f8f9fa;
  padding: 15px 10px;
  border-bottom: 1px solid #ddd;
  font-size: 14px;
  color: #121212;
}

.owlindex-remove-button {
  background-color: transparent;
  border: none;
  color: #0073b1;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
}

.owlindex-remove-button:hover {
  color: #005f91;
}

/* Header section */
.owlindex-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  padding: 8px;
}

/* Header section */
.owlindex-card-header.owl-auth {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  padding-bottom: 2px;
  margin-bottom: 2px;
}

.owlindex-left-section {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

.owlindex-avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  margin-right: 8px;
  border: 2px solid #ddd;
}

.owlindex-avatar.premium {
  border-color: gold;
}

.owlindex-text {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.owlindex-main-text {
  font-size: 18px;
  font-weight: 600;
  color: #121212;
  margin-bottom: 2px;
  margin-right: 5px
}

.owlindex-subtext {
  font-size: 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.owlindex-subtext span {
  margin-right: 5px;
}

.owlindex-icon {
  width: 11px;
  height: 11px;
  opacity: 0.7;
  margin-left: 2px;
}

.owlindex-username,
.owlindex-status,
.owlindex-time {
  align-items: center;
  color: #666
}

.owlindex-dash {
  margin: 0 4px;
  font-weight: bold;
}

.owlindex-h-index {
  font-size: 11px;
  background-color: #f7f7f7;
  padding: 3px 5px;
  border-radius: 6px;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 7px;
}

/* Card body section */
.owlindex-card-body {
  padding: 15px;
}

.owlindex-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #121212;
  margin-bottom: 10px;
}

.owlindex-card-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 10px;
}

.owlindex-card-link-image {
  width: 120px;
  height: auto;
  border-radius: 8px;
  margin-bottom: 10px;
  margin-right: 10px;
}

.owlindex-card-body-content {
  display: flex;
  /* Align content horizontally */
  align-items: center;
  /* Vertically center content */
  background-color: #eef5f9;
}

.owlindex-card-description {
  font-size: 14px;
}

/* New Interactions section */
.owlindex-interactions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
  background-color: #fff;
  font-size: 14px;
}

.owlindex-interaction-group {
  display: flex;
  align-items: center;
  justify-content: start;
  /* Aligns to the left in footer */
}

.owlindex-icon-image {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: -5px;
  border: 2px solid #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.owlindex-interaction-details {
  margin-left: 10px;
}

.owlindex-card-footer-services {
  padding: 5px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-color: #fafafa;
  flex-wrap: wrap;
}

.owlindex-card-footer-services button {
  background-color: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  margin: 0 5px;
  /* Margin between buttons */
  flex-grow: 1;
  min-width: 80px;
  max-width: 130px;
  /* Optional, to avoid excessive stretching */
  text-align: center;
  white-space: nowrap;
  /* Prevents text wrap */
}

.owlindex-card-footer-services a {
  text-decoration: none;
  background-color: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  margin: 0 5px;
  /* Margin between buttons */
  flex-grow: 1;
  min-width: 80px;
  max-width: 130px;
  /* Optional, to avoid excessive stretching */
  text-align: center;
  white-space: nowrap;
  /* Prevents text wrap */
}

.owlindex-card-footer-services button:hover {
  color: var(--ow-link-color);
}

.owlindex-card-footer-services button.owlindex-active-comment {
  color: var(--ow-link-color);
}

.owlindex-card-footer-services i {
  font-size: 18px;
  margin-right: 3px;
  display: flex;
  vertical-align: middle;
}

/* Footer section */
.owlindex-card-footer {
  padding: 5px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-color: #fafafa;
  flex-wrap: wrap;
}

.owlindex-card-footer button {
  background-color: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  margin: 0 5px;
  /* Margin between buttons */
  flex-grow: 1;
  flex-basis: calc(33.33% - 10px);
  /* Space for three buttons per row */
  min-width: 80px;
  max-width: 130px;
  /* Optional, to avoid excessive stretching */
  text-align: center;
  white-space: nowrap;
  /* Prevents text wrap */
}

.owlindex-card-footer a {
  text-decoration: none;
  background-color: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #666;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  margin: 0 5px;
  /* Margin between buttons */
  flex-grow: 1;
  flex-basis: calc(33.33% - 10px);
  /* Space for three buttons per row */
  min-width: 80px;
  max-width: 130px;
  /* Optional, to avoid excessive stretching */
  text-align: center;
  white-space: nowrap;
  /* Prevents text wrap */
}

.owlindex-card-footer button:hover {
  color: var(--ow-link-color);
}

.owlindex-card-footer button.owlindex-active-comment {
  color: var(--ow-link-color);
}

.owlindex-footer-icon-img {
  width: 20px;
  height: 20px;
  margin-right: 3px;
}

.owlindex-card-footer i {
  font-size: 18px;
  margin-right: 3px;
  display: flex;
  vertical-align: middle;
}

.owlindex-reaction-container {
  position: relative;
  display: inline-block;
}

.owlindex-dropup-content {
  display: none;
  position: absolute;
  bottom: 25px;
  left: 0;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 2px;
  z-index: 1;
}

.owlindex-reaction-icon {
  width: 35px;
  height: 35px;
  margin: 5px;
  cursor: pointer;
}

.owlindex-reaction-icon.active {
  border-radius: 50%;
  border: 2px solid var(--ow-link-color);
  background-color: var(--ow-link-color);
}

.owlindex-reaction-container:hover .owlindex-dropup-content {
  display: flex;
}

@media (max-width: 600px) {
  .owlindex-card-footer {
    flex-direction: row;
    /* Ensure row alignment */
  }

  .owlindex-card-footer button {
    flex-basis: calc(20% - 4px);
  }
}

.owlindex-dropdown {
  position: relative;
  display: inline-block;
}

.owlindex-ellipsis-icon {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.owlindex-dropdown-content {
  display: none;
  position: absolute;
  right: 0;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  padding: 10px 0;
  /* Padding for better spacing */
  z-index: 1;
  min-width: 150px;
  /* Ensure consistent width */
}

.owlindex-dropdown-item {
  color: #121212;
  padding: 8px 20px;
  /* Increased padding for better touch targets */
  text-decoration: none;
  display: block;
  font-size: 14px;
  transition: background-color 0.3s ease, color 0.3s ease;
  /* Smooth transitions */
}

.owlindex-dropdown-item:hover {
  background-color: #f0f0f0;
  /* Light background on hover */
  color: #0073b1;
  /* Highlight color on hover */
}

.owlindex-dropdown:hover .owlindex-dropdown-content {
  display: block;
  /* Show dropdown on hover */
}

@media (max-width: 480px) {
  .owlindex-main-text {
    font-size: 18px;
  }

  .owlindex-subtext {
    font-size: 13px;
  }

  .owlindex-h-index,
  .owlindex-citations {
    font-size: 10px;
  }

  .owlindex-follow-button {
    padding: 5px 8px;
    font-size: 12px;
  }

  .owlindex-card-title {
    font-size: 14px;
  }

  .owlindex-card-description {
    font-size: 12px;
  }

  .owlindex-avatar {
    width: 40px;
    height: 40px;
    margin-right: 6px;
  }

  .owlindex-ellipsis {
    font-size: 16px;
  }

  .owlindex-card-footer button {
    font-size: 13px;
  }
}

.owlindex-right-section {
  display: flex;
  align-items: center;
  gap: 15px;
  /* Add a gap between Follow button and dropdown */
}

.owlindex-primary-button {
  background-color: #1e9bde;
  color: #fff;
  border: none;
  padding: 8px 8px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 14px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  gap: 5px;
}

.owlindex-primary-button:hover {
  background-color: #3399CC;
  transform: translateY(-1px);
}

.owlindex-outlined-button {
  background-color: #ffffff;
  color: #1e9bde;
  border: 2px solid #1e9bde;
  padding: 8px 8px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 14px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  align-items: center;
  text-align: center;
  gap: 5px;
}

.owlindex-outlined-button:hover {
  background-color: #ffffff;
  transform: translateY(-2px);
}

.owlindex-borderless-button {
  background-color: #ffffff;
  color: var(--ow-link-color);
  padding: 8px 8px;
  border: 2px solid #ffffff;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  align-items: center;
  text-align: center;
  gap: 5px;
}

.owlindex-borderless-button:hover {
  background-color: #ffffff;
  transform: translateY(-2px);
}

.owlindex-profile-sidebar {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.owlindex-profile-cover-photo {
  width: 100%;
  height: 120px;
  position: relative;
}

.owlindex-profile-profile-border {
  padding: 5px;
  border-radius: 50%;
  position: absolute;
  top: 75px;
  left: 50%;
  transform: translateX(-50%);
}

.owlindex-profile-profile-border.premium {
  background-color: gold;
  /* Green for premium users */
}

.owlindex-profile-profile-border.free {
  background-color: #ccc;
  /* Grey for free users */
}

.owlindex-profile-profile-pic {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.owlindex-profile-profile-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 50px;
  background-color: #fff;
  text-align: center;
}

.owlindex-profile-profile-section a {
  text-decoration: none;
}

.owlindex-profile-name {
  margin-bottom: 0.2rem;
  font-size: 20px;
  margin-top: 10px;
  font-weight: 600;
}

.owlindex-profile-username {
  font-size: 14px;
  font-weight: 600;
}

.owlindex-profile-stats {
  display: flex;
  justify-content: space-around;
  width: 100%;
}

.owlindex-profile-stat-item {
  text-align: center;
}

.owlindex-profile-stat-value {
  font-size: 16px;
  font-weight: bold;
  color: #121212;
}

.owlindex-profile-stat-label {
  font-size: 12px;
}

.owlindex-profile-menu-section {
  padding: 5px;
  background-color: #f7f9fc;
}

.owlindex-profile-menu-item {
  text-decoration: none;
  display: flex;
  justify-content: start;
  align-items: center;
  color: var(--ow-link-color);
  font-weight: bold;
  margin: 8px 0;
  padding: 8px 12px;
  border-radius: 8px;
  text-align: center;
  transition: background 0.3s, transform 0.3s;
}

.owlindex-profile-menu-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.owlindex-profile-separator {
  height: 1px;
  background-color: #ddd;
  margin: 10px 0;
}

.owlindex-profile-premium-status {
  border: 2px solid #ffc107;
  font-weight: bold;
  display: flex;
  justify-content: start;
  align-items: center;
}

.owlindex-profile-basic-badge {
  background-color: #6c757d;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  margin-left: 5px;
}

.owlindex-profile-silver-badge {
  background-color: silver;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  margin-left: 5px;
}

.owlindex-profile-gold-badge {
  background-color: #ffc107;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: bold;
  color: #000000;
  margin-left: 5px;
}

.owlindex-profile-platinum-badge {
  background-color: #E5E4E2;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: bold;
  color: #000000;
  margin-left: 5px;
}

.owlindex-pages-homepage-page-container {
  padding: 15px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: max-height 0.4s ease, box-shadow 0.4s ease;
  max-height: 70px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}

.owlindex-pages-homepage-page-container-none {
  padding: 15px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: max-height 0.4s ease, box-shadow 0.4s ease;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}

.owlindex-pages-homepage-page-container:hover {
  max-height: 300px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.owlindex-pages-homepage-page-container:hover .owlindex-pages-homepage-list {
  opacity: 1;
}

.owlindex-pages-homepage-title {
  font-size: 20px;
  line-height: 20px;
  font-weight: 600;
  color: #121212;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
}

.owlindex-pages-homepage-icon {
  font-size: 20px;
  transition: transform 0.3s ease;
  display: inline-block;
  vertical-align: middle;
}

.owlindex-pages-homepage-hover-text {
  font-size: 12px;
  color: #999;
  font-style: italic;
  opacity: 1;
  transition: opacity 0.4s ease;
}

.owlindex-pages-homepage-page-container:hover .owlindex-pages-homepage-hover-text {
  opacity: 0;
}

.owlindex-pages-homepage-list {
  opacity: 0;
  transition: opacity 0.4s ease;
  max-height: 200px;
  overflow-y: auto;
  margin-top: 10px;
  padding-right: 10px;
  /* For scroll space */
}

.owlindex-pages-homepage-card {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 8px;
  margin: 5px 0;
  border: 1px solid #e0e0e0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.owlindex-pages-homepage-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.owlindex-pages-homepage-card-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.owlindex-pages-homepage-logo {
  position: relative;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  overflow: hidden;
}

.owlindex-pages-homepage-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.owlindex-pages-homepage-info {
  flex-grow: 1;
  padding-left: 10px;
  text-align: left;
}

.owlindex-pages-homepage-info h3 {
  font-size: 18px;
  margin-bottom: 3px;
}

.owlindex-pages-homepage-info p {
  font-size: 14px;
  margin-top: 2px;
  /* Slight reduction here */
}

.owlindex-pages-homepage-actions {
  margin-top: 3px;
  text-align: right;
}

.owlindex-pages-homepage-view-link,
.owlindex-pages-homepage-login-link {
  font-size: 14px;
  text-decoration: none;
  margin-left: 10px;
  transition: color 0.3s;
}

.owlindex-pages-homepage-view-link:hover,
.owlindex-pages-homepage-login-link:hover {
  color: var(--ow-link-hover-color);
}

.owlindex-pages-homepage-no-pages {
  padding-top: 10px;
  font-size: 14px;
  color: #777;
  text-align: center;
}

.owlindex-primary-link {
  text-decoration: none;
  background-color: #1e9bde;
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 5px;
}

.owlindex-primary-link:hover {
  color: #fff;
  background-color: var(--ow-main-hover-color);
}

.owlindex-pages-homepage-create-link i {
  margin-right: 3px;
}

@media screen and (max-width: 480px) {
  .owlindex-pages-homepage-title {
    font-size: 18px;
  }

  .owlindex-pages-homepage-info h3 {
    font-size: 14px;
  }

  .owlindex-pages-homepage-info p,
  .owlindex-pages-homepage-view-link,
  .owlindex-pages-homepage-login-link {
    font-size: 11px;
  }

  /* Adjustments for smaller screens */
  .owlindex-pages-homepage-card {
    padding: 6px;
    margin: 3px 0;
  }

  .owlindex-pages-homepage-actions {
    margin-top: 2px;
    /* Further reduced for compactness */
  }
}


.owlindex-bar-container {
  margin-top: 10px;
  display: inline-block;
  position: relative;
  perspective: 800px;
  /* Adds 3D perspective */
}

.owlindex-bar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  position: relative;
  border: 3px solid black;
  /* Black border */
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.5);
  background: rgba(255, 255, 255, 0.4);
  /* Glassy effect */
  backdrop-filter: blur(8px);
  /* For a glass effect */
  transform-style: preserve-3d;
  /* Preserves 3D transformations for children */
  overflow: hidden;
  transition: all 1s ease;
}

.owlindex-bar-inner {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 50%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}

.owlindex-bar-fill {
  position: absolute;
  width: 200%;
  height: 200%;
  left: -50%;
  border-radius: 45%;
  background: rgba(51, 128, 128, 0.5);
  animation: wave 6s infinite linear;
  transition: all 1s ease;
  transform: translateZ(-1px);
  /* Enhance 3D effect */
}

.owlindex-bar-percent {
  position: absolute;
  font-weight: bold;
  text-align: center;
  line-height: 110px;
  font-size: 22px;
  color: #000;
  /* Change to black */
  z-index: 5;
  /* Ensure it's on top */
}

.owlindex-bar-glare {
  position: absolute;
  width: 200%;
  height: 200%;
  top: -100%;
  left: -100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.7), transparent);
  transform: rotate(45deg) translateZ(1px);
  /* Enhance 3D effect */
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
}

.owlindex-bar-glare-secondary {
  position: absolute;
  width: 200%;
  height: 200%;
  top: -100%;
  left: -100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4));
  transform: rotate(-45deg) translateZ(1px);
  /* Enhance 3D effect */
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
}

@keyframes wave {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}


.owlindex-pass-str-container {
  width: 350px;
  padding: 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.owlindex-pass-str-input {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 16px;
  box-sizing: border-box;
}

.owlindex-pass-str-meter {
  position: relative;
  height: 12px;
  width: 100%;
  background-color: #eee;
  border-radius: 5px;
  overflow: hidden;
}

.owlindex-pass-str-bar {
  height: 100%;
  transition: width 0.3s;
}

.owlindex-pass-str-text {
  margin-top: 8px;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
}

.owlindex-pass-str-weak {
  background-color: #e74c3c;
}

.owlindex-pass-str-fair {
  background-color: #f39c12;
}

.owlindex-pass-str-good {
  background-color: #ffd700;
}

.owlindex-pass-str-strong {
  background-color: #80B918;
}

.owlindex-pass-str-very-strong {
  background-color: #1e9bde;
}

.owlindex-sidebar-menu-section {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
  padding: 10px;
}

.owlindex-sidebar-menu-section:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.owlindex-sidebar-menu-header {
  font-weight: bold;
  font-size: 1em;
  margin-bottom: 12px;
  color: #121212;
  border-bottom: 2px solid #e5e5e5;
  padding-bottom: 8px;
  display: flex;
  align-items: center;
  /* Vertically centers text and icon */
}

.owlindex-sidebar-menu-header i {
  margin-right: 5px;
  /* Adds space between icon and text */
  font-size: 1.2em;
}

.owlindex-sidebar-menu-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.owlindex-sidebar-menu-section li {
  margin: 8px 0;
}

.owlindex-sidebar-menu-section a {
  text-decoration: none;
  display: flex;
  font-size: 1em;
  align-items: center;
  /* Centers vertically */
  padding: 2px;
  border-radius: 4px;
}

.owlindex-sidebar-menu-section a:hover {
  color: var(--ow-link-hover-color);
}

.owlindex-sidebar-menu-section i {
  margin-right: 10px;
  font-size: 18px;
  width: 20px;
  /* Ensures consistent alignment */
  display: flex;
  justify-content: center;
  /* Centers icon in its box */
}

/* Container wrapping the sidebar sections and the submission button */
.owlindex-sidebar-container {
  transition: width 0.3s ease;
}

.owlindex-sidebar-container.collapsed {
  width: 60px;
}

/* Hide text in collapsed mode */
.owlindex-sidebar-container.collapsed .nav-text,
.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-header span {
  display: none;
}

/* Increase icon sizes when collapsed */
.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-section i {
  font-size: 24px;
}

.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-buttons i {
  font-size: 30px;
}

.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-section a {
  justify-content: center !important;
}

.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-section a i {
  margin-right: 0 !important;
}

.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-header {
  justify-content: center !important;
}

.owlindex-sidebar-container.collapsed .owlindex-sidebar-menu-header i {
  margin-right: 0 !important;
}

/* Toggle button styled as an icon-only button */
#toggleSidebar {
  color: #121212;
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
  font-size: 24px;
  display: block;
}

.owlindex-postbox-container {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}

.owlindex-postbox-container:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.owlindex-postbox-header {
  display: flex;
  align-items: center;
  padding: 15px;
}

.owlindex-postbox-profile-photo {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-right: 10px;
  border: 3px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.owlindex-postbox-profile-photo.premium {
  border-color: gold;
  /* Green for premium users */
}

.owlindex-postbox-profile-photo.free {
  border-color: #ccc;
  /* Grey for free users */
}

.owlindex-postbox-button {
  width: 100%;
  border: 2px solid var(--ow-main-color);
  background: #fff;
  color: #121212;
  padding: 15px;
  font-size: 16px;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.1);
}

.owlindex-postbox-button:hover {
  color: var(--ow-main-color);
}

.owlindex-postbox-footer {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 5px 5px;
  flex-wrap: wrap;
}

.owlindex-postbox-footer div {
  flex: 1 1 auto;
  text-align: center;
  align-items: center;
  cursor: pointer;
  transition: color 0.3s, transform 0.3s;
  font-weight: 600;
  font-size: 16px;
  color: var(--ow-main-color);
}

.owlindex-postbox-footer div:hover {
  color: var(--ow-main-hover-color);
  transform: scale(1.05);
  /* Subtle grow effect */
}

.owlindex-postbox-footer a {
  text-decoration: none;
}

.owlindex-postbox-footer img {
  display: block;
  margin: 0 auto 3px;
  width: 35px;
}

.owlindex-postbox-footer i {
  font-size: 16px;
  font-weight: 600;
}

/* Responsive Adjustments */
@media (max-width: 600px) {
  .owlindex-postbox-footer {
    justify-content: space-between;
    padding: 10px 5px;
  }

  .owlindex-postbox-footer div {
    flex-basis: calc(50% - 10px);
    /* Two items per row */
  }
}

.owlindex-icon-align {
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  vertical-align: middle;
}

.owlindex-icon-lg {
  font-size: 18px;
  font-weight: 600;
}

/* Medium universal icon sizing for OwlIndex */
.owlindex-icon-md {
  font-size: 16px;
  font-weight: 600;
}


.owlindex-icon-xl {
  font-size: 30px;
  font-weight: 800;
}

.owlindex-shake-animation {
  display: inline-block;
  animation: bell-shake 0.8s ease-in-out infinite;
  transform-origin: top center;
  /* Ensures the rotation occurs from the top */
}

@keyframes bell-shake {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(15deg);
  }

  50% {
    transform: rotate(0deg);
  }

  75% {
    transform: rotate(-15deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

.owlindex-bounce-animation {
  animation: bounce 0.8s ease infinite;
  transform-origin: bottom;
}

@keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-10px);
  }

  60% {
    transform: translateY(-5px);
  }
}

/* Modern Tab Header */
.owlindex-card-payment-header {
  display: flex;
  background-color: #f1f1f1;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.owlindex-payment-header {
  font-size: 25px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 10px;
}

.owlindex-tab-button {
  flex: 1;
  padding: 12px 0;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #121212;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Active Tab Styling */
.owlindex-tab-button.active {
  background-color: var(--ow-main-color);
  color: white;
  box-shadow: 0px -2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 8px 8px 0 0;
}

.owlindex-tab-button:not(.active):hover {
  background-color: #e1e1e1;
}

.owlindex-tab-content {
  display: none;
}

.owlindex-tab-content.active {
  display: block;
}

.owlindex-form-group {
  margin-bottom: 15px;
}

.owlindex-form-group label {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
  color: #555;
}

.owlindex-form-group input,
.owlindex-form-group select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
}

.owlindex-form-error {
  color: #d32f2f;
  /* red error color */
  font-size: 0.75rem;
  /* slightly smaller than input text */
  margin-top: 4px;
  /* small spacing from input */
  font-weight: 500;
  /* slightly bold for visibility */
  line-height: 1.2;
  /* compact line spacing */
}

.owlindex-form-error::before {
  content: "⚠ ";
  display: inline-block;
  margin-right: 2px;
}

.owlindex-chart-container-hp {
  width: 100%;
  height: 160px;
  /* increased height */
  margin-bottom: 12px;
}

.owlindex-note-container {
  background-color: #f1f1f1;
  /* Light blue background for contrast */
  border-top: 1px solid #eee;
  padding: 10px;
  margin-top: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  font-size: 14px;
  text-align: start;
  color: #4a4a4a;
  line-height: 1.7;
}

.owlindex-note-item {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eceff5;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.owlindex-note-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.owlindex-note-icon {
  color: var(--ow-main-color);
  font-size: 18px;
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.owlindex-note-text {
  flex: 1;
  color: #555;
  margin: 0;
  /* Reset margin on paragraphs */
}

.owlindex-note-link {
  color: #4CAF50;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}

.owlindex-note-link:hover {
  color: #388E3C;
  text-decoration: underline;
}

.owlindex-checkout-left-section {
  position: relative;
  margin-bottom: 20px;
  padding: 15px;
  background-color: #f0f0f0;
  border-radius: 8px;
  text-align: left;
}

.owlindex-checkout-left-section h4 {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 600;
}

.owlindex-checkout-left-section p,
.owlindex-checkout-left-section ul {
  margin: 0;
  font-size: 14px;
}

.owlindex-checkout-left-section ul {
  padding-left: 20px;
}

.owlindex-checkout-left-section-price-tag {
  text-align: center;
  background-color: #f1f1f1;
  padding: 10px;
  border-radius: 8px;
  margin-top: 20px;
  color: #121212;
}

.free-trial-text {
  font-size: 22px;
  font-weight: bold;
  color: #000000;
  /* Brighter color for emphasis */
}

.price-text {
  font-size: 14px;
  color: #121212;
}

.owlindex-free-trial-marker {
  position: relative;
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 20px;
  background-color: var(--ow-main-color);
  color: white;
  font-size: 14px;
  font-weight: bold;
  border-radius: 8px;
  text-transform: uppercase;
  animation: glow 3s ease-out forwards;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  overflow: hidden;
}

.owlindex-free-trial-marker::before,
.owlindex-free-trial-marker::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20px;
  background-color: var(--ow-main-color);
}

.owlindex-free-trial-marker::before {
  left: -20px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 50%);
}

.owlindex-free-trial-marker::after {
  right: -20px;
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}

@media (max-width: 768px) {
  .owlindex-free-trial-marker {
    padding: 4px 16px;
    font-size: 14px;
  }

  .owlindex-checkout-left-section h4 {
    font-size: 14px;
    font-weight: 600;
  }

  .owlindex-checkout-left-section p,
  .owlindex-checkout-left-section ul {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .owlindex-free-trial-marker {
    padding: 3px 12px;
    font-size: 12px;
  }

  .owlindex-checkout-left-section h4 {
    font-size: 14px;
    font-weight: 600;
  }

  .owlindex-checkout-left-section p,
  .owlindex-checkout-left-section ul {
    font-size: 12px;
  }
}

@keyframes glow {
  0% {
    box-shadow: 0 0 5px var(--ow-main-color);
  }

  50% {
    box-shadow: 0 0 20px var(--ow-main-color);
  }

  100% {
    box-shadow: 0 0 5px var(--ow-main-color);
  }
}

.owlindex-card-icon-header {
  font-size: 20px;
  font-weight: 600;
  color: #121212;
  margin-bottom: 2px;
  margin-right: 5px;
  margin-left: 10px;
}

.trust-message-owlindex {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #666;
  margin-top: 15px;
  margin-bottom: 0px;
  text-align: center;
}

.trust-message-owlindex i {
  margin-right: 8px;
  font-size: 14px;
  /* Adjust icon size */
  color: var(--ow-main-color);
}

.owlindex-floating-label {
  position: relative;
  width: 100%;
  margin-bottom: 1em;
}

.owlindex-floating-label input[type="text"],
.owlindex-floating-label textarea {
  width: 100%;
  padding: 16px 12px 10px;
  border: 2px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  outline: none;
  background-color: #fff;
  color: #121212;
}

.owlindex-floating-label input:focus,
.owlindex-floating-label textarea:focus {
  border-color: #1e9bde;
  box-shadow: 0 0 5px rgba(0, 86, 179, 0.2);
}

.owlindex-floating-label label {
  position: absolute;
  top: -10px;
  left: 12px;
  font-size: 1rem;
  color: #000000;
  background-color: #fff;
  padding: 0 2px;
  transition: color 0.3s ease, font-weight 0.3s ease;
  pointer-events: none;
}

.owlindex-floating-label input:focus+label,
.owlindex-floating-label textarea:focus+label {
  color: #1e9bde;
  font-weight: bold;
}

.owlindex-floating-label input[type="text"]::placeholder,
.owlindex-floating-label textarea::placeholder {
  color: transparent;
}

@media (max-width: 480px) {

  .owlindex-floating-label input[type="text"],
  .owlindex-floating-label textarea {
    padding: 14px 10px 8px;
    font-size: 0.9rem;
  }

  .owlindex-floating-label label {
    font-size: 0.8rem;
  }
}

.owlindex-btn-primary,
.owlindex-btn-secondary {
  padding: 10px 20px;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.owlindex-btn-primary {
  background-color: #0069d9;
  color: white;
}

.owlindex-btn-primary:hover {
  background-color: #0056b3;
}

.owlindex-btn-secondary {
  background-color: #6c757d;
  color: white;
}

.owlindex-btn-secondary:hover {
  background-color: #5a6268;
}

.owlindex-size-toggle {
  margin-top: 20px;
}

.owlindex-size-btn {
  padding: 8px 16px;
  border-radius: 5px;
  border: none;
  margin: 5px;
  cursor: pointer;
  background-color: #007bff;
  color: white;
  transition: background-color 0.3s ease;
}

.owlindex-size-btn:hover {
  background-color: #0056b3;
}

/* Common button styles */
.owlindex-button {
  padding: 6px 12px;
  border-radius: 5px;
  border: none;
  color: white;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  /* Ensure consistent font size across buttons */
  height: 40px;
  /* Ensure consistent height across buttons */
}

/* Specific styles for close button */
.owlindex-close-btn {
  background-color: #308080;
  width: 40px;
  /* Ensure width matches height to be square */
  padding: 0;
  /* Remove extra padding */
}

.owlindex-close-btn:hover,
.owlindex-close-btn:focus {
  background-color: #e9ecef;
}

/* Specific styles for the backdrop button */
.owlindex-toggle-overlay-btn {
  margin-left: 10px;
  background-color: #17a2b8;
  font-size: 16px;
  /* Ensure font size matches close button */
}

.owlindex-toggle-overlay-btn:hover {
  background-color: #138496;
}

.no-scroll {
  overflow: hidden;
}

/* Base Modal Styles */
.owlindex-modal {
  display: none;
  position: fixed;
  z-index: 1050;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.7);
  align-items: center;
  justify-content: center;
}

.owlindex-modal-dialog {
  position: relative;
  width: auto;
  margin: auto;
  border-radius: 8px;
  width: 100%;
  max-width: none;
  /* Ensure the max-width limitations are lifted */
}

.owlindex-modal-content {
  border: none;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  background-color: #fff;
  border-radius: 8px;
}

/* Header & Footer Styles */
.owlindex-modal-header,
.owlindex-modal-footer {
  padding: 10px;
  background-color: #f7f7f9;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #dee2e6;
}

.owlindex-modal-header {
  border-radius: 8px 8px 0 0;
}

.owlindex-modal-header .title-container {
  display: flex;
  align-items: center;
}

.owlindex-modal-header .title-container i {
  margin-right: 10px;
  color: #308080;
}

.owlindex-modal-title {
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0;
  flex-grow: 1;
}

/* Button container in header */
.owlindex-modal-header-buttons {
  display: flex;
  gap: 10px;
}

.owlindex-modal-footer {
  border-radius: 0 0 8px 8px;
  border-top: 1px solid #dee2e6;
}

/* Modal Body */
.owlindex-modal-body {
  padding: 15px;
  background-color: #fff;
  max-height: 70vh;
  /* Adjust as needed */
  overflow-y: auto;
}

/* Responsive Width Classes */
.owlindex-modal-sm {
  max-width: 300px;
}

.owlindex-modal-md {
  max-width: 500px;
}

.owlindex-modal-lg {
  max-width: 800px;
}

.owlindex-modal-xl {
  max-width: 1140px;
}

.owlindex-modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}

.modal-fullscreen .owlindex-modal-content {
  border: 0;
  border-radius: 0;
}

.modal-fullscreen .owlindex-modal-footer,
.modal-fullscreen .owlindex-modal-header {
  border-radius: 0;
}

.modal-fullscreen .owlindex-modal-body {
  overflow-y: auto;
  height: 100%;
}

.no-scroll {
  overflow: hidden;
}

@media (max-width: 576px) {
  .owlindex-modal-dialog {
    margin: 10px;
    max-width: 90%;
  }
}

.owlindex-comment-widget {
  width: 100%;
  background-color: #fff;
  padding: 5px 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.owlindex-comment-widget .owlindex-comment-section {
  margin: 1px auto;
  background-color: #ffffff;
  border-radius: 8px;
  padding: 15px;
  box-sizing: border-box;
}

.owlindex-comment-widget .owlindex-comment-section h3 {
  text-align: center;
  color: #121212;
  font-size: 1.2em;
  margin-bottom: 10px;
}

.owlindex-comment-widget .owlindex-comment {
  display: flex;
  flex-direction: row;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}

.owlindex-comment-widget .owlindex-comment-profile-pic.free {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
  border: 2px solid #ccc;
  object-fit: cover;
  flex-shrink: 0;
}

.owlindex-comment-widget .owlindex-comment-profile-pic.premium {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
  border: 2px solid gold;
  object-fit: cover;
  flex-shrink: 0;
}

.owlindex-comment-widget .owlindex-comment-content {
  flex: 1;
}

.owlindex-comment-widget .owlindex-comment-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.owlindex-comment-widget .owlindex-comment-header .owlindex-interaction-group {
  flex: 1;
}

.owlindex-comment-widget .owlindex-comment-name {
  font-weight: bold;
  color: var(--ow-link-color);
  font-size: 0.9em;
  flex: 1
}


.owlindex-comment-widget .owlindex-comment-timestamp {
  font-style: italic;
  color: #888;
  margin-left: 5px;
  margin-right: 5px;
  font-size: 0.8em;
  width: 100px
}

.owlindex-comment-widget .owlindex-comment-text {
  border: 1px solid var(--ow-main-color);
  padding: 6px;
  border-radius: 6px;
  margin: 4px 0;
  font-size: 0.9em;
  word-wrap: break-word;
}

.owlindex-comment-widget .owlindex-comment-actions {
  display: flex;
  /* Use flexbox to lay out the buttons in a row */
  align-items: center;
  /* Center align the buttons vertically */
}

.owlindex-comment-widget .owlindex-comment-actions .owlindex-action-button {
  background: none;
  border: none;
  color: #0066cc;
  cursor: pointer;
  transition: color 0.2s;
  font-size: 14px;
  line-height: 1;
  display: flex;
  /* Use inline-flex for alignment */
  align-items: center;
  /* Center align the items vertically */
}

.owlindex-comment-widget .owlindex-comment-actions .owlindex-action-button i {
  display: flex;
  margin-right: 3px;
}

.owlindex-comment-widget .owlindex-comment-actions .owlindex-action-button:hover {
  color: #004c99;
}

.owlindex-comment-widget .owlindex-primary-button.owlindex-comment-button {
  background-color: #1e9bde;
  color: #fff;
  border: none;
  padding: 10px 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  margin-left: 5px;
}

.owlindex-comment-widget .owlindex-primary-button.owlindex-comment-button:hover {
  background-color: #3399CC;
  transform: translateY(-2px);
}

.owlindex-comment-widget .owlindex-comment-replies {
  margin-top: 8px;
  padding-left: 20px;
}

.owlindex-comment-widget .owlindex-comment-reply {
  display: flex;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}

.owlindex-comment-widget .owlindex-comment-reply .owlindex-comment-content {
  background-color: #eef5f9;
  border-radius: 8px;
  padding: 2px
}

.owlindex-comment-widget .owlindex-comment-reply-input-wrapper {
  margin-top: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}

.owlindex-comment-widget .owlindex-comment-reply-input {
  flex: 1;
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 0.85em;
  resize: vertical;
  box-sizing: border-box;
  overflow: hidden;
  /* Hide the scroll bar */
}

.owlindex-comment-widget .owlindex-comment-add {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
}

.owlindex-comment-widget .owlindex-comment-add textarea {
  flex: 1;
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 0.95em;
  resize: vertical;
  box-sizing: border-box;
  overflow: hidden;
  /* Hide the scroll bar */
}

.owlindex-comment-widget .owlindex-comment-add textarea:focus {
  border: 2px solid var(--ow-main-color);
}

.owlindex-comment-widget .owlindex-load-more {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-bottom: 4px;
  margin-top: 8px;
}

@media (max-width: 600px) {

  .owlindex-comment-widget .owlindex-comment-content,
  .owlindex-comment-widget .owlindex-comment-add textarea {
    width: 100%;
  }

  .owlindex-comment-widget .owlindex-comment,
  .owlindex-comment-widget .owlindex-comment-reply {
    flex-direction: column;
    align-items: flex-start;
  }

  .owlindex-comment-widget .owlindex-comment-profile-pic {
    margin-right: 0;
    margin-bottom: 8px;
  }

  .owlindex-comment-widget .owlindex-comment-header {
    flex-direction: row;
    align-items: flex-start;
  }

  .owlindex-comment-widget .owlindex-comment-timestamp {
    margin-left: 0;
  }

  .owlindex-comment-widget .owlindex-comment-reply-input-wrapper {
    flex-direction: column;
  }
}

.owlindex-comment-widget .owlindex-comment-actions .owlindex-reaction-container {
  display: inline-flex;
  /* Use inline-flex for alignment */
  align-items: center;
  /* Center align the items vertically */
}

.owlindex-comment-widget .owlindex-comment-actions .owlindex-reaction-container .owlindex-dropup-content {
  display: none;
  position: absolute;
  bottom: 100%;
}

.owlindex-comment-widget .owlindex-comment-actions .owlindex-reaction-container:hover .owlindex-dropup-content {
  display: flex;
}

.owlindex-link {
  background-color: transparent;
  border: none;
  color: var(--ow-link-color);
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.9rem;

}

.owlindex-btn {
  font-size: inherit;
  line-height: inherit;
  border-radius: 0;
}

.owlindex-primary {
  color: var(--ow-link-color);
  /* Adjust the color to match your primary theme color */
}

.owlindex-link:hover,
.owlindex-link:focus {
  color: var(--ow-link-hover-color);
  /* Darken the color on hover/focus */
  text-decoration: underline;
}

.owlindex-link:disabled {
  color: #6c757d;
  /* Disabled state color */
  cursor: not-allowed;
  text-decoration: none;
}

.owlindex-scroll-handler {
  max-height: 500px;
  overflow-y: scroll;
  padding: 10px;
  scrollbar-width: thin;
  /* For Firefox support */
  scrollbar-color: var(--ow-main-color) #dfe4ea;
  /* Thumb and track colors */
  -ms-overflow-style: none;
  /* Edge */
}

/* Hide scrollbar for IE, Edge */
.owlindex-scroll-handler::-ms-overflow-style {
  display: none;
}

/* WebKit Browsers (Chrome, Safari) */
.owlindex-scroll-handler::-webkit-scrollbar {
  width: 10px;
}

.owlindex-scroll-handler::-webkit-scrollbar-track {
  background: #dfe4ea;
  border-radius: 10px;
}

.owlindex-scroll-handler::-webkit-scrollbar-thumb {
  background-color: var(--ow-main-color);
  border-radius: 10px;
  border: 2px solid #dfe4ea;
  transition: background-color 0.3s ease, border 0.3s ease;
}

.owlindex-scroll-handler::-webkit-scrollbar-thumb:hover {
  background-color: var(--ow-main-hover-color);
  border: 2px solid #b2bec3;
}

/* Icon-Only Follow/Following Button */
.owlindex-following-faded-button {
  background: none;
  /* No background */
  color: #1e9bde;
  /* Icon color */
  border: none;
  /* No border */
  padding: 0;
  /* Remove padding */
  cursor: pointer;
  font-size: 14px;
  /* Slightly larger font for clarity */
  font-weight: 600;
  display: flex;
  /* Align icon and text */
  align-items: center;
  gap: 6px;
  /* Space between icon and text */
  transition: color 0.3s ease, transform 0.2s ease;
}

/* Optional: Adjust hover effect */
.owlindex-following-faded-button:hover {
  color: #005a8c;
  /* Slightly darker blue on hover */
  transform: translateY(-1px);
  /* Small lift effect */
}

/* Primary Button (Adjusted for Consistency) */
.owlindex-follow-button {
  background-color: #1e9bde;
  color: #fff;
  border: none;
  padding: 4px 8px;
  /* Match padding with outlined button */
  border-radius: 6px;
  /* Match border-radius with outlined button */
  cursor: pointer;
  font-size: 12px;
  /* Match font size with outlined button */
  font-weight: 600;
  line-height: 12px;
  /* Match line-height with outlined button */
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  /* Match shadow with outlined button */
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  gap: 4px;
  /* Match gap with outlined button */
  width: 100px;
  /* Fixed width to match outlined button */
  height: 24px;
  /* Fixed height to match outlined button */
}

.owlindex-follow-button:hover {
  background-color: #3399CC;
  transform: translateY(-1px);
  /* Match hover lift with outlined button */
}

.owlindex-svg-icon-posts {
  width: 16px;
  /* Adjust size */
  height: 16px;
  /* Adjust size */
  vertical-align: middle;
  /* Aligns the icon properly with the text */
}

.owlindex-svg-icon {
  width: 20px;
  /* Adjust size */
  height: 20px;
  /* Adjust size */
  vertical-align: middle;
  /* Aligns the icon properly with the text */
}

.owlindex-floating-wrapper {
  position: fixed;
  bottom: 90px;
  right: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 9999;
}

.owlindex-floating-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.owlindex-floating-button {
  background-color: var(--ow-main-color);
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.owlindex-floating-button img {
  width: 36px;
  height: 36px;
  border-radius: 8px;
}

.owlindex-floating-button:hover {
  background-color: var(--ow-main-hover-color);
  transform: scale(1.1);
  box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.35);
}

.owlindex-floating-sub-buttons {
  position: absolute;
  bottom: 50px;
  right: 3px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  transform: translateY(10px);
  pointer-events: none;
}

.owlindex-floating-container.active .owlindex-floating-sub-buttons,
.owlindex-floating-container:hover .owlindex-floating-sub-buttons {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.owlindex-floating-sub-button {
  width: 35px;
  height: 35px;
  background-color: white;
  color: var(--ow-main-color);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  font-size: 20px;
}

.owlindex-floating-sub-button:hover {
  transform: scale(1.15);
  box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.25);
}

@media (max-width: 768px) {
  .owlindex-floating-wrapper {
    right: 10px;
  }
}

/* base button (always flex so icon centers) */
#owlindexScrollTopBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 90px;
  left: 20px;
  z-index: 1399;
  cursor: pointer;
  background: linear-gradient(180deg, var(--owl-nav-grad-start) 0%, var(--owl-nav-grad-mid) 60%, var(--owl-nav-grad-end) 100%);
  backdrop-filter: blur(20px) saturate(180%) contrast(125%) brightness(0.95);
  -webkit-backdrop-filter: blur(20px) saturate(180%) contrast(125%) brightness(0.95);
  box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.05), 0 10px 32px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid var(--ow-main-color);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  transition: transform .18s ease, opacity .18s ease, visibility .18s;
  font-size: 16px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
  /* start hidden but preserve layout (no display toggles) */
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
}

/* visible state toggled by JS */
#owlindexScrollTopBtn.show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* icon styling: block to avoid inline spacing issues */
#owlindexScrollTopBtn i {
  display: flex;
  line-height: 1;
  font-size: 16px;
  color: var(--ow-main-color);
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

/* hover/active */
#owlindexScrollTopBtn:hover {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: var(--ow-main-color);
  transform: translateY(0) scale(1.08);
}

/* small screens */
@media (max-width: 768px) {
  #owlindexScrollTopBtn {
    left: 10px;
    bottom: 90px;
  }
}

/* optional: ensure no horizontal overflow shifts page */

/* Container */
.owlindex-subscription-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}

/* Header */
.owlindex-subscription-header {
  text-align: center;
  padding: 2rem 0.5rem 1rem;
}

/**************************************************************************
     * PLAN CARDS (Light Mode)
     **************************************************************************/

.owlindex-subscription-plan-card {
  background: #fff;
  border: 2px solid #ccc;
  /* Base border color */
  border-radius: 8px;
  padding: 1.5rem;
  transition: all 0.3s ease;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  color: #000;
}

.owlindex-subscription-plan-card:hover {
  border-color: #ffd700;
  cursor: pointer;
}

/* Selected plan => gold border */
.owlindex-subscription-plan-card.selected {
  border-color: #ffd700;
}

.owlindex-subscription-plan-title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.owlindex-subscription-price {
  font-size: 1.75rem;
  font-weight: bold;
  margin: 0;
}

.owlindex-subscription-price small {
  font-size: 0.875rem;
  color: #555;
}

.owlindex-subscription-plan-features {
  list-style: none;
  padding-left: 0;
  font-size: 0.9rem;
  color: #444;
  margin-top: 1rem;
  flex-grow: 1;
}

.owlindex-subscription-plan-features li {
  margin-bottom: 0.5rem;
}

/* Tab content / nav pills (Light Mode) */
.owlindex-subscription-tab-content {
  margin-top: 1.5rem;
}

.owlindex-subscription-nav-pills .owlindex-subscription-nav-link {
  border-radius: 9999px;
  margin: 0 5px;
  color: #000;
  background-color: #ddd;
  border: none;
}

.owlindex-subscription-nav-pills .owlindex-subscription-nav-link:hover {
  background-color: #ccc;
  color: #000;
}

.owlindex-subscription-nav-pills .owlindex-subscription-nav-link.active {
  background-color: #ffd700;
  color: #000;
}

/* Footer Container */
.owlindex-subscription-footer {
  margin-top: 1rem;
  padding: 1.2rem;
  background: #fff;
  border-radius: 8px;
  border: 2px solid #ccc;
  display: flex;
  align-items: center;
  /* Align items vertically in row */
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  /* Wrap on smaller screens */
}

/* Selected Plan */
.selected-plan {
  font-weight: bold;
  font-size: 1.1rem;
  color: #000;
  margin: 0;
}

/* Promo Field */
.promo-field-container {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-bottom: 0.5rem;
}

.promo-label {
  font-weight: 600;
  margin-bottom: 0.4rem;
  color: #333;
  font-size: 0.95rem;
}

.promo-input {
  padding: 0.6rem 0.9rem;
  border: 2px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.promo-input:focus {
  border-color: #1e9bde;
  box-shadow: 0 0 4px rgba(30, 155, 222, 0.3);
}

/* Subscribe Button */
.owlindex-subscribe-btn {
  background-color: #ffd700;
  color: #000;
  font-weight: bold;
  padding: 0.9rem 2rem;
  border-radius: 8px;
  border: none;
  outline: none;
  transition: background-color 0.2s ease;
  white-space: nowrap;
  /* Prevent text wrapping */
}

.owlindex-subscribe-btn:hover {
  background-color: #ffc700;
  cursor: pointer;
}

/* Mobile optimization */
@media (max-width: 600px) {
  .owlindex-subscription-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .promo-field-container {
    max-width: 100%;
  }

  .owlindex-subscribe-btn {
    width: 100%;
    text-align: center;
  }
}

/* Comparison table (Light Mode) */
.owlindex-subscription-comparison-table {
  width: 100%;
  margin-top: 2rem;
  border-collapse: separate;
  border-spacing: 0;
  border: 2px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  color: #000;
}

.owlindex-subscription-comparison-table thead {
  background: linear-gradient(to right, #eaeaea, #d5d5d5);
}

.owlindex-subscription-comparison-table thead th {
  color: #000;
  font-weight: bold;
  padding: 1rem;
  text-align: center;
  border-bottom: 2px solid #ccc;
}

.owlindex-subscription-comparison-table th,
.owlindex-subscription-comparison-table td {
  text-align: center;
  padding: 1rem;
}

.owlindex-subscription-comparison-table tbody tr {
  transition: background-color 0.3s ease;
}

.owlindex-subscription-comparison-table tbody tr:nth-child(odd) {
  background-color: #fafafa;
}

.owlindex-subscription-comparison-table tbody tr:nth-child(even) {
  background-color: #f2f2f2;
}

.owlindex-subscription-comparison-table tbody tr:hover {
  background-color: #e9e9e9;
}

.owlindex-subscription-comparison-table td {
  border-bottom: 1px solid #ccc;
  color: #121212;
}

@media (max-width: 576px) {
  .row-cols-md-3 {
    row-gap: 1.5rem;
  }

  .owlindex-subscription-plan-card {
    margin-bottom: 1rem;
  }
}

/*=========================================================
      DARK THEME OVERRIDES
    =========================================================*/
.dark-theme .owlindex-subscription-plan-card {
  background: #1c1c1e;
  color: #fff;
}

.dark-theme .owlindex-subscription-plan-card:hover {
  border-color: #ffd700;
}

.dark-theme .owlindex-subscription-plan-title {
  color: #fff;
}

.dark-theme .owlindex-subscription-price {
  color: #fff;
}

.dark-theme .owlindex-subscription-price small {
  color: #aaa;
}

.dark-theme .owlindex-subscription-plan-features {
  color: #ccc;
}

.dark-theme .owlindex-subscription-nav-pills .owlindex-subscription-nav-link {
  color: #fff;
  background-color: #555;
}

.dark-theme .owlindex-subscription-nav-pills .owlindex-subscription-nav-link:hover {
  background-color: #666;
}

.dark-theme .owlindex-subscription-nav-pills .owlindex-subscription-nav-link.active {
  background-color: #ffd700;
  color: #000;
}

.dark-theme .owlindex-subscription-footer {
  background: #1c1c1e;
  border-color: #121212;
  color: #fff;
}

.dark-theme .owlindex-subscription-header {
  color: #fff;
}

.dark-theme .owlindex-subscription-comparison-table {
  border-color: #555;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.05);
  background-color: #1c1c1e;
  color: #fff;
}

.dark-theme .owlindex-subscription-comparison-table thead {
  background: linear-gradient(to right, #444, #666);
}

.dark-theme .owlindex-subscription-comparison-table thead th {
  color: #fff;
  border-bottom: 2px solid #555;
}

.dark-theme .owlindex-subscription-comparison-table tbody tr:nth-child(odd) {
  background-color: #111;
}

.dark-theme .owlindex-subscription-comparison-table tbody tr:nth-child(even) {
  background-color: #1a1a1a;
}

.dark-theme .owlindex-subscription-comparison-table tbody tr:hover {
  background-color: #222;
}

.dark-theme .owlindex-subscription-comparison-table td {
  border-bottom: 1px solid #444;
  color: #ccc;
}

body.light-theme {
  background-color: #f3eded;
}

/* Dark Theme Styles */
body.dark-theme {
  background-color: #121212;
}

.dark-theme .owlindex-floating-sub-button {
  background-color: #121212;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-card {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-card-header {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
}

.dark-there .conversation-area {
  border-right: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .chat-area-header {
  background-color: #121212;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-card-title {
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-interactions {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-card-footer {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-card-footer button {
  color: #999
}

.dark-theme .owlindex-card-footer a {
  color: #999
}

.dark-theme .owlindex-card-footer button:hover {
  color: var(--ow-main-color)
}

.dark-theme .owlindex-card-footer a:hover {
  color: var(--ow-main-color)
}

.dark-theme .owlindex-card-footer-services {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-card-footer-services button {
  color: #999
}

.dark-theme .owlindex-card-footer-services a {
  color: #999
}

.dark-theme .owlindex-card-footer-services button:hover {
  color: var(--ow-main-color)
}

.dark-theme .owlindex-card-footer-services a:hover {
  color: var(--ow-main-color)
}

.dark-theme .owlindex-h-index {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-profile-profile-section {
  background-color: #121212;
  /* dark background */
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-profile-stat-value {
  color: #fff;
  /* light text color on dark bg */
}

.dark-theme .owlindex-profile-menu-section {
  background-color: #121212;
  /* dark background */
  color: #fff;
}

.dark-theme .owlindex-profile-sidebar {
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-postbox-container {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme hr {
  color: #fff;
}

.dark-theme .owlindex-sidebar-menu-section {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .card {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .modal-body .form-control,
.dark-theme .modal-header .form-control,
.dark-theme .modal-footer .form-control {
  color: #fff;
  background-color: #121212;
}


.dark-theme .dropdown-menu {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .dropdown-item {
  color: #fff;
}

.dark-theme table {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .dropdown-item:hover {
  color: #121212;
}

.dark-theme .dropdown-menu input {
  background-color: #fff;
  color: #fff
}

.dark-theme .card input {
  background-color: #121212;
}

.dark-theme label {
  color: #fff;
}

.dark-theme h2 {
  color: #fff;
}

.dark-theme .form-control {
  background-color: #121212;
  color: #fff;
}

.dark-theme .owlindex-floating-label input[type="text"] {
  background-color: #121212;
  color: #fff;
}

.dark-theme .form-select {
  background-color: #121212;
  color: #fff;
}

.dark-theme .accordion-button {
  background-color: #121212;
  color: #fff;
}

.dark-theme .accordion-body {
  background-color: #121212;
  color: #fff;
}

.dark-theme .chosen-container,
.chosen-select {
  background-color: #121212;
  color: #fff;
}

.dark-theme .owlindex-sidebar-menu-header {
  color: #fff;
}

.dark-theme .owlindex-pages-homepage-page-container {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-pages-homepage-page-container-none {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-pages-homepage-title {
  color: #fff;
}

.dark-theme .btn-outline-dark {
  --bs-btn-border-color: #fff;
  --bs-btn-color: #fff;
}

.dark-theme .owlindex-pages-homepage-card {
  background-color: #121212;
  /* dark background */
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .owlindex-username,
.owlindex-status,
.owlindex-time {
  color: #fff
}

.dark-theme .card-footer {
  background-color: #121212;
}

.dark-theme #toggleSidebar {
  color: #fff
}

.dark-theme .btn-outline-dark.dropdown-toggle {
  color: #121212
}

.dark-theme .btn-outline-dark.dropdown-toggle:hover {
  color: #fff
}

.dark-theme .btn-outline-dark.cover-profile-edit {
  color: #121212
}

.dark-theme .btn-outline-dark.cover-profile-edit:hover {
  color: #fff
}

.dark-theme .btn-outline-dark.follow-button-business {
  color: #121212
}

.dark-theme .btn-outline-dark.follow-button-business:hover {
  color: #fff
}

.dark-theme .btn-outline-dark.follow-button {
  color: #121212
}

.dark-theme .btn-outline-dark.follow-button:hover {
  color: #fff
}

.dark-theme .btn-outline-dark.connect-button {
  color: #121212
}

.dark-theme .btn-outline-dark.connect-button:hover {
  color: #fff
}

.dark-theme .btn-outline-dark.message-button-business {
  color: #121212
}

.dark-theme .btn-outline-dark.message-button-business:hover {
  color: #fff
}

.dark-theme .btn-outline-dark.message-button {
  color: #121212
}

.dark-theme .btn-outline-dark.message-button:hover {
  color: #fff
}

.dark-theme .chat-msg-text {
  background-color: #333;
}

.dark-theme a:hover {
  color: #999;
}

.dark-theme .form-check-input[type=radio] {
  border: 1px solid #fff
}

.dark-theme .form-check-input:checked[type=checkbox] {
  background-color: #222;
  /* Even darker background when checked */
  border-color: #888;
  /* Lighter border */
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.dark-theme .owlindex-comment-section {
  background-color: #121212;
  color: #fff;
}

.dark-theme .owlindex-main-text {
  color: #fff
}

.dark-theme .owlindex-card-icon-header {
  color: #fff
}

.dark-theme .modal input {
  background-color: #121212;
  color: #fff
}

.dark-theme .modal textarea {
  background-color: #121212;
  color: #fff
}

.dark-theme .modal .card {
  background-color: #121212;
  color: #fff;
  border: 1px solid #121212;
}

.dark-theme .modal .btn-outline-dark {
  background-color: #fff;
  color: #121212
}

.dark-theme .modal .form-select {
  background-color: #121212;
  color: #fff
}

.dark-theme .modal .form-check-input[type=radio] {
  border: 1px solid #fff;
  background-color: #121212;
}

.dark-theme .modal .form-check-input[type=checkbox] {
  border: 1px solid #fff;
  background-color: #121212;
}

.dark-theme .owlindex-floating-label label {
  background-color: #121212;
  color: #fff
}

.dark-theme .modal {
  background-color: rgba(91, 112, 131, 0.5);

}

.dark-theme .modal-content {
  background-color: #121212;
  color: #ffffff
}

.dark-theme .owlindex-copy-right {
  color: #fff
}

.dark-theme h1,
.dark-theme h2,
.dark-theme h3,
.dark-theme h4,
.dark-theme h5,
.dark-theme h6 {
  color: #ffffff;
}

.dark-theme .owlindex-comment-widget .owlindex-comment-reply .owlindex-comment-content {
  background-color: #121212;
}

.dark-theme .owlindex-checkout-left-section {
  background-color: #121212;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.dark-theme .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #121212;
}

/* General active link styling */
.nav-link.active {
  color: #ffffff;
  /* White text for contrast */
  font-weight: bold;
  border-radius: 5px;
}

/* Sidebar menu specific active styling */
.owlindex-sidebar-menu-section .nav-link.active {
  background-color: #1e9bde;
  /* Darker blue for sidebar */
  padding: 10px;
  border-left: 4px solid #ffc107;
  /* Highlight with a yellow left border */
}

/* Ensure icons inside active links also get styled */
.owlindex-sidebar-menu-section .nav-link.active i {
  color: #ffc107;
  /* Yellow color for icons in active state */
}

.owlindex-intro-highlight {
  position: absolute;
  border: 3px solid #ffd700;
  border-radius: 8px;
  box-shadow: 0 0 15px rgba(255, 87, 34, 0.7);
  background: rgba(255, 87, 34, 0.1);
  z-index: 1000;
  pointer-events: none;
  transition: all 0.2s ease-in-out;
}

.owlindex-tooltip {
  position: absolute;
  background: #ffffff;
  border-radius: 10px;
  padding: 15px 20px;
  font-size: 16px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
  z-index: 1001;
  transition: all 0.2s ease-in-out;
  max-width: 280px;
  border-left: 4px solid #ffd700;
  color: #121212;
}

.dark-theme .owlindex-tooltip {
  background: #121212;
  color: #fff;
}

.owlindex-intro-next-btn {
  margin: 10px 0;
  padding: 8px 16px;
  background: var(--ow-main-color);
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: .3s;
  font-weight: bold;
  font-size: 14px;
}

.owlindex-intro-next-btn:hover {
  background: #0056b3;
}

/* Separator with Theme Support */
.owlindex-separator {
  display: flex;
  align-items: center;
  text-align: center;
  width: 100%;
  color: #121212;
  font-weight: bold;
  padding-bottom: 10px;
  padding-top: 10px;
}

.owlindex-separator::before,
.owlindex-separator::after {
  content: "";
  flex: 1;
  border-bottom: 1px solid #121212;
  margin: 0 10px;
}

.dark-theme .owlindex-separator {
  color: #fff;
}

.dark-theme .owlindex-separator::before {
  border-bottom: 1px solid #fff;
}

.dark-theme .owlindex-separator::after {
  border-bottom: 1px solid #fff;
}

/* Container for buttons */
.owlindex-modern-btn.button-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

/* Base button styles */
.owlindex-modern-btn.modern-button,
.owlindex-modern-btn.modern-button-outline {
  text-decoration: none;
  display: inline-block;
  width: 100%;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
  border: 2px solid;
  background-color: transparent;
  /* Ensure buttons with outline have transparent background */
}

/* Grid layout for button content to align icon and text perfectly */
.owlindex-modern-btn .btn-content {
  display: grid;
  grid-template-columns: var(--icon-width) auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

/* Icon container */
.owlindex-modern-btn .btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-width);
}

/* Support both icon fonts and PNG images */
.owlindex-modern-btn .btn-icon i,
.owlindex-modern-btn .btn-icon img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* Text container */
.owlindex-modern-btn .btn-text {
  text-align: left;
}

/* Solid main button */
.owlindex-modern-btn.modern-button {
  background: var(--ow-main-color);
  color: var(--text-color);
  border-color: var(--ow-main-border-color);
}

.owlindex-modern-btn.modern-button:hover {
  background: var(--ow-main-hover-color);
  transform: translateY(-1px);
}

.owlindex-modern-btn.modern-button:disabled {
  background: var(--ow-disabled-color);
  transform: translateY(-1px);
  cursor: not-allowed;
  opacity: 0.8;
  pointer-events: none;
}

/* Outline main button */
.owlindex-modern-btn.modern-button-outline {
  color: var(--ow-main-color);
  border-color: var(--ow-main-color);
}

.owlindex-modern-btn.modern-button-outline:hover {
  background: var(--ow-main-color);
  color: var(--text-color);
  transform: translateY(-1px);
}

/* Size classes (renamed to avoid Bootstrap conflicts) with fixed icon widths */
.owlindex-modern-btn.owl-btn-xs {
  padding: 6px 12px;
  font-size: 12px;
  --icon-width: 16px;
}

.owlindex-modern-btn.owl-btn-sm {
  padding: 8px 16px;
  font-size: 14px;
  --icon-width: 18px;
}

.owlindex-modern-btn.owl-btn-md {
  padding: 12px 24px;
  font-size: 16px;
  --icon-width: 20px;
}

.owlindex-modern-btn.owl-btn-lg {
  padding: 16px 32px;
  font-size: 18px;
  --icon-width: 22px;
}

.owlindex-modern-btn.owl-btn-xl {
  padding: 20px 40px;
  font-size: 20px;
  --icon-width: 24px;
}

/* Secondary Variant */
.owlindex-modern-btn.btn-secondary {
  background: var(--ow-secondary-color);
  border-color: var(--ow-secondary-color);
  color: var(--text-color);
}

.owlindex-modern-btn.btn-secondary:hover {
  background: var(--ow-secondary-hover);
  transform: translateY(-1px);
}

.owlindex-modern-btn.btn-secondary-outline {
  color: var(--ow-secondary-color);
  border-color: var(--ow-secondary-color);
}

.owlindex-modern-btn.btn-secondary-outline:hover {
  background: var(--ow-secondary-color);
  color: var(--text-color);
  transform: translateY(-1px);
}

/* Accent Variant */
.owlindex-modern-btn.btn-accent {
  background: var(--ow-accent-color);
  color: #000;
  border-color: var(--ow-accent-color);
}

.owlindex-modern-btn.btn-accent:hover {
  background: var(--ow-accent-hover);
  transform: translateY(-1px);
}

.owlindex-modern-btn.btn-accent-outline {
  color: var(--ow-accent-color);
  border-color: var(--ow-accent-color);
}

.owlindex-modern-btn.btn-accent-outline:hover {
  background: var(--ow-accent-color);
  color: #000;
  transform: translateY(-1px);
}

/* Dark Outline Variants */
.owlindex-modern-btn.btn-dark-outline-121212 {
  background-color: #fff;
  color: #121212;
  border-color: #121212;
}

.owlindex-modern-btn.btn-dark-outline-121212:hover {
  background: #121212;
  color: var(--text-color);
  transform: translateY(-1px);
}

.owlindex-modern-btn.btn-dark-outline-333 {
  color: #333;
  border-color: #333;
}

.owlindex-modern-btn.btn-dark-outline-333:hover {
  background: #333;
  color: var(--text-color);
  transform: translateY(-1px);
}

.dark-theme .owlindex-modern-btn.btn-dark-outline-121212:hover {
  border-color: #fff;
}

/* Solid Dark Variant */
.owlindex-modern-btn.btn-drk {
  background: #121212;
  color: var(--text-color);
  border-color: #121212;
}

.owlindex-modern-btn.btn-drk:hover {
  background: #333;
  border-color: #333;
  transform: translateY(-1px);
}

/* Container for the entire member list */
.owlindex-chat-member-list {
  width: 100%;
  max-width: 600px;
}

/* Each member row (listed underneath each other) */
.owlindex-chat-member-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #ddd;
}

.owlindex-chat-member-item:last-child {
  border-bottom: none;
}

/* Left side: user image and info */
.owlindex-chat-member-left {
  display: flex;
  align-items: center;
}

.owlindex-chat-member-image {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 10px;
}

.owlindex-chat-member-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.owlindex-chat-member-name {
  margin: 0;
  font-size: 16px;
  color: #333;
}

.dark-theme .owlindex-chat-member-name {
  margin: 0;
  font-size: 16px;
  color: #ffffff;
}

.owlindex-chat-member-headline {
  margin: 0;
  font-size: 12px;
  color: #777;
}

/* ---------- Carousel-specific classes (NEW) ---------- */
.owlindex-carousel-wrapper {
  display: block;
  /* this wrapper makes the carousel visible by default */
  position: relative;
  margin-bottom: .5rem;
}

/* Image wrapper: fixed height, relative positioning */
.owlindex-image-wrapper {
  position: relative;
  width: 100%;
  height: 300px;
  /* fixed slider height — adjust as needed */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f9fafb;
  /* fallback if no image */
}

.owlindex-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #fff;
  border: 0;
  padding: 6px;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2);
  cursor: pointer;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: #ef4444;
  font-weight: 700;
  z-index: 10;
}

/* ensure wrappers provide positioning context */
.owlindex-carousel-track {
  position: relative;
  overflow: hidden;
}

/* ensure slides are below controls by default */
.owlindex-carousel-slides {
  display: flex;
  transition: transform 360ms cubic-bezier(.22, .9, .35, 1);
  will-change: transform;
  z-index: 1;
}


/* carousel-slide sits around your original slide content; we will still keep original classes inside */
.owlindex-carousel-slide {
  min-width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  /* image on top, caption bottom */
  background: transparent;
}

/* we rely on existing image/content classes for look; these selectors are gentle and don't change your naming */
.owlindex-carousel-slide .owlindex-card-link-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* <-- KEY */
  object-position: center;
}

.owlindex-carousel-slide .owlindex-card-body {
  padding: 2px 15px;
  background: var(--card-bg);
}

.owlindex-carousel-slide .owlindex-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 3px;
}

.owlindex-carousel-slide .owlindex-card-description {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.45;
}

/* navigation (prev/next) */
.owlindex-carousel-nav {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.owlindex-carousel-prev,
.owlindex-carousel-next {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 44px;
  width: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(8, 10, 15, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.05);
  cursor: pointer;
  transition: transform .18s ease, background .12s ease;
  backdrop-filter: blur(4px);
}

.owlindex-carousel-prev:hover,
.owlindex-carousel-next:hover {
  transform: translateY(-50%) scale(1.04);
}

.owlindex-carousel-prev {
  left: 12px;
}

.owlindex-carousel-next {
  right: 12px;
}

/* dots + page count area */
/* injected controls (will be appended into .owlindex-image-wrapper) */
.owlindex-carousel-controls {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  pointer-events: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 10px;
  border-radius: 8px;
  backdrop-filter: blur(6px);
  background: rgba(255, 255, 255, 0.6);
}

/* inner dots container and dot styles */
.owlindex-carousel-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}

.owlindex-carousel-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #E6E9EF;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}

.owlindex-carousel-dot.is-active {
  background: var(--ow-main-color);
  transform: scale(1.18);
}

.owlindex-carousel-page {
  font-size: 13px;
  color: var(--muted);
}

/* Extra Large Screens */
@media (max-width:1200px) {
  .owlindex-image-wrapper {
    height: 280px;
  }
}

/* Desktop / Laptop */
@media (max-width:992px) {
  .owlindex-image-wrapper {
    height: 250px;
  }
}

/* Large Tablets */
@media (max-width:768px) {
  .owlindex-image-wrapper {
    height: 220px;
  }
}

/* Small Tablets / Large Phones */
@media (max-width:576px) {
  .owlindex-image-wrapper {
    height: 200px;
  }
}

/* Small Phones */
@media (max-width:420px) {
  .owlindex-image-wrapper {
    height: 160px;
  }
}

/* Extra small phones (very narrow) */
@media (max-width:360px) {
  .owlindex-image-wrapper {
    height: 140px;
  }
}

/* accessibility focus */
.owlindex-carousel-prev:focus,
.owlindex-carousel-next:focus,
.owlindex-close:focus,
.owlindex-carousel-dot:focus {
  outline: 3px solid rgba(0, 119, 181, 0.14);
  outline-offset: 2px;
  border-radius: 8px;
}

.dark-theme .owlindex-carousel-slide .owlindex-card-body {
  background: #121212;
  color: #fff;
}

.dark-theme .owlindex-carousel-slide .owlindex-card-title {
  color: #fff;
}

.dark-theme .owlindex-carousel-slide .owlindex-card-description {
  color: var(--dark-muted);
}

.dark-theme .owlindex-close {
  background: #121212;
}

.dark-theme .owlindex-image-wrapper {
  background: #121212;
}

.dark-theme .owlindex-carousel-controls {
  background-color: rgba(18, 18, 18, 0.6);
}

/* Make title clickable but look normal */
.owlindex-card-title-link {
  text-decoration: none;
  color: inherit;
  display: inline-block;
  cursor: pointer;
}

.owlindex-profile-stat-item.error {
  background-color: #ffe6e6;
  /* Light red background */
  color: #b30000;
  /* Dark red text */
  padding: 10px;
  border: 2px solid #b30000;
  border-radius: 8px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 5px;
}

.owlindex-profile-stat-item.error a {
  color: #b30000;
  text-decoration: underline;
  font-weight: bold;
}

.owlindex-profile-stat-item.error:hover {
  background-color: #ffd6d6;
  /* Slight hover effect */
}

.owlindex-invalid-icon {
  color: #b30000;
}

/* 🏷 Base Badge */
.owlindex-badge {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  gap: 6px;
  position: relative;
  overflow: hidden;
  cursor: default;
  color: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  animation: fadeInUp 0.6s ease forwards;
  opacity: 0;
}

/* Entrance Animation */
@keyframes fadeInUp {
  from {
    transform: translateY(10px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Hover Interaction */
.owlindex-badge::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: rgba(255, 255, 255, 0.08);
  transform: rotate(25deg);
  transition: transform 0.5s ease;
}

.owlindex-badge:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.owlindex-badge:hover::after {
  transform: translateX(100%) rotate(25deg);
}

/* Icon inside Badge */
.owlindex-badge i,
.owlindex-badge img {
  display: inline-block;
  vertical-align: middle;
  transition: transform 0.25s ease;
}

/* 🌸 Naturals / Elegant */
.owlindex-orchid {
  background: linear-gradient(135deg, #7b2cbf, #c77dff);
}

.owlindex-forest {
  background: linear-gradient(135deg, #2d6a4f, #95d5b2);
}

.owlindex-obsidian {
  background: linear-gradient(135deg, #212529, #495057);
}

.owlindex-mist {
  background: linear-gradient(135deg, #dee2e6, #f8f9fa);
  color: #212529;
}

/* 🌊 Aqua / Fresh */
.owlindex-lagoon {
  background: linear-gradient(135deg, #0077b6, #90e0ef);
}

.owlindex-ocean {
  background: linear-gradient(135deg, #023e8a, #48cae4);
}

.owlindex-river {
  background: linear-gradient(135deg, #0096c7, #caf0f8);
}

/* 🔥 Warm / Energetic */
.owlindex-ember {
  background: linear-gradient(135deg, #e85d04, #ffba08);
}

.owlindex-sunrise {
  background: linear-gradient(135deg, #ff9f1c, #ffd6a5);
  color: #212529;
}

.owlindex-crimson {
  background: linear-gradient(135deg, #d00000, #ff4d6d);
}

.owlindex-rose {
  background: linear-gradient(135deg, #ff4d6d, #ffb3c6);
}

.owlindex-gold {
  background: linear-gradient(135deg, #ffd700, #ffec99);
  color: #212529;
}

/* 🌌 Mystic / Bold */
.owlindex-amethyst {
  background: linear-gradient(135deg, #5a189a, #9d4edd);
}

.owlindex-sapphire {
  background: linear-gradient(135deg, #1e3a8a, #3b82f6);
}

.owlindex-emerald {
  background: linear-gradient(135deg, #065f46, #10b981);
}

.owlindex-coral {
  background: linear-gradient(135deg, #fb6f92, #ff8fab);
}

/* 🧩 New Semantic Variants (Support-specific) */

/* For warnings, SLA approaching */
.owlindex-amber {
  background: linear-gradient(135deg, #ffb703, #ffd166);
  color: #212529;
}

/* For "Info" or "In Progress" */
.owlindex-sky {
  background: linear-gradient(135deg, #38bdf8, #bae6fd);
  color: #071227;
}

/* For "Waiting on User" or "Paused" */
.owlindex-steel {
  background: linear-gradient(135deg, #64748b, #cbd5e1);
  color: #fff;
}

/* For "Closed" or "Archived" */
.owlindex-slate {
  background: linear-gradient(135deg, #334155, #64748b);
  color: #e2e8f0;
}

/* For "Internal Notes" or "Private" */
.owlindex-plum {
  background: linear-gradient(135deg, #6d28d9, #c084fc);
}

/* For "New / Created" */
.owlindex-leaf {
  background: linear-gradient(135deg, #22c55e, #a3e635);
  color: #071227;
}

/* For "Escalated / Critical" */
.owlindex-volcano {
  background: linear-gradient(135deg, #e11d48, #fb7185);
}

/* For "Pending SLA" */
.owlindex-amberglow {
  background: linear-gradient(135deg, #ff8800, #ffcc70);
  color: #212529;
}

/* 🏷 Badge Sizes with Icon Scaling */
.owlindex-badge-xs {
  font-size: 0.7rem;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  gap: 4px;
}

.owlindex-badge-xs i,
.owlindex-badge-xs img {
  transform: scale(0.7);
}

.owlindex-badge-sm {
  font-size: 0.8rem;
  padding: 0.35rem 0.75rem;
  border-radius: 7px;
  gap: 5px;
}

.owlindex-badge-sm i,
.owlindex-badge-sm img {
  transform: scale(0.8);
}

.owlindex-badge-md {
  font-size: 0.9rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  gap: 6px;
}

.owlindex-badge-md i,
.owlindex-badge-md img {
  transform: scale(1);
}

.owlindex-badge-lg {
  font-size: 1rem;
  padding: 0.6rem 1.25rem;
  border-radius: 10px;
  gap: 8px;
}

.owlindex-badge-lg i,
.owlindex-badge-lg img {
  transform: scale(1.1);
}

.owlindex-badge-xl {
  font-size: 1.1rem;
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  gap: 10px;
}

.owlindex-badge-xl i,
.owlindex-badge-xl img {
  transform: scale(1.2);
}

.owl-table-container {
  width: 100%;
  max-height: 800px;
  overflow: auto;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.owl-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Segoe UI", sans-serif;
  font-size: 14px;
  min-width: 800px;
  background-color: #fff;
  color: #212529;
}

/* ---------- HEADERS ---------- */
.owl-table thead {
  background-color: #f8f9fa;
}

.owl-table thead th {
  background-color: #f8f9fa;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  position: sticky;
  top: 0;
  z-index: 10;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 1px solid #dee2e6;
  color: #495057;
}

/* ---------- BODY ---------- */
.owl-table tbody td {
  padding: 10px 16px;
  border-bottom: 1px solid #f1f1f1;
  vertical-align: middle;
}

.owl-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.owl-table tbody tr:hover {
  background-color: #f0f8ff;
  transition: background-color 0.15s ease-in-out;
}

/* ---------- ICONS / HANDLE ---------- */
.owl-table .drag-handle {
  cursor: grab;
  font-size: 16px;
  color: #888;
}

/* ---------- RESPONSIVENESS ---------- */
@media (max-width: 768px) {
  .owl-table {
    font-size: 13px;
  }

  .owl-table thead th,
  .owl-table tbody td {
    padding: 8px 10px;
  }
}

/* ---------- DARK THEME SUPPORT ---------- */
.dark-theme .owl-table {
  background-color: #1f1f1f;
  color: #e2e2e2;
}

.dark-theme .owl-table thead {
  background-color: #2a2a2a;
}

.dark-theme .owl-table thead th {
  color: #ccc;
  background-color: #2a2a2a;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  border-bottom: 1px solid #3a3a3a;
}

.dark-theme .owl-table tbody tr:nth-child(even) {
  background-color: #2a2a2a;
}

.dark-theme .owl-table tbody tr:hover {
  background-color: #333;
}

.dark-theme .owl-table tbody td {
  border-bottom: 1px solid #333;
}

.dark-theme .drag-handle {
  color: #888;
}


.drop-target {
  border-bottom: 3px solid #007bff;
}

.dragging {
  opacity: 0.5;
  background-color: #f8f9fa;
}

.drag-handle {
  cursor: grab;
  font-size: 1.25rem;
  text-align: center;
  user-select: none;
  width: 30px;
}

.drag-handle:active {
  cursor: grabbing;
}

/* ---------------------------
   Popup base using design tokens
   --------------------------- */
#profile-popup {
  position: absolute;
  z-index: 99999;
  display: none;
  pointer-events: auto;
  transition: opacity .18s ease, transform .18s ease;
}

#profile-popup .popup-card {
  --radius: 8px;
  background: var(--panel-bg-solid);
  color: var(--panel-text, var(--owl-text));
  border-radius: var(--radius);
  padding: 12px 14px;
  border: 1px solid var(--panel-border, rgba(255, 255, 255, 0.04));
  box-shadow: var(--owl-shadow, 0 10px 30px rgba(2, 6, 23, 0.12));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  width: max-content;
  max-width: 380px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  position: relative;
  animation: popupFadeIn .22s ease-out, popupSlideUp .22s ease-out;
}

/* close button */
#profile-popup .popup-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--panel-text);
  opacity: .85;
  cursor: pointer;
  transition: background .12s ease, transform .08s ease, opacity .12s ease;
}

#profile-popup .popup-close:hover {
  background: var(--owl-glass);
  transform: translateY(-1px);
  opacity: 1;
}

/* header / avatar */
#profile-popup .popup-profile-header {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}

#profile-popup .popup-avatar {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  object-fit: cover;
  background: var(--avatar-gradient);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

#profile-popup .popup-name {
  font-size: 1rem;
  margin: 0;
  font-weight: 700;
  color: var(--owl-text);
}

#profile-popup .popup-username {
  font-size: .82rem;
  margin: 2px 0 0;
  color: var(--owl-muted);
}

/* skills */
#profile-popup .popup-skill-row {
  margin-top: 6px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

#profile-popup .popup-skill {
  background: rgba(var(--owl-accent-rgb), 0.10);
  border: 1px solid var(--owl-border);
  color: var(--owl-accent);
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .72rem;
  transition: all .12s ease;
}

#profile-popup .popup-skill:hover {
  background: var(--owl-accent);
  color: #fff;
}

#profile-popup .popup-skill.muted {
  background: transparent;
  border: 1px dashed rgba(var(--owl-accent-rgb), 0.12);
  color: var(--owl-muted);
}

/* bio */
#profile-popup .popup-profile-bio {
  margin: 8px 0 10px;
  color: var(--panel-text);
  font-size: .88rem;
  line-height: 1.35;
}

/* meta */
#profile-popup .popup-profile-meta {
  display: flex;
  gap: 12px;
  margin-top: 4px;
  align-items: center;
}

#profile-popup .meta-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 56px;
  padding: 2px 4px;
}

#profile-popup .meta-number {
  font-weight: 700;
  color: var(--owl-text);
  font-size: .92rem;
}

#profile-popup .meta-label {
  font-size: .72rem;
  color: var(--owl-muted);
  margin-top: 4px;
}

/* research stats & links */
#profile-popup .popup-profile-research-stats {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

#profile-popup .popup-profile-research-stat {
  min-width: 86px;
  text-align: center;
  padding: 6px 8px;
  border-radius: 8px;
  background: var(--owl-glass);
  border: 1px solid rgba(255, 255, 255, 0.02);
}

#profile-popup .stat-number {
  font-weight: 700;
  color: var(--owl-text);
  font-size: .92rem;
}

#profile-popup .stat-label {
  color: var(--owl-muted);
  font-size: .72rem;
  margin-top: 4px;
}

#profile-popup .popup-profile-research-links {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

#profile-popup .research-link {
  font-size: .75rem;
  padding: 6px 8px;
  border-radius: 7px;
  text-decoration: none;
  background: rgba(var(--owl-accent-rgb), 0.08);
  color: var(--owl-accent);
  border: 1px solid var(--owl-border);
}

#profile-popup .research-link:hover {
  background: var(--owl-accent);
  color: #fff;
}

/* small animation frames */
@keyframes popupFadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes popupSlideUp {
  from {
    transform: translateY(6px) scale(.99)
  }

  to {
    transform: translateY(0) scale(1)
  }
}

/* responsive */
@media (max-width:420px) {
  #profile-popup .popup-card {
    max-width: calc(100vw - 20px);
    padding: 10px 12px;
    border-radius: 8px;
  }

  #profile-popup .popup-avatar {
    width: 44px;
    height: 44px;
  }
}

/* ---------------------------
   Explicit Light theme overrides
   (ensures crisp readability on light backgrounds)
   --------------------------- */
.light-theme #profile-popup .popup-card {
  background: var(--panel-bg-solid, linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 250, 0.96)));
  color: var(--panel-text, #071227);
  border: 1px solid var(--panel-border, rgba(0, 0, 0, 0.06));
  box-shadow: var(--owl-shadow, 0 10px 32px rgba(0, 0, 0, 0.12));
  backdrop-filter: blur(6px);
}

.light-theme #profile-popup .popup-close {
  color: var(--panel-text);
  opacity: .9;
}

.light-theme #profile-popup .popup-username,
.light-theme #profile-popup .popup-location,
.light-theme #profile-popup .meta-label,
.light-theme #profile-popup .stat-label {
  color: var(--owl-muted);
}

.light-theme #profile-popup .popup-skill {
  background: rgba(var(--owl-accent-rgb), 0.10);
  border: 1px solid rgba(var(--owl-accent-rgb), 0.14);
}

.light-theme #profile-popup .popup-profile-research-stat {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.04);
}

.light-theme #profile-popup .owlindex-badge {
  color: #fff
}

/* ---------------------------
   Explicit Dark theme overrides
   (deep, moody surface using your dark tokens)
   --------------------------- */
.dark-theme #profile-popup .popup-card {
  background: var(--panel-bg-solid);
  color: var(--panel-text, var(--owl-text));
  border: 1px solid var(--panel-border, rgba(255, 255, 255, 0.04));
  box-shadow: var(--owl-shadow, 0 8px 24px rgba(2, 6, 23, 0.6));
  backdrop-filter: blur(8px);
}

.dark-theme #profile-popup .popup-close {
  color: var(--panel-text);
  opacity: .85;
}

.dark-theme #profile-popup .popup-username,
.dark-theme #profile-popup .popup-location,
.dark-theme #profile-popup .meta-label,
.dark-theme #profile-popup .stat-label {
  color: var(--owl-muted);
}

.dark-theme #profile-popup .popup-skill {
  background: rgba(var(--owl-accent-rgb), 0.14);
  border: 1px solid rgba(var(--owl-accent-rgb), 0.22);
  color: var(--owl-accent);
}

.dark-theme #profile-popup .popup-profile-research-stat {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.03);
}

/* small utility: ensure the popup uses the right text color if owl-text is defined */
#profile-popup .popup-card,
#profile-popup .popup-card * {
  color: inherit;
}

/* Margin (m) */
.owlindex-m-0 {
  margin: 0 !important;
}

.owlindex-m-1 {
  margin: 0.25rem !important;
}

/* 4px */
.owlindex-m-2 {
  margin: 0.5rem !important;
}

/* 8px */
.owlindex-m-3 {
  margin: 1rem !important;
}

/* 16px */
.owlindex-m-4 {
  margin: 1.5rem !important;
}

/* 24px */
.owlindex-m-5 {
  margin: 3rem !important;
}

/* 48px */

/* Margin Top (mt) */
.owlindex-mt-0 {
  margin-top: 0 !important;
}

.owlindex-mt-1 {
  margin-top: 0.25rem !important;
}

.owlindex-mt-2 {
  margin-top: 0.5rem !important;
}

.owlindex-mt-3 {
  margin-top: 1rem !important;
}

.owlindex-mt-4 {
  margin-top: 1.5rem !important;
}

.owlindex-mt-5 {
  margin-top: 3rem !important;
}

/* Margin Bottom (mb) */
.owlindex-mb-0 {
  margin-bottom: 0 !important;
}

.owlindex-mb-1 {
  margin-bottom: 0.25rem !important;
}

.owlindex-mb-2 {
  margin-bottom: 0.5rem !important;
}

.owlindex-mb-3 {
  margin-bottom: 1rem !important;
}

.owlindex-mb-4 {
  margin-bottom: 1.5rem !important;
}

.owlindex-mb-5 {
  margin-bottom: 3rem !important;
}

/* Margin Left / Right */
.owlindex-ms-0 {
  margin-left: 0 !important;
}

.owlindex-ms-1 {
  margin-left: 0.25rem !important;
}

.owlindex-ms-2 {
  margin-left: 0.5rem !important;
}

.owlindex-ms-3 {
  margin-left: 1rem !important;
}

.owlindex-ms-4 {
  margin-left: 1.5rem !important;
}

.owlindex-ms-5 {
  margin-left: 3rem !important;
}

.owlindex-me-0 {
  margin-right: 0 !important;
}

.owlindex-me-1 {
  margin-right: 0.25rem !important;
}

.owlindex-me-2 {
  margin-right: 0.5rem !important;
}

.owlindex-me-3 {
  margin-right: 1rem !important;
}

.owlindex-me-4 {
  margin-right: 1.5rem !important;
}

.owlindex-me-5 {
  margin-right: 3rem !important;
}

/* Padding (p) */
.owlindex-p-0 {
  padding: 0 !important;
}

.owlindex-p-1 {
  padding: 0.25rem !important;
}

.owlindex-p-2 {
  padding: 0.5rem !important;
}

.owlindex-p-3 {
  padding: 1rem !important;
}

.owlindex-p-4 {
  padding: 1.5rem !important;
}

.owlindex-p-5 {
  padding: 3rem !important;
}

/* Padding Top / Bottom / Left / Right */
.owlindex-pt-0 {
  padding-top: 0 !important;
}

.owlindex-pt-1 {
  padding-top: 0.25rem !important;
}

.owlindex-pt-2 {
  padding-top: 0.5rem !important;
}

.owlindex-pt-3 {
  padding-top: 1rem !important;
}

.owlindex-pt-4 {
  padding-top: 1.5rem !important;
}

.owlindex-pt-5 {
  padding-top: 3rem !important;
}

.owlindex-pb-0 {
  padding-bottom: 0 !important;
}

.owlindex-pb-1 {
  padding-bottom: 0.25rem !important;
}

.owlindex-pb-2 {
  padding-bottom: 0.5rem !important;
}

.owlindex-pb-3 {
  padding-bottom: 1rem !important;
}

.owlindex-pb-4 {
  padding-bottom: 1.5rem !important;
}

.owlindex-pb-5 {
  padding-bottom: 3rem !important;
}

.owlindex-ps-0 {
  padding-left: 0 !important;
}

.owlindex-ps-1 {
  padding-left: 0.25rem !important;
}

.owlindex-ps-2 {
  padding-left: 0.5rem !important;
}

.owlindex-ps-3 {
  padding-left: 1rem !important;
}

.owlindex-ps-4 {
  padding-left: 1.5rem !important;
}

.owlindex-ps-5 {
  padding-left: 3rem !important;
}

.owlindex-pe-0 {
  padding-right: 0 !important;
}

.owlindex-pe-1 {
  padding-right: 0.25rem !important;
}

.owlindex-pe-2 {
  padding-right: 0.5rem !important;
}

.owlindex-pe-3 {
  padding-right: 1rem !important;
}

.owlindex-pe-4 {
  padding-right: 1.5rem !important;
}

.owlindex-pe-5 {
  padding-right: 3rem !important;
}

/* Gutters (horizontal & vertical for grid/columns) */
.owlindex-gx-0 {
  column-gap: 0 !important;
}

.owlindex-gx-1 {
  column-gap: 0.25rem !important;
}

.owlindex-gx-2 {
  column-gap: 0.5rem !important;
}

.owlindex-gx-3 {
  column-gap: 1rem !important;
}

.owlindex-gx-4 {
  column-gap: 1.5rem !important;
}

.owlindex-gx-5 {
  column-gap: 3rem !important;
}

.owlindex-gy-0 {
  row-gap: 0 !important;
}

.owlindex-gy-1 {
  row-gap: 0.25rem !important;
}

.owlindex-gy-2 {
  row-gap: 0.5rem !important;
}

.owlindex-gy-3 {
  row-gap: 1rem !important;
}

.owlindex-gy-4 {
  row-gap: 1.5rem !important;
}

.owlindex-gy-5 {
  row-gap: 3rem !important;
}

.owlindex-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  column-gap: 1rem;
  /* owlindex-gx-3 = 1rem */
}

/* Base styling: reuse owlindex-card conventions */
.owlindex-sidebar-ad {
  width: 100%;
  margin-bottom: 0.5rem;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background-color: var(--bg-card, #fff);
}

.owlindex-sidebar-ad:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* Image wrapper */
.owlindex-sidebar-ad .owlindex-image-wrapper {
  position: relative;
  width: 100%;
  height: 200px;
  background: #f9fafb;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.owlindex-sidebar-ad .owlindex-card-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 0;
  /* already rounded by card */
  transition: transform 0.25s ease;
}

.owlindex-sidebar-ad:hover .owlindex-card-image {
  transform: scale(1.02);
}

/* Card body */
.owlindex-sidebar-ad .owlindex-card-body {
  padding: 15px;
}

.owlindex-sidebar-ad .owlindex-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary, #121212);
  margin-bottom: 8px;
}

.owlindex-sidebar-ad .owlindex-card-description {
  font-size: 0.9rem;
  color: var(--text-secondary, #555);
  margin-bottom: 12px;
}

.owlindex-sidebar-ad .owlindex-card-cta {
  display: inline-block;
  font-weight: 600;
  color: #fff;
  /* text color */
  background-color: #1e9bde;
  /* solid background */
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.2s ease;
}

.owlindex-sidebar-ad .owlindex-card-cta:hover {
  background-color: #1a88c0;
  /* slightly darker on hover */
  transform: translateY(-1px);
}

/* Light theme */
.light-theme .owlindex-sidebar-ad {
  --bg-card: #fff;
  --text-primary: #121212;
  --text-secondary: #555;
  --cta-bg: linear-gradient(135deg, #1e9bde, #0056b3);
  --cta-hover: linear-gradient(135deg, #0056b3, #004494);
  --cta-text: #fff;
}

/* Dark theme */
.dark-theme .owlindex-sidebar-ad {
  --bg-card: #1e1e1e;
  --text-primary: #f0f0f0;
  --text-secondary: #ccc;
  --cta-bg: linear-gradient(135deg, #3a9ad9, #1a5c8a);
  --cta-hover: linear-gradient(135deg, #1a5c8a, #10395f);
  --cta-text: #fff;
}

/* Dark theme for sidebar ad */
.dark-theme .owlindex-sidebar-ad {
  background-color: #121212;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.dark-theme .owlindex-sidebar-ad .owlindex-card-body {
  background: #121212;
  color: #fff;
}

.dark-theme .owlindex-sidebar-ad .owlindex-card-title {
  color: #fff;
}

.dark-theme .owlindex-sidebar-ad .owlindex-card-description {
  color: var(--dark-muted, #bbb);
}

.dark-theme .owlindex-sidebar-ad .owlindex-card-cta {
  background: #1e9bde;
  color: #fff;
}

.dark-theme .owlindex-sidebar-ad .owlindex-card-cta:hover {
  background: #1a88c0;
}

.dark-theme .owlindex-sidebar-ad .owlindex-image-wrapper {
  background: #121212;
}

.owlindex-postbox-container {
  display: none;
}

@media screen and (min-width: 769px) {
  .owlindex-postbox-container {
    display: block;
  }
}

/* ===========================
   Light & Dark Theme Tokens
   =========================== */
.light-theme {
  color-scheme: light;
  --owl-bg-base: rgba(255, 255, 255, 0.55);
  --owl-surface: rgba(245, 245, 245, 0.65);
  --owl-accent: #1e9bde;
  --owl-accent-rgb: 6, 182, 212;
  --owl-muted: #64748b;
  --owl-text: #071227;
  --owl-glass: rgba(0, 0, 0, 0.03);
  --owl-border: rgba(6, 182, 212, 0.25);
  --owl-shadow: 0 10px 32px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.05);
  --owl-nav-grad-start: rgba(255, 255, 255, 0.85);
  --owl-nav-grad-mid: rgba(245, 245, 245, 0.65);
  --owl-nav-grad-end: rgba(240, 240, 240, 0.45);

  --panel-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 250, 0.96));
  --panel-bg-solid: #ffffff;
  --panel-text: #0b1220;
  --panel-border: rgba(0, 0, 0, 0.03);

  --notif-bg: #ffffff;
  --notif-text: #000000;
  --notif-sep: #eef2f5;

  --drawer-bg: linear-gradient(180deg, #ffffff, #f7f9fb);

  --focus-ring: rgba(6, 182, 212, 0.18);

  --badge-bg: #ef4444;
  --avatar-gradient: linear-gradient(180deg, #e6eef8, #dfe9f2);

  --page-bg: var(--panel-bg-solid);
}

.dark-theme {
  color-scheme: dark;
  --base-dark: #121212;
  --owl-bg-base: linear-gradient(180deg, rgba(7, 14, 27, 0.85), rgba(4, 18, 38, 0.68));
  --owl-surface: #071827;
  --owl-accent: #06b6d4;
  --owl-accent-rgb: 6, 182, 212;
  --owl-muted: #94a3b8;
  --owl-text: #e6eef8;
  --owl-glass: rgba(255, 255, 255, 0.03);
  --owl-border: rgba(6, 182, 212, 0.35);
  --owl-shadow: 0 6px 20px rgba(2, 6, 23, 0.6);
  --owl-nav-grad-start: rgba(6, 12, 25, 0.7);
  --owl-nav-grad-mid: rgba(10, 16, 35, 0.5);
  --owl-nav-grad-end: rgba(3, 6, 20, 0.3);

  --panel-bg: linear-gradient(180deg, #071122, #071827);
  --panel-bg-solid: #121212;
  --panel-text: var(--owl-muted);
  --panel-border: rgba(255, 255, 255, 0.04);

  --notif-bg: #111315;
  --notif-text: #e6eef8;
  --notif-sep: rgba(255, 255, 255, 0.03);

  --drawer-bg: linear-gradient(180deg, #041022, #03121a);

  --focus-ring: rgba(6, 182, 212, 0.22);

  --badge-bg: #ef4444;
  --avatar-gradient: linear-gradient(180deg, #12232a, #0b1b24);

  --page-bg: var(--base-dark);
}

/*footer
/* -----------------------------------------------------
   Root helpers (stable viewport units)
------------------------------------------------------ */
/* Modern browsers: use svh (stable viewport height) */
@supports (height: 1svh) {
  :root {
    --vh-stable: 1svh;
  }
}

/* -----------------------------------------------------
   Bottom Navigation Bar
------------------------------------------------------ */
.owlindex-bottom-nav {
  /* Responsive base height */
  --nav-height: clamp(56px,
      calc(7 * var(--vh-stable) + env(safe-area-inset-bottom, 0px)),
      72px);

  --radius: 8px;
  --fab-size: clamp(52px, 9vw, 65px);
  --fab-glow-inset: clamp(8px, 2.5vw, 12px);
  --fab-gutter: clamp(12px, 6vw, 36px);
  --curve-width: calc(var(--fab-size) + 15px);
  --curve-height: clamp(36px, 6svh, 46px);

  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  min-height: var(--nav-height);

  /* Keep bottom clear of home indicator & keyboard */
  padding-bottom: max(env(safe-area-inset-bottom, 0px),
      env(keyboard-inset-height, 0px));

  display: flex;
  justify-content: space-around;
  align-items: center;
  z-index: 1000;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);

  background: linear-gradient(180deg,
      var(--owl-nav-grad-start),
      var(--owl-nav-grad-mid),
      var(--owl-nav-grad-end));
  border-top: 1px solid var(--owl-border);
  box-shadow: var(--owl-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--owl-text);
  overflow: visible;
}

/* Decorative curve behind the FAB */
.owlindex-bottom-nav::before {
  content: "";
  position: absolute;
  top: calc(-0.35 * var(--nav-height));
  left: 50%;
  transform: translateX(-50%);
  width: var(--curve-width);
  height: var(--curve-height);
  background: linear-gradient(180deg,
      var(--owl-nav-grad-start),
      var(--owl-nav-grad-mid),
      var(--owl-nav-grad-end));
  border-top-left-radius: 78px;
  border-top-right-radius: 78px;
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.18),
    0 2px 4px rgba(0, 0, 0, 0.12),
    inset 0 -1px 2px rgba(0, 0, 0, 0.15);
  z-index: 0;
}

/* -----------------------------------------------------
   Tabs
------------------------------------------------------ */
.oni-tab {
  flex: 1;
  position: relative;
  text-align: center;
  font-size: clamp(18px, 2.4vw, 22px);
  line-height: 1;
  color: var(--owl-muted);
  z-index: 2;
  padding: 10px 0;
  border-radius: 8px;
  transition: color .18s ease, transform .18s ease;
  -webkit-tap-highlight-color: transparent;
}

.oni-tab:hover {
  color: var(--owl-accent);
}

.oni-tab:active {
  transform: scale(0.96);
}

.oni-tab[aria-current="page"],
.oni-tab.active {
  color: var(--owl-accent);
}

.oni-tab[data-tab="lists"] {
  margin-right: var(--fab-gutter);
}

.oni-tab[data-tab="notifications"] {
  margin-left: var(--fab-gutter);
}

/* Hide spacing if FAB/curve hidden */
.hide-fab-decor .oni-tab[data-tab="lists"],
.hide-fab-decor .oni-tab[data-tab="notifications"] {
  margin: 0 !important;
}

/* -----------------------------------------------------
   Spotlight
------------------------------------------------------ */
.oni-spotlight {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(36px, 6vw, 42px);
  height: clamp(36px, 6vw, 42px);
  border-radius: 8px;
  background: rgba(var(--owl-accent-rgb), 0.18);
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.35),
    0 8px 16px rgba(0, 0, 0, 0.18),
    inset 0 0 0 1px rgba(var(--owl-accent-rgb), 0.25);
  z-index: 0;
  pointer-events: none;
  will-change: left;
  transition: left .34s cubic-bezier(.18, .89, .32, 1.28),
    width .22s ease, height .22s ease, opacity .22s ease;
}

/* -----------------------------------------------------
   Floating Action Button
------------------------------------------------------ */
.oni-fab {
  text-decoration: none;
  position: absolute;
  top: calc(-0.22 * var(--nav-height));
  left: 50%;
  transform: translateX(-50%);
  width: var(--fab-size);
  height: var(--fab-size);
  border-radius: 50%;
  background: var(--owl-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(22px, 4vw, 26px);
  z-index: 2;
  border: 4px solid #fff;
}

.oni-fab::after {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--fab-glow-inset));
  border-radius: 50%;
  background: radial-gradient(rgba(var(--owl-accent-rgb), 0.22), transparent 60%);
  z-index: -1;
}

.oni-fab:active {
  transform: translateX(-50%) scale(0.98);
}

/* -----------------------------------------------------
   Ripple + Focus
------------------------------------------------------ */
.ripple {
  position: absolute;
  border-radius: 8px;
  transform: scale(0);
  opacity: .6;
  pointer-events: none;
  background: currentColor;
}

.ripple.run {
  animation: ripple .5s ease-out forwards;
}

@keyframes ripple {
  to {
    transform: scale(3.2);
    opacity: 0;
  }
}

.oni-tab:focus-visible,
.oni-fab:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

/* -----------------------------------------------------
   Mini Menu
------------------------------------------------------ */
.oni-mini-menu {
  position: fixed;
  transform: translateX(-50%) scale(0.9);
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  transition: all 0.15s ease-in-out;
  z-index: 2000;
  padding: 5px 0;
  min-width: 180px;
  opacity: 0;
  pointer-events: none;
}

.oni-mini-menu.show {
  transform: translateX(-50%) scale(1);
  opacity: 1;
  pointer-events: auto;
}

.oni-mini-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  font-size: 14px;
  color: #121212;
  text-decoration: none;
  transition: background 0.2s;
}

.oni-mini-menu a:hover {
  background-color: #f5f5f5;
}

.dark-theme .oni-mini-menu {
  background-color: #121212;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.dark-theme .oni-mini-menu a {
  color: #94a3b8;
}

.dark-theme .oni-mini-menu a:hover {
  background-color: rgba(255, 255, 255, 0.06);
}

/* -----------------------------------------------------
   Hide FAB/curve helper
------------------------------------------------------ */
.hide-fab-decor .owlindex-bottom-nav::before,
.hide-fab-decor .oni-fab,
.hide-fab-decor .oni-fab::after {
  display: none !important;
}

/* -----------------------------------------------------
   Reduced motion / desktop / small devices
------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {

  .oni-spotlight,
  .oni-tab,
  .ripple {
    transition: none;
    animation: none;
  }
}

@media (min-width: 769px) {
  .owlindex-bottom-nav {
    display: none;
  }
}

/* Keep scroll anchors visible above nav */
html {
  scroll-padding-bottom: var(--nav-height);
}

/* -----------------------------------------------------
   PWA standalone fine-tuning (iOS + Android)
------------------------------------------------------ */
@supports (-webkit-touch-callout: none) {
  @media all and (display-mode: standalone) {
    .owlindex-bottom-nav {
      /* give it more body + keep space for the safe area */
      --nav-height: calc(70px + env(safe-area-inset-bottom, 0px));
      --fab-size: clamp(60px, 11vw, 72px);
      /* bigger FAB */
      --fab-glow-inset: clamp(10px, 3vw, 14px);
      --curve-width: calc(var(--fab-size) + 20px);
      --curve-height: clamp(44px, 5vh, 52px);

      padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 6px);
      background-attachment: scroll;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }

    /* raise FAB a touch to stay visually centered */
    .oni-fab {
      top: calc(-0.32 * var(--nav-height));
      transform: translateX(-50%) translateY(-2px);
    }

    /* curve behind the FAB tracks new size */
    .owlindex-bottom-nav::before {
      top: calc(-0.46 * var(--nav-height));
      width: var(--curve-width);
      height: var(--curve-height);
    }

    /* slightly enlarge spotlight bubble and move up */
    .oni-spotlight {
      top: 42%;
      width: clamp(42px, 7vw, 48px);
      height: clamp(42px, 7vw, 48px);
      transform: translate(-50%, -47%);
    }

    /* lift icons a bit for optical balance */
    .oni-tab i,
    .oni-tab svg {
      transform: translateY(-2px);
      font-size: 1.05em;
    }

    /* adjust tab padding so touch target stays ≥44 px */
    .oni-tab {
      padding-top: 8px;
      padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 6px);
    }

    /* soften the glow so it scales nicely with larger FAB */
    .oni-fab::after {
      inset: calc(-1 * var(--fab-glow-inset));
      background: radial-gradient(rgba(var(--owl-accent-rgb), 0.20),
          transparent 60%);
    }
  }
}

/* ------------------ DARK THEME ------------------ */
.dark-theme .owlindex-footer {
  color: #ccc;
  border-top: 1px solid var(--owl-border);
  border-bottom-left-radius: var(--owl-radius);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.35);
}

/* ------------------ LIGHT THEME ------------------ */
.light-theme .owlindex-footer {
  color: #121212;
  border-top: 1px solid var(--owl-border);
  border-bottom-left-radius: var(--owl-radius);
  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.08);
}

.owlindex-footer {
  background: transparent;
  font-size: 14px;
  bottom: 0;
  position: absolute;
  width: 100%;
  padding: 8px 20px;
  /* default padding (desktop) */
  margin-bottom: 0 !important;
  margin-top: 20px;
}

/* Links */
.owlindex-footer-link {
  color: inherit;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.owlindex-footer-link:hover {
  color: #3b82f6;
  /* Accent blue */
  transform: translateY(-2px);
}

/* Copy text */
.owlindex-copy-right {
  font-size: 13px;
  opacity: 0.85;
}

.owlindex-copy-right strong {
  opacity: 1;
}

/* Legal */
.owlindex-legal-text {
  font-size: 12px;
  opacity: 0.7;
  margin-top: -4px;
}

.owlindex-legal-text a {
  text-decoration: none;
}

.owlindex-legal-text a:hover {
  color: #1e9bde;
  text-decoration: underline;
}

/* ------------------ MOBILE ------------------ */
#owlindex-footer {
  display: none !important;
}

@media screen and (min-width: 769px) {
  #owlindex-footer {
    display: block !important;
  }
}

/*endfooter

/* Base loader style (smaller default) */
.owlindex-loader {
  display: block;
  margin: 0 auto;
  /* center horizontally */
  max-width: 100%;
  /* don’t overflow parent */
  height: auto;
  /* keep aspect ratio */
  width: 56px;
  /* smaller default size */
}

/* Small screens (mobile) */
@media (max-width: 480px) {
  .owlindex-loader {
    width: 50px;
    /* very compact on phones */
  }
}

/* Medium screens (tablet) */
@media (min-width: 481px) and (max-width: 1024px) {
  .owlindex-loader {
    width: 72px;
    /* balanced on tablets */
  }
}

/* Large screens (desktop) */
@media (min-width: 1025px) {
  .owlindex-loader {
    width: 96px;
    /* max size on desktop */
  }
}

#post-next-button {
  display: flex;
  justify-content: center;
}

.owlindex-indicator {

  display: none;
  transition: opacity .2s ease;
  pointer-events: none;
}

.htmx-request .owlindex-indicator {
  opacity: 1;
  display: block;
}

/* Hide the button while loading */
.htmx-request #load_post_all {
  display: none;
}

/*tickets
/* ===========================================================
   OWLINDEX SUPPORT SYSTEM STYLES
   Unified Styles for Tickets, Drawer, Threads, and Replies
   =========================================================== */

/* === General === */
.owlindex-support-link {
  text-decoration: none;
}

.owlindex-support-meta-item {
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--owl-muted);
  margin: 4px 0;
}

/* === Buttons === */
.owlindex-btn-light {
  background: var(--panel-bg-solid);
  border: 1px solid var(--panel-border);
  color: var(--panel-text);
  padding: 8px 14px;
  border-radius: 8px;
  transition: all .2s ease;
}

.owlindex-btn-light:hover {
  background: rgba(var(--owl-accent-rgb), 0.08);
  color: var(--owl-accent);
  text-decoration: none;
}

/* === Search Bar === */
.owlindex-support-search {
  display: flex;
  align-items: center;
  gap: 8px;
}

.owlindex-support-search input {
  flex: 1;
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--panel-bg);
  color: var(--panel-text);
}

.owlindex-support-search input:focus {
  outline: none;
  border-color: var(--owl-accent);
  box-shadow: 0 0 0 2px rgba(var(--owl-accent-rgb), 0.2);
}

/* === Ticket Card === */
.owlindex-support-ticket-card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--panel-border);
  border-radius: var(--owl-radius);
  background: var(--panel-bg-solid);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.owlindex-support-ticket-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.owlindex-support-ticket-header {
  border-bottom: 1px solid var(--panel-border);
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.owlindex-support-ticket-header .owlindex-left-section {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.owlindex-support-ticket-header .owlindex-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 2px solid var(--owl-border);
  object-fit: cover;
}

.owlindex-support-ticket-header .owlindex-main-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--owl-text);
}

.owlindex-support-ticket-header .owlindex-subtext {
  font-size: 13px;
  color: var(--owl-muted);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.owlindex-support-ticket-body {
  background: var(--panel-bg);
  border-top: 1px solid var(--panel-border);
  padding: 16px 18px;
  border-radius: 0 0 var(--owl-radius) var(--owl-radius);
}

.owlindex-card-description {
  color: var(--owl-text);
  line-height: 1.6;
  font-size: 14px;
  margin-bottom: 10px;
}

/* === Ticket Footer === */
.owlindex-support-ticket-footer {
  background-color: var(--panel-bg);
  border-top: 1px solid var(--panel-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  flex-wrap: wrap;
  border-radius: 0 0 var(--owl-radius) var(--owl-radius);
}

/* === Drawer === */
.owlindex-support-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 460px;
  max-width: 100%;
  height: 100%;
  background: var(--drawer-bg);
  color: var(--panel-text);
  box-shadow: -6px 0 18px rgba(0, 0, 0, 0.3);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 10000;
  display: flex;
  flex-direction: column;
}

.owlindex-support-drawer.open {
  transform: translateX(0);
}

.owlindex-support-drawer-header,
.owlindex-support-drawer-footer {
  padding: 16px;
  border-bottom: 1px solid var(--panel-border);
  background: var(--panel-bg-solid);
}

.owlindex-support-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

.owlindex-support-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 2100;
}

/* === Drawer Header (Ticket Summary) === */
.owlindex-support-drawer-header-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.owlindex-support-drawer-header-info h6 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--panel-text);
}

.owlindex-support-meta-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  font-size: 13px;
  color: var(--owl-muted);
}

.owlindex-support-meta-item i {
  font-size: 13px;
  opacity: .8;
}

.owlindex-support-username {
  font-size: 12px;
  color: var(--owl-muted);
  margin-left: 2px;
}

.owlindex-support-drawer-header button.btn.btn-outline-secondary {
  color: var(--panel-text);
  border-color: var(--panel-border);
  background: var(--panel-bg-solid);
}

.owlindex-support-drawer-header button.btn.btn-outline-secondary:hover {
  background: rgba(var(--owl-accent-rgb), .08);
  color: var(--owl-accent);
  border-color: var(--owl-accent);
}

/* === Messages Thread === */
.owlindex-support-msg {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}

.owlindex-support-msg .avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid var(--panel-border);
  object-fit: cover;
}

.owlindex-support-msg .bubble {
  background: var(--panel-bg-solid);
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  padding: 10px 12px;
  max-width: 85%;
  line-height: 1.5;
}

.owlindex-support-msg.user .bubble {
  background: rgba(var(--owl-accent-rgb), .08);
}

.owlindex-support-msg.staff .bubble {
  border-left: 3px solid var(--owl-accent);
}

.owlindex-support-msg .meta {
  margin-top: 6px;
  font-size: 12px;
  color: var(--owl-muted);
}

/* === Attachments === */
.owlindex-support-thumb {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.owlindex-support-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.owlindex-support-file-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--owl-accent);
  font-weight: 500;
  text-decoration: none;
}

.owlindex-support-file-link:hover {
  text-decoration: underline;
}

/* === Reply Area === */
.owlindex-support-reply-form {
  width: 100%;
}

.owlindex-support-reply-box {
  display: flex;
  align-items: flex-end;
  background: var(--panel-bg-solid);
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  padding: 8px 12px;
  gap: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.owlindex-support-reply-box:focus-within {
  border-color: var(--owl-accent);
  box-shadow: 0 0 0 2px var(--focus-ring);
}

.owlindex-support-reply-input {
  flex: 1;
  background: transparent;
  border: none;
  resize: none;
  color: var(--panel-text);
  font-size: 15px;
  line-height: 1.5;
  min-height: 24px;
  max-height: 120px;
  overflow-y: auto;
  outline: none;
}

.owlindex-support-reply-send {
  background: var(--owl-accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.owlindex-support-reply-send:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(var(--owl-accent-rgb), 0.3);
  background: rgba(var(--owl-accent-rgb), 0.9);
}

.owlindex-support-attach {
  color: var(--owl-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  transition: color 0.2s ease;
}

.owlindex-support-attach:hover {
  color: var(--owl-accent);
}

.owlindex-support-attach-input {
  display: none;
}

.owlindex-attachment-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
  margin-top: 6px;
  border-top: 1px solid var(--panel-border);
}

.owlindex-attachment-thumb {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--panel-border);
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.owlindex-attachment-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

.owlindex-attachment-remove {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.owlindex-attachment-remove:hover {
  background: rgba(255, 0, 0, 0.8);
}

/* === Attachments (Extended) === */
.owlindex-support-attach-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--owl-accent);
  font-weight: 600;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}

.owlindex-support-attach-btn:hover {
  color: rgba(var(--owl-accent-rgb), 0.9);
  text-decoration: underline;
}

/* --- Attachment Preview --- */
.owlindex-attachment-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.owlindex-attachment-thumb {
  width: 72px;
  height: 72px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid var(--panel-border);
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: pointer;
}

.owlindex-attachment-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .3);
}

.owlindex-attachment-remove {
  position: absolute;
  top: -6px;
  right: -6px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.owlindex-attachment-remove:hover {
  background: rgba(255, 0, 0, 0.8);
}

/* --- Image Thumbnails and Viewer --- */
.owlindex-support-image-link img,
.owlindex-support-thumb {
  width: 72px;
  height: 72px;
  border-radius: 6px;
  object-fit: cover;
  margin: 4px;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

.owlindex-support-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .3);
}

/* --- Lightbox / Image Viewer --- */
.owlindex-image-viewer {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.owlindex-image-viewer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .8);
}

.owlindex-viewer-img {
  max-width: 90%;
  max-height: 90%;
  z-index: 2;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(0, 0, 0, .6);
}

.owlindex-viewer-close {
  position: absolute;
  top: 20px;
  right: 30px;
  background: rgba(0, 0, 0, .6);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 20px;
  cursor: pointer;
  z-index: 3;
  transition: background .2s ease;
}

.owlindex-viewer-close:hover {
  background: rgba(255, 0, 0, 0.7);
}

/* === Responsive === */
@media (max-width: 768px) {
  .owlindex-support-search {
    flex-direction: column;
    gap: 6px;
  }

  .owlindex-support-search button {
    width: 100%;
  }

  .owlindex-support-reply-box {
    padding: 6px 10px;
  }

  .owlindex-support-reply-send {
    padding: 6px 10px;
    font-size: 1rem;
  }

  .owlindex-support-drawer {
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: translateY(100%);
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.3);
  }

  .owlindex-support-drawer.open {
    transform: translateY(0);
  }

  .owlindex-support-ticket-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* 🦉 Owlindex Page Loader Styles */
#owlindex-page-loader {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background 0.3s ease;
}

/* When loader is active */
#owlindex-page-loader.show {
  opacity: 1;
  visibility: visible;
}

/* Loader container (centering content) */
.owlindex-loader-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Brand text */
.owlindex-page-loader-text {
  margin-top: 5px;
  font-size: 18px;
  font-weight: bolder;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}

/* 🌞 Light theme variant */
.light-theme #owlindex-page-loader {
  background: rgba(30, 155, 222, 0.5);
  /* translucent blue overlay */
}

/* 🌙 Dark theme variant */
.dark-theme #owlindex-page-loader {
  background: rgba(18, 18, 18, 0.9);
  /* dark overlay (based on #121212) */
}

.light-theme #owlindex-page-loader .owlindex-page-loader-text {
  color: #ffffff !important;
}

.dark-theme #owlindex-page-loader .owlindex-page-loader-text {
  color: #1e9bde !important;
}

/* Screen reader-only text */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*---------------------navbar desktop-------------------*/
/* ================ Base selectors (now theme-aware) ================== */
.owlindex-nav a {
  text-decoration: none;
}

/* Navbar container */
.owlindex-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1030;
  display: block;
  border-bottom-left-radius: var(--owl-radius);
  border-bottom-right-radius: var(--owl-radius);

  /* Glass + theme-aware gradient */
  background: linear-gradient(180deg,
      var(--owl-nav-grad-start) 0%,
      var(--owl-nav-grad-mid) 60%,
      var(--owl-nav-grad-end) 100%);

  backdrop-filter: blur(20px) saturate(180%) contrast(125%) brightness(0.95);
  -webkit-backdrop-filter: blur(20px) saturate(180%) contrast(125%) brightness(0.95);

  /* Shadows and depth (uses variable where possible) */
  box-shadow:
    inset 0 -1px 1px rgba(255, 255, 255, 0.05),
    0 10px 32px rgba(0, 0, 0, 0.4),
    0 4px 12px rgba(0, 0, 0, 0.15);

  /* Border-bottom accent */
  border-bottom: 1px solid var(--owl-border);

  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Hover / focus effect for navbar (theme-aware) */
.owlindex-nav:hover {
  background: linear-gradient(180deg,
      var(--owl-nav-grad-start) 0%,
      var(--owl-nav-grad-mid) 60%,
      var(--owl-nav-grad-end) 100%);
  box-shadow:
    inset 0 -2px 2px rgba(var(--owl-accent-rgb), 0.1),
    0 12px 40px rgba(0, 0, 0, 0.45),
    0 6px 16px rgba(0, 0, 0, 0.2);
  border-bottom-color: rgba(var(--owl-accent-rgb), 0.6);
}

/* Navbar container internals */
.owlindex-nav__container {
  display: flex;
  align-items: center;
  gap: var(--owl-gap);
  padding: 12px 18px;
  min-height: var(--owl-h);
  max-width: var(--owl-width-max);
  margin: auto;
}

/* Brand */
.owlindex-nav__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto
}

.owlindex-nav__brand--desktop {
  display: flex
}

.owlindex-nav__brand--mobile {
  display: none
}

.owlindex-nav__logo {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  object-fit: cover
}

.owlindex-nav__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--owl-text)
}

/* Collapse / primary */
.owlindex-nav__collapse {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
  position: relative
}

/* Primary list */
.owlindex-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: visible
}

.owlindex-nav__list--primary {
  flex: 1 1 auto;
  min-width: 0
}

.owlindex-nav__item {
  white-space: nowrap
}

.owlindex-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--owl-muted);
  font-weight: 600;
  text-decoration: none;
  list-style: none
}

.owlindex-nav__link:hover,
.owlindex-nav__link:focus {
  color: var(--owl-text);
  background: var(--owl-glass);
  outline: none;
}

.owlindex-nav__link i.owlindex-icon-align {
  font-size: 14px;
  /* match your text size */
  line-height: 1;
  /* keep it tight */
  vertical-align: middle;
  /* ensure middle alignment */
}

/* Controls area */
.owlindex-nav__controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto
}

.owlindex-nav__sublink {
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  font-weight: 700
}

.owlindex-nav__sublink--mobile {
  display: none
}

.owlindex-nav__sublink--desktop {
  display: inline-flex
}

/* icons / badges */
.owlindex-nav__badge {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 12px;
  background: var(--badge-bg);
  color: #fff;
  font-size: 12px;
}

.owlindex-nav__link--control {
  padding: 8px 10px
}

.owlindex-nav__icon--active {
  color: #FD652D
}

/* profile */
.owlindex-nav__profile {
  position: relative;
  display: flex;
  align-items: center
}

.owlindex-nav__profile-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 8px;
  background: transparent;
  border: 0;
  color: var(--owl-muted);
  cursor: pointer;
}

.owlindex-nav__avatar {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: var(--avatar-gradient);
  display: block;
  object-fit: cover;
}

.owlindex-nav__avatar--vip {
  box-shadow: 0 0 0 3px gold;
  border-radius: 50%
}

.owlindex-nav__profile-name {
  font-weight: 600;
  font-size: 13px;
  display: none
}

/* dropdown panels */
.owlindex-nav__dropdown {
  position: relative
}

.owlindex-nav__dropdown-panel {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  min-width: 240px;
  background: var(--panel-bg);
  border-radius: 8px;
  padding: 10px;
  box-shadow: 0 8px 32px rgba(2, 6, 23, 0.65);
  display: none;
  z-index: 60;
  color: var(--panel-text);
}

.owlindex-nav__dropdown-panel[data-open="true"] {
  display: block
}

.owlindex-nav__dropdown-panel--right {
  right: 0;
  left: auto
}

.owlindex-nav__dropdown-panel,
.owlindex-nav__mega-improved {
  z-index: 1100;
  /* must be higher than overflow panel */
}

.owlindex-nav__dropdown-item {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--panel-text);
  text-decoration: none
}

.owlindex-nav__dropdown-item:hover {
  background: rgba(255, 255, 255, 0.02);
  color: var(--owl-text)
}

.owlindex-nav__divider {
  border: 0;
  height: 1px;
  background: var(--panel-border);
  margin: 8px 0
}

/* mega menu */
.owlindex-nav__mega {
  min-width: 420px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px
}

.owlindex-nav__mega-col {
  display: flex;
  flex-direction: column;
  gap: 8px
}

.owlindex-nav__section-title {
  color: var(--owl-text);
  font-weight: 700;
  font-size: 13px;
  padding: 6px 0
}

/* Mobile/Toggle */
.owlindex-nav__toggle {
  display: none;
  padding: 8px;
  border-radius: 8px;
  background: transparent;
  border: 0;
  color: var(--owl-muted);
  cursor: pointer
}

.owlindex-nav__toggle:focus {
  outline: 3px solid var(--focus-ring)
}

.owlindex-nav__toggle-icon {
  font-size: 18px
}

/* Notifications panel (theme-aware) */
.owlindex-nav__notifications {
  width: 320px;
  max-height: 0;
  opacity: 0;
  position: absolute;
  top: calc(var(--owl-h) + 12px);
  right: 18px;
  border-radius: 8px;
  background: var(--notif-bg);
  color: var(--notif-text);
  box-shadow: 0 8px 28px rgba(4, 6, 12, 0.3);
  overflow: hidden;
  transition: all .22s ease;
  z-index: 80;
}

.owlindex-nav__notifications[data-open="true"] {
  max-height: 480px;
  opacity: 1;
  padding: 10px
}

.owlindex-nav__notifications-item {
  display: flex;
  border-bottom: 1px solid var(--notif-sep);
  padding: 10px 6px;
  gap: 10px;
  align-items: flex-start
}

.owlindex-nav__notifications-item img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover
}

.owlindex-nav__notif-text h4 {
  margin: 0;
  color: var(--notif-text);
  font-size: 14px
}

.owlindex-nav__notif-text p {
  margin: 4px 0 0 0;
  color: var(--panel-text);
  font-size: 13px
}

/* spinner */
.owlindex-nav__spinner {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.08);
  border-top-color: var(--owl-accent);
  animation: owl-spin .85s linear infinite;
  display: inline-block;
  margin-right: 8px
}

@keyframes owl-spin {
  to {
    transform: rotate(360deg)
  }
}


/* Priority+ overflow more button */
.owlindex-nav__more-btn {
  display: none;
  padding: 8px 10px;
  border-radius: 10px;
  background: transparent;
  color: var(--owl-muted);
  border: 1px solid rgba(255, 255, 255, 0.03);
  cursor: pointer
}

/* Overflow panel on body - controlled via data-open attribute */
.owlindex-nav__item--more {
  position: relative;
}

/* Panel styles (body-appended) */
.owlindex-nav__overflow-panel {
  position: absolute;
  /* positioned via JS using getBoundingClientRect() */
  top: 0;
  left: 0;
  min-width: 220px;
  background: var(--panel-bg);
  border-radius: 10px;
  padding: 8px;
  box-shadow: 0 8px 32px rgba(2, 6, 23, 0.65);
  display: block;
  /* visible always for measurement; visibility controlled by opacity/ptr events */
  opacity: 0;
  transition: opacity .18s ease, transform .12s ease;
  transform-origin: top left;
  transform: translateY(-6px);
  pointer-events: none;
  /* don't block mouse when closed */
  z-index: 1000;
  /* < mega menu panels (set mega menu higher) */
}

/* visible state */
.owlindex-nav__overflow-panel[data-open="true"] {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* accessibility focus */
:focus {
  outline: 2px solid transparent
}

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
  border-radius: 8px
}

/* Responsive breakpoints */
@media (max-width: 1125px) {
  .owlindex-nav__brand--desktop {
    display: none
  }

  .owlindex-nav__brand--mobile {
    display: flex
  }

  .owlindex-nav__sublink--mobile {
    display: inline-flex
  }

  .owlindex-nav__sublink--desktop {
    display: none
  }

  .owlindex-nav__profile-name {
    display: none
  }

  .owlindex-nav__toggle {
    display: inline-flex
  }

  .owlindex-nav__collapse[data-open="true"] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 6px
  }

  .owlindex-nav__dropdown-panel {
    position: relative;
    top: 0;
    left: 0;
    margin-top: 8px
  }

  .owlindex-nav__dropdown-panel--right {
    right: auto;
    left: 0
  }

  .owlindex-nav__controls {
    flex-wrap: wrap
  }
}

@media (min-width: 1126px) {
  .owlindex-nav__toggle {
    display: none
  }

  .owlindex-nav__collapse {
    display: flex
  }

  .owlindex-nav__profile-name {
    display: inline-block
  }

  .owlindex-nav__dropdown-panel {
    left: auto
  }

  .owlindex-nav__more-btn {
    display: inline-flex
  }
}

/* small visual tweaks for list items inside overflow */
.owlindex-nav__overflow-panel .owlindex-nav__dropdown-item {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--panel-text);
  text-decoration: none;
}

.owlindex-nav__overflow-panel .owlindex-nav__dropdown-item:hover {
  background: rgba(255, 255, 255, 0.02);
  color: var(--owl-text);
}

/* small tweaks */
.owlindex-nav__chev {
  font-size: 12px;
  color: var(--owl-muted)
}

/* --- Mega improvements: layout, separation, cards --- */
.owlindex-nav__mega-improved {
  padding: 14px;
  min-width: 760px;
  box-sizing: border-box;
}

.owlindex-nav__mega-grid {
  display: grid;
  grid-template-columns: 220px repeat(3, 1fr);
  gap: 18px;
  align-items: start;
}

/* Featured card */
.owlindex-nav__mega-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01));
  border-radius: 10px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.03);
  box-shadow: 0 6px 20px rgba(2, 6, 23, 0.45);
}

.owlindex-nav__mega-card-head {
  margin-bottom: 10px;
}

.owlindex-nav__mega-title {
  margin: 0;
  font-size: 15px;
  color: var(--owl-text);
  font-weight: 800;
}

.owlindex-nav__mega-sub {
  margin: 4px 0 0 0;
  font-size: 12px;
  color: var(--owl-muted);
}

/* Mega column cards */
.owlindex-nav__mega-col-card {
  padding: 6px 4px;
}

.owlindex-nav__section-title {
  font-size: 13px;
  color: var(--owl-text);
  font-weight: 800;
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* list inside columns */
.owlindex-nav__col-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.owlindex-nav__col-list li {
  display: block;
}

.owlindex-nav__dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--owl-muted);
  text-decoration: none;
  transition: background .16s ease, color .12s ease, transform .12s ease;
}

.owlindex-nav__dropdown-item:hover,
.owlindex-nav__dropdown-item:focus {
  background: rgba(255, 255, 255, 0.02);
  color: var(--owl-text);
  transform: translateY(-2px);
}

/* icons and meta */
.owlindex-nav__col-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01));
  color: var(--owl-accent);
  font-size: 16px;
  flex: 0 0 34px;
}

.owlindex-nav__meta {
  display: flex;
  flex-direction: column;
}

.owlindex-nav__link-title {
  font-weight: 700;
  font-size: 14px;
  color: var(--owl-text);
}

.owlindex-nav__link-desc {
  font-size: 12px;
  color: var(--owl-muted);
  margin-top: 4px;
}

/* tiny hints */
.owlindex-nav__tiny {
  display: block;
  font-size: 11px;
  color: var(--owl-muted);
  margin-left: 8px;
  opacity: 0.9;
}

/* vertical divider inside featured */
.owlindex-nav__divider-vertical {
  height: 12px;
  width: 1px;
  background: rgba(255, 255, 255, 0.03);
  margin: 8px 8px;
  align-self: center;
}

/* CTA row */
.owlindex-nav__mega-cta {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
}

.owlindex-nav__cta-btn {
  background: linear-gradient(90deg, var(--owl-accent), rgba(6, 182, 212, 0.8));
  color: #02121a;
  padding: 8px 14px;
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(6, 182, 212, 0.06);
}

/* small helpers used by markup */
.owlindex-nav__gold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #FFD873;
  /* gold accent */
  font-weight: 800;
}

/* explicit notify button style (used by JS) */
.owlindex-nav__notify-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  cursor: pointer;
  color: var(--owl-muted);
  background: transparent;
  border: 0;
}

.owlindex-nav__notify-btn:hover,
.owlindex-nav__notify-btn:focus {
  color: var(--owl-text);
  background: var(--owl-glass);
  outline: none;
}

.owlindex-nav__notify,
.owlindex-nav__notify-btn {
  list-style: none;
}

/* small accessibility hint for profile button */
.owlindex-nav__profile-btn[aria-expanded="true"] {
  box-shadow: 0 0 0 3px var(--focus-ring);
}

/* responsive: stack columns on small screens */
@media (max-width: 980px) {
  .owlindex-nav__mega-improved {
    min-width: 100%;
    padding: 10px;
  }

  .owlindex-nav__mega-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .owlindex-nav__mega-card {
    order: -1;
  }

  /* featured at top */
  .owlindex-nav__meta {
    gap: 4px;
  }

  .owlindex-nav__cta-btn {
    width: 100%;
    text-align: center;
  }
}

/*-------------------end navbar desktop------------------------

/*-------------------start navbar mobile-----------------------*/
.owlindex-mobile-topbar,
.owlindex-mobile-drawer,
.owlindex-mobile-overlay {
  display: none;
}

@media (max-width: 1125px) {
  .owlindex-mobile-topbar {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    /* Border-bottom accent */
    border-bottom: 1px solid var(--owl-border);
    border-bottom-left-radius: var(--owl-radius);
    border-bottom-right-radius: var(--owl-radius);
    /* Shadows and depth (uses variable where possible) */
    box-shadow:
      inset 0 -1px 1px rgba(255, 255, 255, 0.03),
      0 4px 12px rgba(0, 0, 0, 0.15),
      0 1px 4px rgba(0, 0, 0, 0.1);

    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .owlindex-mobile-overlay {
    display: block;
  }

  .owlindex-mobile-drawer {
    display: block;
  }
}

/* -----------------------
   Topbar (hamburger, centered brand/plan, theme toggle)
   ----------------------- */
.owlindex-mobile-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--owl-gap);
  height: var(--owl-h);
  padding: 8px 12px;
  max-width: var(--owl-width-max-mobile);
  margin: 0 auto;
  box-sizing: border-box;
  border-bottom: 1px solid var(--panel-border);
  background: linear-gradient(180deg, var(--owl-nav-grad-start) 0%, var(--owl-nav-grad-mid) 60%, var(--owl-nav-grad-end) 100%);
  backdrop-filter: blur(20px) saturate(180%) contrast(125%) brightness(0.95);
  -webkit-backdrop-filter: blur(20px) saturate(180%) contrast(125%) brightness(0.95);
  box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.05), 0 10px 32px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.15);
  border-bottom-left-radius: var(--owl-radius);
  border-bottom-right-radius: var(--owl-radius);
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Compact hit targets */
.owlindex-mobile-toggle,
.owlindex-mobile-theme-toggle,
.owlindex-mobile-close,
.owlindex-mobile-hero__close {
  width: var(--m-hit);
  height: var(--m-hit);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 0;
  background: transparent;
  color: var(--owl-muted);
  cursor: pointer;
}

.owlindex-mobile-toggle:hover,
.owlindex-mobile-theme-toggle:hover,
.owlindex-mobile-close:hover,
.owlindex-mobile-hero__close:hover {
  background: var(--owl-glass);
  color: var(--owl-text);
}

.owlindex-mobile-toggle:focus,
.owlindex-mobile-theme-toggle:focus,
.owlindex-mobile-close:focus,
.owlindex-mobile-hero__close:focus {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}


/* -----------------------
   Overlay
   ----------------------- */
.owlindex-mobile-overlay {
  position: fixed;
  inset: 0;
  z-index: 1060;
  background: rgba(0, 0, 0, 0.46);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .01s linear .22s;
  -webkit-tap-highlight-color: transparent;
}

.owlindex-mobile-overlay[data-open="true"] {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

/* -----------------------
   Drawer base
   ----------------------- */
.owlindex-mobile-drawer {
  position: fixed;
  top: env(safe-area-inset-top, 0);
  /* keep content below notch */
  left: 0;
  bottom: 0;
  /* pin to bottom; don't use inset:0 */
  width: var(--m-drawer-w);
  max-width: var(--m-drawer-max);
  height: var(--app-height, 100vh);
  /* use --app-height set by JS (fallback 100vh) */
  z-index: 1400;
  /* single z-index */
  transform: translateX(-110%);
  /* hidden by default */
  transition: transform .32s cubic-bezier(.2, .9, .2, 1);
  display: flex;
  flex-direction: column;
  box-shadow: var(--m-shadow);
  border-right: 1px solid var(--panel-border);
  overflow: hidden;
  /* keep footer pinned; inner scroll handles overflow */
  -webkit-overflow-scrolling: touch;
  will-change: transform;
  background: var(--panel-bg-solid);
  /* YOUR var — unchanged */
}

/* drawer visible state */
.owlindex-mobile-drawer[data-open="true"] {
  transform: translateX(0);
}

/* ---------- Inner content: keep everything inside and pin footer ---------- */
.owlindex-mobile-drawer__inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  /* important so scroll area is bounded */
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

/* hero / welcome should not flex-grow (natural height) */
.owlindex-mobile-hero,
.owlindex-mobile-welcome-card {
  flex: 0 0 auto;
}

/* header */
.owlindex-mobile-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: calc(var(--m-hit) / 3);
  border-bottom: 1px solid var(--panel-border);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0));
}

.owlindex-mobile-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.owlindex-mobile-brand__logo {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  object-fit: cover;
}

.owlindex-mobile-brand__title {
  font-weight: 800;
  color: var(--owl-text);
  font-size: 15px;
}

/* ---------- Scrollable middle (critical) ---------- */
.owlindex-mobile-drawer__scroll {
  flex: 1 1 auto;
  /* take the remaining space */
  min-height: 0;
  /* CRITICAL for proper scroll in Safari/Firefox */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 10px 8px;
  box-sizing: border-box;

  /* reserve space so last items aren't hidden under footer + safe area */
  padding-bottom: calc(var(--drawer-footer-height, 56px) + env(safe-area-inset-bottom, 0px) + 8px);
  overscroll-behavior: contain;
}

/* optional scrollbar visuals */
.owlindex-mobile-drawer__scroll::-webkit-scrollbar {
  width: 10px;
}

.owlindex-mobile-drawer__scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 6px;
}


/* -----------------------
   Hero (cover + avatar overlap)
   ----------------------- */
.owlindex-mobile-hero {
  position: relative;
  height: 160px;
  overflow: visible;
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
}

.owlindex-mobile-hero__inner {
  position: relative;
  height: 100%;
  display: block;
}

.owlindex-mobile-hero__cover {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(var(--ow-main-color-rgb), 0.14), rgba(3, 6, 20, 0.06));
  background-size: cover;
  background-position: center;
}

/* avatar overlap */
.owlindex-mobile-avatar-wrap {
  position: absolute;
  left: 14px;
  bottom: -30px;
  z-index: 18;
}

.owlindex-mobile-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 8px 22px rgba(2, 6, 23, 0.16);
  background: var(--avatar-gradient);
}

.owlindex-mobile-avatar.free {
  border: 2px solid #ccc;
}

.owlindex-mobile-avatar.premium {
  border: 2px solid gold;
}

/* welcome card overlapping hero */
.owlindex-mobile-welcome-card {
  margin: 50px 12px 6px;
  padding: 12px 14px;
  background: var(--panel-bg-solid);
  border-radius: 12px;
  border: 1px solid var(--panel-border);
  box-shadow: 0 12px 36px rgba(2, 6, 23, 0.18);
  z-index: 12;
}

.owlindex-mobile-welcome-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.owlindex-mobile-welcome-title {
  font-weight: 900;
  color: var(--owl-text);
  font-size: 15px;
}

.owlindex-mobile-welcome-plan {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* premium badge */
.owlindex-mobile-badge-premium {
  background: linear-gradient(90deg, rgba(var(--ow-main-color-rgb), 0.14), rgba(var(--ow-main-color-rgb), 0.06));
  color: var(--owl-text);
  padding: 6px 8px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  border: 1px solid rgba(var(--ow-main-color-rgb), 0.08);
}

.owlindex-mobile-borderless-button {
  font-weight: 800;
  font-size: 13px;
  color: var(--ow-main-color);
  text-decoration: none;
}

/* welcome meta */
.owlindex-mobile-welcome-meta {
  margin-top: 8px;
  display: block;
  align-items: center;
  gap: 8px;
  color: var(--owl-muted);
  font-size: 13px;
}

.owlindex-mobile-welcome-stats {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 10px;
}

/* -----------------------
   Grouped nav: compact + neat
   ----------------------- */
.owlindex-mobile-groups {
  padding: 6px 12px 18px;
}

.owlindex-mobile-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* group wrapper */
.owlindex-mobile-group {
  padding: 0 4px;
}

/* group title (subtle) */
.owlindex-mobile-group__title {
  font-size: 11px;
  font-weight: 700;
  color: var(--owl-muted);
  text-transform: uppercase;
  margin: 0 0 8px 6px;
}

/* item base: tight, consistent */
.owlindex-mobile-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--owl-text);
  background: transparent;
  font-weight: 700;
  font-size: 15px;
  border: 1px solid transparent;
}

.owlindex-mobile-item:hover {
  background: var(--surface-hover);
  color: var(--owl-text);
}

/* icon (left) */
.owlindex-mobile-item__icon {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--ow-main-color);
}

/* label */
.owlindex-mobile-item__label {
  flex: 1 1 auto;
  text-align: left;
}

/* prominent CTA */
.owlindex-mobile-item--prominent {
  background: linear-gradient(180deg, rgba(var(--ow-main-color-rgb), 0.04), rgba(255, 255, 255, 0.01));
  border-radius: 12px;
}

/* button variant */
.owlindex-mobile-item--btn {
  border: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
  background: transparent;
}

/* badges */
.owlindex-mobile-badge {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--badge-bg);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  margin-left: 8px;
}

/* -----------------------
   Accordion (compact)
   ----------------------- */
.owlindex-mobile-accordion {
  display: block;
}

.owlindex-mobile-accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: transparent;
  border: 0;
  font-weight: 700;
}

.owlindex-mobile-acc-chevron {
  margin-left: auto;
  color: var(--owl-muted);
  font-size: 14px;
  transition: transform .24s ease;
}

.owlindex-mobile-accordion.open .owlindex-mobile-acc-chevron {
  transform: rotate(var(--chev-rot));
}

/* sublist compact */
.owlindex-mobile-sublist {
  list-style: none;
  padding-left: 6px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .28s cubic-bezier(.2, .9, .2, 1), padding .18s;
}

.owlindex-mobile-sublist[aria-hidden="false"] {
  max-height: 1200px;
  padding-bottom: 8px;
}

/* sublist items */
.owlindex-mobile-sublist li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  color: var(--panel-text);
  text-decoration: none;
  font-weight: 700;
}

.owlindex-mobile-sublist li a:hover {
  background: rgba(255, 255, 255, 0.02);
  color: var(--owl-text);
}

/* -----------------------
   Notifs / footer
   ----------------------- */
.owlindex-mobile-notifs {
  padding: 8px 6px;
  color: var(--panel-text);
  font-size: 14px;
}

/* ---------- Footer pinned at bottom ---------- */
.owlindex-mobile-drawer__footer {
  flex: 0 0 auto;
  /* never scroll away */
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: var(--drawer-footer-height, 56px);
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 10px;

  /* keep footer content above the OS chrome (iOS bottom bar) */
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--panel-border);
  color: var(--panel-text);
  background: var(--panel-bg-solid);
  /* YOUR var — unchanged */
  box-sizing: border-box;
  z-index: 2;
  /* ensure footer sits above scroll content */
}

/* ensure inner children don't accidentally overflow out of the area */
.owlindex-mobile-drawer__inner>* {
  max-width: 100%;
}

/* -----------------------
   Accessibility / reduced motion
   ----------------------- */
:focus {
  outline: 2px solid transparent;
}

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
  border-radius: 8px;
}

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {

  .owlindex-mobile-drawer,
  .owlindex-mobile-overlay,
  .owlindex-mobile-sublist,
  .owlindex-mobile-acc-chevron {
    transition: none !important;
  }
}

/* -----------------------
   Small screen tweaks
   ----------------------- */
@media (max-width:420px) {
  .owlindex-mobile-hero {
    height: 110px;
  }

  .owlindex-mobile-avatar {
    width: 56px;
    height: 56px;
    border-width: 3px;
  }

  .owlindex-mobile-item {
    padding: 10px;
    font-size: 14px;
  }

  .owlindex-mobile-item__icon {
    width: 26px;
    height: 26px;
    font-size: 16px;
  }

  .owlindex-mobile-drawer {
    width: 100%;
    max-width: 100%;
  }
}

/* -----------------------
   RTL tweaks
   ----------------------- */
[dir="rtl"] .owlindex-mobile-item__label {
  text-align: right;
}

[dir="rtl"] .owlindex-mobile-acc-chevron {
  margin-right: auto;
  margin-left: 0;
  transform-origin: center;
}

.owlindex-mobile-hero__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  /* above avatar + cover */
}

/* -----------------------
   Small helper: unify logo rule (was in your original CSS)
   ----------------------- */
.owlindex-nav__logo {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  object-fit: cover;
}

/* =========================
   End — mobile drawer CSS
   ========================= */
.owlindex-padding-top {
  padding-top: 2rem;
}

/* Compact mode (landscape / small height) */
@media (orientation: landscape),
(max-height: 520px) {

  /* Hide welcome card */
  .owlindex-mobile-welcome-card {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* Shrink avatar */
  .owlindex-mobile-avatar-wrap {
    width: 40px !important;
    height: 40px !important;
    position: relative !important;
    /* reset absolute positioning */
    top: auto !important;
    left: auto !important;
    margin: auto !important;
    /* center it neatly inside hero */
    bottom: -15px !important
  }

  .owlindex-mobile-avatar {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }

  /* Adjust hero height and add spacing below */
  .owlindex-mobile-hero {
    height: auto !important;
    /* shrink-wrap contents */
  }

  /* Ensure nav groups start clearly below hero */
  .owlindex-mobile-groups {
    margin-top: 4px !important;
  }
}

.owlindex-mobile-no-pages-text {
  display: block;
  padding: 8px 12px;
  margin-left: 15px;
  list-style: none;
  color: var(--panel-text);
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  /* subtle highlight to match mobile item hover */
}

/*-------------- end navnar mobile------------------*/



/* ===== Owlindex Experience Compact Cards ===== */

/* Wrapper */
.owlindex-experience-list {
  display: flex;
  flex-direction: column;
  padding-left: 14px;
  border-left: 3px solid var(--ow-main-color);
  border-radius: 0 0 0 8px;
}

/* Card Base */
.owlindex-experience-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 8px;
  border-radius: 8px;
  background: var(--card-bg);
  border: 1px solid var(--owl-border);
  transition: all 0.25s ease;
  margin-bottom: 10px;
  box-shadow: var(--shadow-1);
}

.owlindex-experience-card:hover {
  border-color: var(--ow-main-color);
  background: var(--owl-surface);
  transform: translateY(-1px);
}

.owlindex-experience-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ow-main-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
}

.owlindex-experience-content {
  flex: 1;
  min-width: 0;
  color: var(--owl-text);
}

.owlindex-experience-job {
  font-weight: 600;
  color: var(--owl-text);
  font-size: 1rem;
  line-height: 1.2;
}

.owlindex-experience-company {
  color: var(--owl-muted);
  font-size: 0.95rem;
  margin: 0;
}

.owlindex-experience-date,
.owlindex-experience-location {
  font-size: 0.85rem;
  color: var(--owl-muted);
  margin: 0;
}

.owlindex-experience-media {
  margin-top: 6px;
}

.owlindex-experience-thumb {
  height: 70px;
  width: auto;
  border-radius: 6px;
  border: 1px solid var(--owl-border);
  object-fit: contain;
  background: var(--owl-surface);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.owlindex-experience-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* ===== Owlindex Education Compact Cards ===== */

.owlindex-education-list {
  display: flex;
  flex-direction: column;
  padding-left: 14px;
  border-left: 3px solid var(--ow-main-color);
  border-radius: 0 0 0 8px;
}

.owlindex-education-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 8px;
  border-radius: 8px;
  background: var(--card-bg);
  border: 1px solid var(--owl-border);
  transition: all 0.25s ease;
  margin-bottom: 10px;
  box-shadow: var(--shadow-1);
}

.owlindex-education-card:hover {
  border-color: var(--ow-main-color);
  background: var(--owl-surface);
  transform: translateY(-1px);
}

.owlindex-education-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ow-main-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
}

.owlindex-education-content {
  flex: 1;
  min-width: 0;
  color: var(--owl-text);
}

.owlindex-education-school {
  font-weight: 600;
  color: var(--owl-text);
  font-size: 1rem;
  line-height: 1.2;
}

.owlindex-education-degree {
  color: var(--owl-muted);
  font-size: 0.95rem;
  margin: 0;
}

.owlindex-education-date,
.owlindex-education-grade {
  font-size: 0.85rem;
  color: var(--owl-muted);
  margin: 0;
}

.owlindex-education-media {
  margin-top: 6px;
}

.owlindex-education-thumb {
  height: 70px;
  width: auto;
  border-radius: 6px;
  border: 1px solid var(--owl-border);
  object-fit: contain;
  background: var(--owl-surface);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.owlindex-education-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* ===== Dropdown (Shared) ===== */
.dropdown-menu {
  font-size: 0.9rem;
  border-radius: 8px;
  box-shadow: var(--owl-shadow);
  background: var(--panel-bg-solid);
  color: var(--panel-text);
  border: 1px solid var(--panel-border);
}

.dropdown-item i {
  margin-right: 6px;
  color: var(--ow-main-color);
}

.dropdown-item:hover {
  background: rgba(var(--owl-accent-rgb), 0.1);
  color: var(--owl-text);
}

/* ===== Dark Theme Fine-Tuning ===== */
.dark-theme .owlindex-experience-card,
.dark-theme .owlindex-education-card {
  background: var(--owl-bg-base);
  border: 1px solid var(--owl-border);
  box-shadow: none;
}

.dark-theme .owlindex-experience-card:hover,
.dark-theme .owlindex-education-card:hover {
  background: rgba(255, 255, 255, 0.03);
  border-color: var(--ow-main-color);
}

.dark-theme .owlindex-experience-thumb,
.dark-theme .owlindex-education-thumb {
  background: var(--owl-surface);
  border-color: var(--owl-border);
  box-shadow: none;
}


.owlindex-profile-hero {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--owl-card-shadow);
}

/* Cover */
.owlindex-profile-cover {
  position: relative;
  height: var(--owl-cover-h);
  width: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .1));
}

.owlindex-profile-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Avatar overlap (bottom-left of cover) */
.owlindex-avatar-anchor {
  position: absolute;
  left: 24px;
  top: calc(var(--owl-cover-h) - (var(--owl-avatar) / 2));
  z-index: 3;
}

.owlindex-profile-avatar {
  width: var(--owl-avatar);
  height: var(--owl-avatar);
  border-radius: 50%;
  background: var(--avatar-gradient);
  padding: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}

.owlindex-profile-avatar-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
}

.owlindex-profile-avatar-premium {
  box-shadow: 0 0 0 4px var(--ow-accent-color);
}

/* Identity row (info + actions) */
.owlindex-identity-row {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 12px;
  padding: calc(var(--owl-avatar) / 2 + 16px) 20px 8px;
  /* push content below overlap */
  align-items: start;
}

.owlindex-identity-left {
  min-width: 0;
  margin-top: -80px;
  margin-left: calc(20px + var(--owl-avatar));
}

.owlindex-profile-fullname {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0;
  color: #121212;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
}

.owlindex-profile-verified-icon {
  width: 20px;
  height: 20px;
}

.owlindex-profile-edit-btn {
  color: #666;
  text-decoration: none;
}

.owlindex-profile-edit-btn:hover {
  color: var(--ow-main-color);
}

.owlindex-profile-headline {
  font-size: .98rem;
  color: #444;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /* single line like your screenshot */
  max-width: 100%;
}

.owlindex-profile-meta {
  color: #555;
  font-size: .95rem;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.owlindex-profile-meta a {
  color: var(--ow-main-color);
  text-decoration: none;
}

.owlindex-profile-meta a:hover {
  text-decoration: underline;
}

.owlindex-profile-username {
  color: #6b7280;
  font-size: .92rem;
  margin: 0;
}

/* Actions (right side) */
.owlindex-profile-actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.owlindex-profile-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  border-radius: 8px;
  padding: .45rem .9rem;
  border: 1px solid var(--owl-border);
  background: #fff;
  color: #222;
  cursor: pointer;
  text-decoration: none;
  transition: .15s ease;
}

.owlindex-profile-btn:hover {
  background: #f5f5f5;
}

.owlindex-profile-btn.primary {
  background: var(--ow-main-color);
  color: #fff;
  border-color: var(--ow-main-border-color);
}

.owlindex-profile-btn.primary:hover {
  background: var(--ow-main-hover-color);
}

.owlindex-profile-btn.success {
  background: #e6f8ee;
  color: #2a7b47;
  border-color: #cdeed8;
}

.owlindex-profile-btn.outline {
  background: #fff;
  border: 1px solid #d0d7de;
}

/* Tabs (kept, slight polish) */
.owlindex-profile-tabs {
  background: var(--panel-bg-solid);
  border-top: 1px solid var(--owl-border);
  padding: 0 10px;
  overflow: auto;
}

.owlindex-profile-tabs ul {
  display: flex;
  list-style: none;
  gap: 4px;
  margin: 0;
  padding: 0;
}

.owlindex-profile-tabs button {
  background: none;
  border: none;
  padding: 14px 18px;
  font-weight: 600;
  color: var(--owl-muted);
  border-bottom: 2px solid transparent;
  transition: .2s;
  white-space: nowrap;
}

.owlindex-profile-tabs button.active,
.owlindex-profile-tabs button:hover {
  color: var(--ow-main-color);
  border-color: var(--ow-main-color);
}

.owlindex-invalid-icon {
  color: #d9534f;
  margin-left: 6px;
  font-size: .9rem;
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
  :root {
    --owl-avatar: 96px;
  }

  .owlindex-identity-row {
    grid-template-columns: 1fr;
    /* stack actions under info */
  }

    .owlindex-identity-left {
    margin-left: calc(16px + var(--owl-avatar) + 12px);
    margin-top: -60px;
  }

  .owlindex-profile-actions {
    justify-content: flex-start;
    margin-left: calc(24px + var(--owl-avatar) + var(--owl-gutter));
  }
}

@media (max-width: 560px) {
  :root {
    --owl-avatar: 80px;
    --owl-cover-h: 200px;
  }

  .owlindex-avatar-anchor {
    left: 16px;
  }

  .owlindex-identity-left {
    margin-left: calc(16px + var(--owl-avatar) + 12px);
    margin-top: -50px;
  }

  .owlindex-profile-tabs ul {
    justify-content: center;
  }

  .owlindex-profile-headline,
  .owlindex-profile-meta {
    white-space: normal;
  }
}
/* ===== Owlindex Compact Stats Table (Safari-proof) ===== */
.owlindex-stats-table-compact {
  width: 100%;
  border-collapse: separate !important;  /* Safari fix */
  border-spacing: 0 !important;
  border: none !important;
  background: transparent;
  font-size: 0.9rem;
  color: var(--owl-text);
  box-shadow: none !important; /* eliminate default inset shadow in Safari */
}

/* Remove table border outlines completely */
.owlindex-stats-table-compact,
.owlindex-stats-table-compact * {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Cell styles */
.owlindex-stats-table-compact th,
.owlindex-stats-table-compact td {
  padding: 4px 0;
  vertical-align: middle;
  background: transparent !important;
}

/* Label column */
.owlindex-stats-table-compact th {
  font-weight: 500;
  color: var(--owl-muted);
  text-align: left;
  white-space: nowrap;
}

/* Value column */
.owlindex-stats-table-compact td {
  font-weight: 600;
  color: var(--owl-text);
  text-align: right;
}

/* Icon style */
.owlindex-stats-table-compact i {
  color: var(--ow-main-color);
  font-size: 0.95rem;
  vertical-align: middle;
}

/* Hover interaction */
.owlindex-stats-table-compact tr:hover th,
.owlindex-stats-table-compact tr:hover td {
  color: var(--ow-main-color);
  transition: color 0.25s ease;
}

/* Dark mode refinement */
.dark-theme .owlindex-stats-table-compact th {
  color: var(--owl-muted);
}
.dark-theme .owlindex-stats-table-compact td {
  color: var(--owl-text);
}

/* ===== Owlindex Journal Table ===== */
.owlindex-journal-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 10px;
  background-color: var(--panel-bg-solid);
}

.owlindex-journal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  color: var(--owl-text);
}

.owlindex-journal-table thead tr {
  background: var(--owl-surface);
  border-bottom: 1px solid var(--owl-border);
}

.owlindex-journal-table th {
  text-align: left;
  font-weight: 600;
  color: var(--owl-muted);
  padding: 10px 8px;
  font-size: 0.85rem;
  white-space: nowrap;
}

.owlindex-journal-table td {
  padding: 10px 8px;
  vertical-align: top;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.owlindex-journal-table tr:last-child td {
  border-bottom: none;
}

/* Column-specific styling */
.owlindex-journal-table .index {
  color: var(--owl-muted);
  font-weight: 500;
  text-align: center;
  width: 36px;
}

.owlindex-journal-table .journal-info {
  width: 100%;
}

.journal-title {
  font-weight: 600;
  color: var(--ow-main-color);
  text-decoration: none;
}

.journal-title:hover {
  text-decoration: underline;
  color: var(--ow-main-hover-color);
}

.journal-year {
  color: var(--owl-muted);
  font-size: 0.85rem;
  margin-left: 4px;
}

.journal-meta {
  margin-top: 2px;
}

.journal-details {
  font-size: 0.85rem;
  color: var(--owl-muted);
}

.journal-authors {
  font-size: 0.8rem;
  color: var(--owl-muted);
  margin: 0;
}

.journal-cited {
  text-align: center;
  font-weight: 600;
  color: var(--owl-text);
}

.journal-featured i {
  color: var(--ow-main-color);
  cursor: pointer;
  transition: transform 0.2s ease;
}

.journal-featured i:hover {
  transform: scale(1.15);
}

/* Dark theme adjustments */
.dark-theme .owlindex-journal-table thead tr {
  background: rgba(255,255,255,0.04);
}

.dark-theme .owlindex-journal-table td {
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
/* ===== Owlindex Upcoming Publications Table ===== */
.owlindex-upcoming-table-wrapper {
  width: 100%;
  overflow-x: auto;
  background-color: var(--panel-bg-solid);
  border-radius: 10px;
}

.owlindex-upcoming-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  color: var(--owl-text);
}

.owlindex-upcoming-table thead tr {
  background: var(--owl-surface);
  border-bottom: 1px solid var(--owl-border);
}

.owlindex-upcoming-table th {
  text-align: left;
  font-weight: 600;
  color: var(--owl-muted);
  padding: 10px 8px;
  font-size: 0.85rem;
  white-space: nowrap;
}

.owlindex-upcoming-table td {
  padding: 10px 8px;
  vertical-align: top;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.owlindex-upcoming-table tr:last-child td {
  border-bottom: none;
}

/* Column-specific */
.owlindex-upcoming-table .index {
  color: var(--owl-muted);
  font-weight: 500;
  text-align: center;
  width: 36px;
}

.owlindex-upcoming-table .upcoming-info {
  width: 100%;
}

.upcoming-title {
  font-weight: 600;
  color: var(--ow-main-color);
  text-decoration: none;
  display: inline-block;
}

.upcoming-title:hover {
  text-decoration: underline;
  color: var(--ow-main-hover-color);
}

.upcoming-abstract {
  font-size: 0.85rem;
  color: var(--owl-muted);
  margin: 2px 0 4px;
}

.upcoming-authors {
  font-size: 0.8rem;
  color: var(--owl-muted);
  margin: 0;
}

.owlindex-upcoming-table i.fi-sr-trash {
  font-size: 1rem;
  transition: transform 0.2s ease, color 0.2s ease;
}

.owlindex-upcoming-table i.fi-sr-trash:hover {
  transform: scale(1.15);
  color: #ef4444;
}

/* Subtle hover row feedback */
.owlindex-upcoming-table tr:hover td {
  background: rgba(var(--owl-accent-rgb), 0.05);
  transition: background 0.25s ease;
}

/* Dark theme refinement */
.dark-theme .owlindex-upcoming-table thead tr {
  background: rgba(255,255,255,0.04);
}

.dark-theme .owlindex-upcoming-table td {
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

/* === Force user HTML to match current theme === */
.research-content *[style*="background-color"] {
  background-color: transparent !important;
}

.research-content *[style*="color"] {
  color: var(--owl-text) !important;
}

.research-content {
  color: var(--owl-text);
  line-height: 1.6;
}

.dark-theme .research-content {
  color: var(--owl-text);
}

.research-content p {
  margin-bottom: 0.75rem;
}

 /* ===== Owlindex Document Gallery ===== */
.owlindex-documents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
  margin-top: 10px;
}

.owlindex-document-card {
  background: var(--owl-surface);
  border: 1px solid var(--owl-border);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.owlindex-document-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(var(--owl-accent-rgb), 0.2);
  border-color: var(--ow-main-color);
}

.owlindex-document-thumb-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 120px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(var(--owl-accent-rgb), 0.05);
}

.owlindex-document-thumb {
  height: 100px;
  width: auto;
  object-fit: cover;
  border-radius: 6px;
  border: none;
}

.owlindex-document-icon {
  height: 60px;
  width: 60px;
  object-fit: contain;
  opacity: 0.9;
}

.owlindex-document-caption {
  font-size: 0.9rem;
  color: var(--owl-text);
  font-weight: 500;
}

.owlindex-document-actions i {
  font-size: 1rem;
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.owlindex-document-actions i:hover {
  transform: scale(1.15);
  opacity: 0.85;
}
/* Clickable document title */
.owlindex-document-title-link {
  color: var(--ow-main-color);
  font-weight: 600;
  font-size: 0.9rem;
  transition: color 0.25s ease;
  display: inline-block;
  max-width: 100%;
}

.owlindex-document-title-link:hover {
  color: var(--ow-main-hover-color);
  text-decoration: underline;
}
/* Dark Theme Support */
.dark-theme .owlindex-document-card {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}

.dark-theme .owlindex-document-caption {
  color: var(--owl-text);
}

.owlindex-empty-profile {
  background: var(--panel-bg-solid);
  border: 1px dashed var(--owl-border);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  color: var(--owl-text);
  transition: all 0.3s ease;
}

.owlindex-empty-profile:hover {
  border-color: var(--ow-main-color);
  transform: translateY(-2px);
}

.dark-theme .select2-results{
  background-color: var(--panel-bg-solid);
}

/* === Owlindex Service (Crawler) === */
.owlindex-service-wrap {
  margin-inline: auto;
  padding: 16px;
}

.owlindex-service-card {
  background: var(--card-bg);
  border-radius: var(--owl-radius);
  box-shadow: var(--shadow-1);
  overflow: clip;
  border: 1px solid rgba(2, 6, 23, 0.06);
}

.owlindex-service-header {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-bottom: 1px solid rgba(2, 6, 23, 0.06);
  background: linear-gradient(180deg, rgba(var(--ow-main-color-rgb),0.06), transparent);
}

.owlindex-service-title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #0b1220;
}

.light-theme .owlindex-service-title { color: #0b1220; }
.dark-theme .owlindex-service-title { color: var(--owl-text); }

.owlindex-service-share {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.owlindex-service-chip {
  --chip-bg: rgba(var(--ow-main-color-rgb), 0.08);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--chip-bg);
  color: var(--ow-link-color);
  text-decoration: none;
  border: 1px solid rgba(var(--ow-main-color-rgb), 0.18);
}

.owlindex-service-body {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.owlindex-service-banner {
  border-radius: var(--owl-radius);
  overflow: hidden;
  background: #eef5f9;
  border: 1px solid rgba(2, 6, 23, 0.06);
}

.owlindex-service-section {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(2, 6, 23, 0.06);
  border-radius: var(--owl-radius);
  background: var(--card-bg);
}

.owlindex-service-section h2 {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.3;
}

.owlindex-service-blur {
  filter: blur(5px);
  user-select: none;
}

.owlindex-service-cta {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px dashed rgba(2, 6, 23, 0.15);
  border-radius: var(--owl-radius);
  background: linear-gradient(180deg, rgba(255,215,0,0.075), rgba(255,215,0,0.02));
}

.owlindex-service-cta .owlindex-service-cta-title {
  margin: 0;
  font-weight: 700;
}

.owlindex-service-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.owlindex-service-btn {
  appearance: none;
  border: 1px solid var(--ow-main-border-color);
  background: var(--card-bg);
  color: var(--ow-link-color);
  font-weight: 700;
  border-radius: 10px;
  padding: 8px 12px;
  text-decoration: none;
  cursor: not-allowed;
  opacity: 0.7;
}

.owlindex-service-btn.primary {
  background: var(--accent-gradient);
  color: white;
  border-color: transparent;
}

.owlindex-service-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.owlindex-service-badge {
  font-size: 0.85rem;
  color: var(--ow-link-color);
  background: rgba(var(--ow-main-color-rgb), 0.06);
  border: 1px solid rgba(var(--ow-main-color-rgb), 0.16);
  padding: 6px 10px;
  border-radius: 999px;
}

.owlindex-service-table {
  width: 100%;
  border-collapse: collapse;
}

.owlindex-service-table th,
.owlindex-service-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(2, 6, 23, 0.06);
  text-align: left;
}

.owlindex-service-footer {
  padding: 16px 18px;
  border-top: 1px solid rgba(2, 6, 23, 0.06);
  display: grid;
  gap: 8px;
}

.owlindex-service-sharelinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.owlindex-service-sharelink {
  color: var(--ow-link-color);
  text-decoration: none;
  font-weight: 700;
  border: 1px solid rgba(var(--ow-main-color-rgb), 0.18);
  background: rgba(var(--ow-main-color-rgb), 0.06);
  padding: 6px 10px;
  border-radius: 8px;
}

.owlindex-service-muted { color: var(--muted); }

/* Responsive */
@media (max-width: 640px) {
  .owlindex-service-wrap { padding: 12px; }
  .owlindex-service-body { padding: 14px; gap: 12px; }
}

.owlindex-code-audited{
  color: var(--ow-secondary-color)
}

.owlindex-code-not-audited{
  color: var(--muted)
}

.owlindex-text-center{
  text-align: center !important;
}

 /* ===========================================================
   OWLINDEX SERVICE CARD — REFINED & ENHANCED TYPOGRAPHY
   =========================================================== */

.owlindex-service-card {
  background: var(--bg-base);
  color: var(--owl-text);
  border-radius: var(--owl-radius);
  box-shadow: var(--owl-shadow, var(--shadow-1));
  width: 100%;
  margin-inline: auto;
  border: 1px solid transparent;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  font-size: 1rem;            /* ↑ Slightly larger for readability */
  line-height: 1.65;
}
.owlindex-service-card:hover {
  transform: translateY(-2px);
  border-color: var(--owl-border);
  box-shadow: var(--shadow-2);
}
.owl-share-collapse{
  padding:10px
}
/* Scroll container */
.owl-service-scroll {
  max-height: 100vh;
  overflow-y: auto;
  scrollbar-width: thin;
  padding-bottom: 1rem;
}
.owl-service-scroll::-webkit-scrollbar {
  width: 6px;
}
.owl-service-scroll::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 253, 0.35);
  border-radius: 999px;
}

/* ===========================================================
   HERO MEDIA (separate logic for image vs PDF)
   =========================================================== */
.owl-service-hero {
  overflow: hidden;
  background: #020817;
  border-bottom: 1px solid rgba(148, 163, 253, 0.12);
  position: relative;
}
.owl-service-hero-notice {
  overflow: hidden;
  background: #020817;
  border-bottom: 1px solid rgba(148, 163, 253, 0.12);
  position: relative;
}

/* Default image height */
.owl-service-media-img {
  width: 100%;
  height: var(--owl-cover-h-services-image); /* fixed image height */
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

/* Hover zoom subtle effect */
.owl-service-media-img:hover {
  transform: scale(1.02);
}

/* PDF preview larger for readability */
.owl-service-media-pdf {
  width: 100%;
  height: var(--owl-cover-h-services-pdf); /* taller preview area */
  border: none;
  display: block;
  background: #0a0f1a;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .owl-service-media-img {
    height: 200px;
  }
  .owl-service-media-pdf {
    height: 480px;
  }
}

/* ===========================================================
   STICKY HEADER
   =========================================================== */
/* ===========================================================
   STICKY HEADER (Dark/Light Adaptive)
   =========================================================== */
/* ===========================================================
   STICKY HEADER (Unified — Gradient + Two-Row Layout)
   =========================================================== */

.owl-service-sticky-header {
  position: sticky;
  top: 0;
  z-index: 20;

  /* layout */
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  padding: 0.8rem 1rem;

  /* dynamic theme gradient + transparency */
  background: linear-gradient(
    180deg,
    var(--owl-nav-grad-start) 0%,
    var(--owl-nav-grad-mid) 60%,
    var(--owl-nav-grad-end) 100%
  );
  backdrop-filter: blur(14px);

  border-bottom: 1px solid rgba(var(--owl-accent-rgb), 0.18);
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.15);
  transition: background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* When header sticks — emphasize contrast */
.owl-service-sticky-header.is-stuck {
  background: var(--panel-bg-solid);
  box-shadow: 0 4px 14px rgba(16, 24, 40, 0.25);
  border-bottom-color: rgba(var(--owl-accent-rgb), 0.25);
  animation: stickyFadeIn 0.3s ease forwards;
  backdrop-filter: blur(16px);
}

/* Subtle animation for stick transition */
@keyframes stickyFadeIn {
  0% { opacity: 0; transform: translateY(-8px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Title row: make sure it spans full width and aligns left */
.owl-service-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

/* Adaptive title color and sizing */
.owl-service-title {
  font-size: 1.25rem;
  font-weight: 650;
  line-height: 1.35;
  color: var(--owl-text);
  margin: 0;
}
.owl-service-sticky-header.is-stuck .owl-service-title {
  font-size: 1.05rem;
  color: var(--ow-main-color);
  text-shadow: 0 1px 3px rgba(var(--owl-accent-rgb), 0.25);
}

/* Second row: two columns pushed to sides */
.owl-service-meta-actions {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  gap: 1rem;
}

/* Left column: organization, department, location */
.owl-service-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.owl-service-subline {
  flex-wrap: wrap;
  gap: 0.4rem;
  font-size: 1rem;
  color: var(--owl-muted);
}
.owl-service-subline i {
  font-size: 1rem;
  color: var(--ow-main-color);
}

/* Right column: button actionbar */
.owl-modern-actionbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.45rem;
}

/* Sticky sentinel (for JS detection, optional) */
.owl-sticky-sentinel {
  position: absolute;
  top: 0;
  height: 1px;
  width: 100%;
  pointer-events: none;
}

/* ===========================================================
   MODERN BUTTONS (ACTIONBAR)
   =========================================================== */
.owl-modern-actionbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  justify-content: flex-end;
}
/* Contact Information — Subtle Emphasis */
.owl-section-contact {
  border: 1px solid rgba(30, 155, 222, 0.25);
  background: rgba(9, 14, 28, 0.75);
  box-shadow: 0 4px 14px rgba(30, 155, 222, 0.15);
}

/* Icons slightly more prominent for scannability */
.owl-section-contact .owl-meta-list i {
  color: var(--ow-main-color);
  font-size: 0.9rem;
  opacity: 0.95;
}

/* Improve link visibility */
.owl-section-contact a {
  color: var(--ow-link-color);
  text-decoration: none;
  font-weight: 500;
}
.owl-section-contact a:hover {
  color: var(--ow-link-hover-color) !important;
  text-decoration: underline;
}

/* Slight spacing adjustment */
.owl-section-contact .owl-meta-list li {
  padding: 0.25rem 0;
  line-height: 1.6;
}
/* Base Button */
.owl-modern-btn {
  --btn-radius: 10px;
  --btn-padding-y: 0.75rem;
  --btn-padding-x: 1.5rem;
  --btn-fg: var(--owl-text, #fff);
  --btn-bg: rgba(255, 255, 255, 0.06);
  --btn-border: rgba(255, 255, 255, 0.18);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  border-radius: var(--btn-radius);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.015em;
  color: var(--btn-fg);
  background: var(--btn-bg);
  border: 1px solid var(--btn-border);
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
  user-select: none;
  line-height: 1.3;
}

.owl-modern-btn:hover:not(.disabled),
.owl-modern-btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(30, 155, 222, 0.25);
  background: rgba(30, 155, 222, 0.18);
}

.owl-modern-btn:active:not(.disabled) {
  transform: scale(0.97);
  box-shadow: none;
}

.owl-modern-btn.disabled,
.owl-modern-btn[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

.owl-modern-btn .btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.owl-modern-btn .btn-text {
  white-space: nowrap;
}

/* Variants */
.owl-modern-btn.btn-primary {
  --btn-bg: var(--ow-main-color, #1e9bde);
  --btn-border: var(--ow-main-color, #1e9bde);
  --btn-fg: #fff;
}
.owl-modern-btn.btn-primary:hover {
  background: var(--ow-main-hover-color, #1594d2);
  color:#fff
}

.owl-modern-btn.btn-outline {
  --btn-fg: var(--ow-main-color, #1e9bde);
  --btn-border: var(--ow-main-color, #1e9bde);
  background: transparent;
}
.owl-modern-btn.btn-outline:hover {
  background: var(--ow-main-color, #1e9bde);
  color: #fff;
}

.owl-modern-btn.btn-success {
  --btn-bg: #16a34a;
  --btn-border: #16a34a;
  --btn-fg: #fff;
}
.owl-modern-btn.btn-success:hover {
  background: #22c55e;
}

.owl-modern-btn.btn-success-outline {
  --btn-fg: var(--ow-secondary-color, #16a34a);
  --btn-border: var(--ow-secondary-color, #16a34a);
  background: transparent;
}
.owl-modern-btn.btn-success-outline:hover {
  background: var(--ow-secondary-color, #16a34a);
  color: #000;
}

.owl-modern-btn.btn-accent-outline {
  --btn-fg: var(--ow-accent-color);
  --btn-border: var(--ow-accent-color);
  background: transparent;
}
.owl-modern-btn.btn-accent-outline:hover {
  background: var(--ow-accent-color);
  color: #000;
}

/* NEW COLORS */
.owl-modern-btn.btn-warning {
  --btn-bg: #facc15;
  --btn-border: #eab308;
  --btn-fg: #000;
}
.owl-modern-btn.btn-warning:hover {
  background: #fcd34d;
}

.owl-modern-btn.btn-danger {
  --btn-bg: #dc2626;
  --btn-border: #b91c1c;
  --btn-fg: #fff;
}
.owl-modern-btn.btn-danger:hover {
  background: #ef4444;
}

.owl-modern-btn.btn-info {
  --btn-bg: #0ea5e9;
  --btn-border: #0284c7;
  --btn-fg: #fff;
}
.owl-modern-btn.btn-info:hover {
  background: #38bdf8;
}

.owl-modern-btn.btn-neutral {
  --btn-bg: #374151;
  --btn-border: #4b5563;
  --btn-fg: #fff;
}
.owl-modern-btn.btn-neutral:hover {
  background: #4b5563;
}

/* ===========================================================
   CONTENT SECTIONS
   =========================================================== */
.owl-section {
  margin: 0.75rem 1rem 0;
  padding: 0.85rem 0.9rem;
  background: var(--owl-bg-base);
  border-radius: var(--owl-radius);
  border: 1px solid rgba(148, 163, 253, 0.18);
  box-shadow: 0 6px 16px rgba(2, 6, 23, 0.5);
}
.owl-section-title {
  margin-bottom: 0.45rem;
  font-size: 1.05rem;    /* ↑ from 0.95rem */
  font-weight: 650;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--ow-main-color);
}
.owl-section-body {
  font-size: 0.95rem;    /* ↑ from 0.88rem */
  color: var(--owl-text);
  line-height: 1.7;
}
.service-description {
  line-height: 1.65;
}

/* Meta list */
.owl-meta-list {
  font-size: 0.93rem;
}
.owl-meta-list i {
  font-size: 0.85rem;
  color: var(--ow-main-color);
}
.owl-meta-list .label {
  font-weight: 500;
  color: var(--owl-muted);
}

/* Table styling */
.table th,
.table td {
  font-size: 0.9rem;
}

/* QR Modal */
.owl-qr-modal {
  background: var(--panel-bg);
  color: var(--panel-text);
  border-radius: var(--owl-radius);
  border: 1px solid var(--panel-border);
}

/* ===========================================================
   RESPONSIVE ADJUSTMENTS
   =========================================================== */
   /* Mobile: stack cleanly */
@media (max-width: 768px) {
  .owl-service-subline{
    display: none;
  }
    .owl-modern-actionbar {
    justify-content: flex-start;
  }
  .owl-service-hero-notice{
    height: 400px;
  }
  .owl-service-hero {
    height: 220px;
  }
  .owl-service-sticky-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    padding-inline: 0.6rem;
  }
  .owl-service-meta-actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .owl-modern-btn {
    flex: 1 1 48%;
    text-align: center;
    font-size: 0.9rem;
    padding: 0.55rem 1rem;
  }
  .owl-section {
    margin-inline: 0.6rem;
  }
  .owl-service-title {
    font-size: 1.1rem;
  }
}
/* ===========================================================
   OWLINDEX PAYWALL SECTION — LOCKED / PREMIUM VIEW
   =========================================================== */

.owlindex-premium-locked {
  position: relative;
  opacity: 0.9;
  pointer-events: none;
  user-select: none;
  background: rgba(9, 14, 28, 0.65);
  border-radius: var(--owl-radius);
  overflow: hidden;
}

/* Lock overlay */
.owlindex-premium-locked::after {
  content: "\f023"; /* Font Awesome lock icon */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 2rem;
  color: rgba(var(--owl-accent-rgb), 0.35);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  background: linear-gradient(
    180deg,
    rgba(2, 6, 23, 0.35) 0%,
    rgba(9, 14, 28, 0.45) 100%
  );
  border-radius: inherit;
}

/* Optional hint text (hover unlock hint) */
.owlindex-premium-locked:hover::after {
  content: "\f023  Premium content — unlock to view";
  font-family: "Font Awesome 6 Free", var(--font-sans, "Inter", sans-serif);
  font-weight: 400;
  font-size: 1rem;
  color: var(--owl-text);
  letter-spacing: 0.02em;
  text-align: center;
  flex-direction: column;
  gap: 0.25rem;
}

/* Dark/light aware */
.dark-theme .owlindex-premium-locked::after {
  background: linear-gradient(
    180deg,
    rgba(2, 6, 23, 0.55) 0%,
    rgba(9, 14, 28, 0.75) 100%
  );
  color: rgba(255, 255, 255, 0.5);
}

.light-theme .owlindex-premium-locked::after {
  background: linear-gradient(
    180deg,
    rgba(240, 245, 255, 0.65) 0%,
    rgba(255, 255, 255, 0.85) 100%
  );
  color: rgba(0, 0, 0, 0.5);
}

/* Inside blurred tables or cards */
.owlindex-premium-locked table,
.owlindex-premium-locked .owl-section-body,
.owlindex-premium-locked .card-body {
  background: transparent !important;
  color: var(--owl-muted);
}

/* Optional: premium highlight border */
.owlindex-premium-locked-border {
  border: 1px solid rgba(255, 193, 7, 0.35);
  box-shadow: 0 0 12px rgba(255, 193, 7, 0.15);
}

 /* ===========================================================
   SERVICE DESCRIPTION CONTENT (HTML SANITIZED)
   =========================================================== */

.service-description {
  color: var(--owl-text);
  line-height: 1.75;
  font-size: 0.96rem;
  background: transparent;
}

/* Paragraph spacing */
.service-description p {
  margin-bottom: 0.85rem;
}

/* Headings inside description */
.service-description h1,
.service-description h2,
.service-description h3,
.service-description h4,
.service-description h5 {
  color: var(--ow-main-color);
  margin-top: 1.2rem;
  margin-bottom: 0.6rem;
  font-weight: 600;
  line-height: 1.3;
}
.service-description h3 {
  font-size: 1.05rem;
}
.service-description h4 {
  font-size: 1rem;
}

/* Links */
.service-description a {
  color: var(--ow-link-color);
  text-decoration: none;
  transition: color 0.25s ease, text-shadow 0.25s ease;
}
.service-description a:hover,
.service-description a:focus-visible {
  color: var(--ow-link-hover-color);
  text-shadow: 0 0 6px rgba(var(--owl-accent-rgb), 0.3);
}

/* Lists */
.service-description ul,
.service-description ol {
  margin: 0.75rem 0 0.75rem 1.25rem;
  padding-left: 1rem;
}
.service-description li {
  margin-bottom: 0.35rem;
}
.service-description ul li::marker {
  color: var(--ow-main-color);
}

/* Horizontal rule */
.service-description hr {
  border: none;
  border-top: 1px solid rgba(var(--owl-accent-rgb), 0.15);
  margin: 1rem 0;
}

/* ===========================================================
   TABLES — Transparent & Theme-Adaptive
   =========================================================== */
.service-description table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  margin: 1rem 0;
  font-size: 0.9rem;
}

.service-description th,
.service-description td {
  border: 1px solid rgba(var(--owl-accent-rgb), 0.15);
  padding: 0.55rem 0.75rem;
  text-align: left;
  vertical-align: middle;
}

.service-description th {
  background: rgba(var(--owl-accent-rgb), 0.08);
  color: var(--ow-main-color);
  font-weight: 600;
}

.service-description td {
  background: rgba(255, 255, 255, 0.03); /* subtle transparency */
  color: var(--owl-text);
}

.dark-theme .service-description td {
  background: rgba(255, 255, 255, 0.04);
}
.light-theme .service-description td {
  background: rgba(0, 0, 0, 0.02);
}

/* Hover rows for clarity */
.service-description tr:hover td {
  background: rgba(var(--ow-main-rgb), 0.08);
  transition: background 0.25s ease;
}

/* Table responsiveness */
@media (max-width: 768px) {
  .service-description table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* ===========================================================
   Blockquotes, Code, Misc
   =========================================================== */
.service-description blockquote {
  border-left: 3px solid var(--ow-main-color);
  padding-left: 0.9rem;
  margin: 0.9rem 0;
  font-style: italic;
  color: var(--owl-muted);
  background: rgba(var(--ow-main-rgb), 0.05);
}

.service-description code {
  background: rgba(var(--ow-main-rgb), 0.08);
  color: var(--ow-main-color);
  font-family: var(--font-mono, monospace);
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  font-size: 0.85em;
}

/* ================================
   Related Services Section
================================ */

.owl-related-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.owl-related-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  background: var(--owl-surface);
  border: 1px solid var(--owl-border-soft);
  border-radius: 10px;
  padding: 1rem;
  text-decoration: none;
  color: var(--owl-text);
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.owl-related-card:hover {
  background: var(--owl-surface-hover);
  border-color: var(--owl-border-strong);
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
  transform: translateY(-2px);
}

.owl-related-icon {
  flex-shrink: 0;
  color: var(--ow-link-color);
  font-size: 1.4rem;
  background: rgba(30,155,222,0.12);
  border-radius: 8px;
  padding: 0.6rem;
}

.owl-related-content {
  flex: 1;
  min-width: 0;
}

.owl-related-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  line-height: 1.35;
  color: var(--owl-text-strong);
}

.owl-related-org {
  font-size: 0.8rem;
  color: var(--owl-text-muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
}

.owl-related-deadline {
  font-size: 0.75rem;
  color: var(--owl-text-soft);
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

