.brand-logo img{
    max-height: 45px;
}
.header-menu .sidebar-icon li a i {
    font-size: 24px;
} 
header {
  right: auto;
}

header.header-menu .header-section .header-center .sidebar-icon li a {
  width: 30px;
  height: 30px;
  display: block;
  text-align: center;
}


.tooltip-sec li .tooltip-cls {
  top: calc(100% + 6px);
  left: 50%;
  right: auto;
  transform: translateX(-50%) scale(0);
  transform-origin: top center;
}
.tooltip-sec li:hover .tooltip-cls {
  transform: translateX(-50%) scale(1);
}
.tooltip-sec li .tooltip-cls::after {
  display: none;
}
.tooltip-sec li .tooltip-cls span {
  white-space: nowrap;
} 


.coming-soon-toast-container {
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1090;
  width: max-content;
  max-width: calc(100% - 24px);
  pointer-events: none;
}

.coming-soon-toast-container .coming-soon-toast {
  width: 340px;
  max-width: 100%;
  border: none;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 40px rgba(3, 137, 255, 0.22), 0 2px 8px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  visibility: hidden;
}

.coming-soon-toast-container .coming-soon-toast.showing,
.coming-soon-toast-container .coming-soon-toast.show {
  pointer-events: auto;
  visibility: visible;
  animation: comingSoonSlideDown 0.35s ease-out;
}

@media (max-width: 767px) {
  .header-btn.custom-dropdown .dropdown-menu {
    padding-top: 10dvh;
  }
}

@keyframes comingSoonSlideDown {
  from {
    opacity: 0;
    transform: translateY(-16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.coming-soon-toast-container .toast-header {
  background: linear-gradient(135deg, #0389ff 0%, #0056b3 100%);
  color: #fff;
  border-bottom: none;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 600;
}

.coming-soon-toast-container .coming-soon-toast-icon {
  margin-right: 10px;
  font-size: 16px;
  opacity: 0.95;
}

.coming-soon-toast-container .toast-header .btn-close {
  opacity: 0.85;
}

.coming-soon-toast-container .toast-body {
  padding: 16px 18px;
  font-size: 15px;
  font-weight: 500;
  color: #51595e;
  background: #fff;
}

@media (max-width: 576px) {
  .coming-soon-toast-container {
    top: 12px;
    left: 12px;
    right: 12px;
    transform: none;
    width: auto;
  }

  .coming-soon-toast-container .coming-soon-toast {
    width: 100%;
  }
}

#authModal {
  z-index: 1055;
}

#authModal .modal-dialog {
  z-index: 1056;
}

#authModalBackdrop {
  z-index: 1050;
}

#authModal.fade .modal-dialog {
  opacity: 0;
  transform: translateY(-16px);
  transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

#authModal.fade.show .modal-dialog {
  opacity: 1;
  transform: translateY(0);
}

.auth-modal-backdrop {
  opacity: 0;
  transition: opacity 0.25s ease-out;
}

.auth-modal-backdrop.show {
  opacity: 0.5;
}

.auth-modal-dialog {
  max-width: 900px;
}

.auth-modal-content {
  border: none;
  border-radius: 12px;
  overflow: hidden;
}

.auth-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 5;
  border: none;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  opacity: 0.6;
}

.auth-modal-welcome {
  background: linear-gradient(135deg, #0389ff 0%, #0056b3 100%);
  align-items: center;
  justify-content: center;
  padding: 30px;
}

.auth-modal-welcome .login-welcome {
  text-align: center;
}

.auth-modal-welcome .login-welcome h1 {
  color: #fff;
  margin-top: 20px;
}

.auth-modal-form {
  padding: 30px 35px;
}

.auth-modal-tabs {
  display: flex;
  width: 100%;
  border-bottom: none;
  margin-bottom: 20px;
  gap: 8px;
}

.auth-modal-tabs .nav-item {
  flex: 1;
  width: 50%;
}

.auth-modal-tabs .nav-link { 
  display: block;
  width: 100%;
  text-align: center;
  border: none;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 600;
  padding: 14px 16px;
  margin-right: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.auth-modal-tabs #auth-tab-login {
  background-color: #e8f4ff;
  color: #0389ff;
}

.auth-modal-tabs #auth-tab-login.active {
  background-color: #0389ff;
  color: #fff;
}

.auth-modal-tabs #auth-tab-register {
  background-color: #ecfdf5;
  color: #10b981;
}

.auth-modal-tabs #auth-tab-register.active {
  background-color: #10b981;
  color: #fff;
}

.auth-modal-form .auth-pane {
  display: none;
}

.auth-modal-form .auth-pane.active {
  display: block;
}

#authModal.auth-show-login .auth-welcome-login,
#authModal:not(.auth-show-register) .auth-welcome-login {
  display: block;
}

#authModal.auth-show-login .auth-welcome-register,
#authModal:not(.auth-show-register) .auth-welcome-register {
  display: none;
}

#authModal.auth-show-register .auth-welcome-login {
  display: none;
}

#authModal.auth-show-register .auth-welcome-register {
  display: block;
}

@media (max-width: 991px) {
  .auth-modal-form {
    padding: 24px 20px;
  }
}

/* Login form extras (from style.css — auth modal lacks .login-section wrapper) */
.login-form .form-sec .bottom-sec {
  display: flex;
  align-items: center;
}

.login-form .form-sec .bottom-sec label {
  font-size: 12px;
  font-weight: 500;
  text-transform: capitalize;
}

.login-form .form-sec .bottom-sec .forget-password {
  font-size: 12px;
  font-weight: 500;
  text-transform: capitalize;
  margin-top: -10px;
  color: #51595e;
}

.auth-forgot-back {
  font-size: 13px;
  font-weight: 500;
  color: #038178;
  text-decoration: none;
}

.auth-forgot-back:hover {
  color: #026860;
  text-decoration: underline;
}

.password-recovery-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
}

.password-recovery-card {
  width: 100%;
  max-width: 480px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  padding: 32px 28px;
}

.password-recovery-card h2 {
  color: #038178;
  margin-bottom: 1rem;
}

.login-form .form-sec .btn-section {
  margin-top: 30px;
  display: flex;
  align-items: center;
}

/* Social login links */
.login-form .form-sec .connect-with {
  margin-top: 45px;
  text-align: center;
}

.login-form .form-sec .connect-with h6,
.login-form .form-sec .connect-with .h6 {
  position: relative;
  z-index: 1;
  display: block;
}

.login-form .form-sec .connect-with h6 span,
.login-form .form-sec .connect-with .h6 span {
  font-size: 12px;
  font-weight: 600;
  background-color: #ffffff;
  padding: 0 10px;
}

.login-form .form-sec .connect-with h6:after,
.login-form .form-sec .connect-with .h6:after {
  content: "";
  position: absolute;
  left: 50%;
  width: 70%;
  height: 1px;
  top: 6px;
  background-color: rgba(0, 0, 0, 0.1);
  transform: translateX(-50%);
  z-index: -1;
}

.login-form .form-sec .connect-with .social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 30px;
}

.login-form .form-sec .connect-with .social-links li {
  width: 50px;
  height: 50px;
  margin: 0 12px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.login-form .form-sec .connect-with .social-links li a {
  line-height: 1;
}

.login-form .form-sec .connect-with .social-links li:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  z-index: -1;
  transform: scale(1);
  transition: all 0.3s ease;
}

.login-form .form-sec .connect-with .social-links li svg {
  width: 24px;
  height: 24px;
  fill: #ffffff;
  transition: all 0.3s ease;
}

.login-form .form-sec .connect-with .social-links li.facebook {
  box-shadow: 0px 6px 8px rgba(56, 92, 180, 0.21);
}

.login-form .form-sec .connect-with .social-links li.facebook:after {
  background-color: #385cb4;
}

.login-form .form-sec .connect-with .social-links li.twitter {
  box-shadow: 0px 6px 8px rgba(0, 160, 221, 0.21);
}

.login-form .form-sec .connect-with .social-links li.twitter:after {
  background-color: #00a0dd;
}

.login-form .form-sec .connect-with .social-links li.google {
  box-shadow: 0px 6px 8px rgba(254, 70, 83, 0.21);
}

.login-form .form-sec .connect-with .social-links li.google:after {
  background-color: #fe4653;
}

.login-form .form-sec .connect-with .social-links li.google svg {
  width: 30px;
  height: 30px;
}

.login-form .form-sec .connect-with .social-links li:hover:after {
  transform: scale(0);
  transition: all 0.3s ease;
}

.login-form .form-sec .connect-with .social-links li:hover.facebook svg {
  fill: #385cb4;
  transition: all 0.3s ease;
}

.login-form .form-sec .connect-with .social-links li:hover.twitter svg {
  fill: #00a0dd;
  transition: all 0.3s ease;
}

.login-form .form-sec .connect-with .social-links li:hover.google svg {
  fill: #fe4653;
  transition: all 0.3s ease;
}

/* Dog sports grid (sidebar on news feed) */
.suggestion-box .dog-sports-grid .sport-card {
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.suggestion-box .dog-sports-grid .sport-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.suggestion-box .dog-sports-grid .story-bg {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1 / 1.15;
}

.suggestion-box .dog-sports-grid .story-bg .bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.suggestion-box .dog-sports-grid .story-content {
  padding: 10px 8px;
}

.suggestion-box .dog-sports-grid .story-content h6 {
  max-width: none;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 2px;
}

.suggestion-box .dog-sports-grid .story-content span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.3;
  font-size: 10px;
  white-space: normal;
  opacity: 0.95;
}

@media (max-width: 767px) {
  .suggestion-box .dog-sports-grid .story-content h6 {
    font-size: 12px;
  }
}

/* Dog sport article pages (sample.php template) */
.sport-article h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.35rem;
}

.sport-article h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1.1rem;
}

.sport-article p,
.sport-article li {
  line-height: 1.75;
}

.sport-article ul,
.sport-article ol {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

.sport-article-figure img {
  width: 100%;
}

.sport-article .lead {
  font-size: 1.05rem;
}

@media (max-width: 576px) {
  .login-form .form-sec .bottom-sec {
    display: block;
  }

  .login-form .form-sec .btn-section {
    margin-top: 20px;
    display: block;
  }

  .login-form .form-sec .btn-section .btn {
    padding: 6px 25px !important;
    width: 100%;
    margin-top: 10px;
  }

  .login-form .form-sec .connect-with {
    margin-top: 25px;
  }

  .login-form .form-sec .connect-with .social-links {
    margin-top: 20px;
  }

  .login-form .form-sec .connect-with .social-links li {
    width: 40px;
    height: 40px;
    margin: 0 6px;
  }

  .login-form .form-sec .connect-with .social-links li svg {
    width: 18px;
    height: 18px;
  }

  .login-form .form-sec .connect-with .social-links li.google svg {
    width: 25px;
    height: 25px;
  }
}



.detail-part ul {
  padding-left: 16px;
  list-style-type: initial;
  margin-bottom: 10px;
  padding-right: 0px;
}
.detail-part ul li{
  margin-bottom: 10px;
  font-size: calc(14px + (16 - 14) * ((100vw - 300px) / (1920 - 300)));
  color: rgba(100, 117, 137, 0.7);
}
.detail-part figure img {
  max-width: 95dvw;
  height: auto;
}
.post_img_bg {
  min-height: 230px;
  height: 230px;
  display: block;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.post_img_bg.large_image {
  height: 400px;
}

.post-panel .post-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0;
}

body.theme-switching {
  visibility: hidden;
}

.category-pagination-wrap {
  padding-top: 12px;
}

.category-pagination-info {
  font-size: 14px;
  letter-spacing: 0.02em;
  margin-bottom: 14px !important;
}

.category-pagination-wrap .theme-pagination {
  gap: 2px;
}

.category-pagination-wrap .theme-pagination .page-item.page-nav .page-link {
  width: auto;
  min-width: 40px;
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(3, 137, 201, 0.08);
  transition: background 0.2s ease, transform 0.2s ease;
}

.category-pagination-wrap .theme-pagination .page-item.page-nav:not(.disabled) .page-link:hover {
  background: rgba(3, 137, 201, 0.18);
}

.category-pagination-wrap .theme-pagination .page-item:not(.page-nav):not(.ellipsis) .page-link {
  width: 36px;
  height: 36px;
  font-weight: 600;
  border-radius: 50%;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.category-pagination-wrap .theme-pagination .page-item:not(.page-nav):not(.ellipsis):not(.active) .page-link:hover {
  background: rgba(3, 137, 201, 0.1);
}

.category-pagination-wrap .theme-pagination .page-item.active .page-link {
  box-shadow: 0 4px 14px rgba(3, 137, 201, 0.35);
  transform: scale(1.06);
}

.category-pagination-wrap .theme-pagination .page-item.disabled .page-link {
  opacity: 0.35;
  pointer-events: none;
  background: transparent;
}

.category-pagination-wrap .theme-pagination .page-item.ellipsis .page-link {
  pointer-events: none;
  background: transparent;
  letter-spacing: 2px;
  font-weight: 700;
}

#articles-container.category-page-transition .category-article-item {
  animation: categoryPageFadeIn 0.35s ease both;
}

@keyframes categoryPageFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
} 



.subcategories_slider .suggestion-box {
  padding: 0;
}

.subcategories_slider a.subcategory-slide {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.subcategories_slider a.subcategory-slide:hover {
  color: inherit;
}

.full_categories_list .sidebar-list-nested {
  padding-left: 14px;
  margin-top: 2px;
  margin-bottom: 2px;
}

.blog-sidebar .blog-wrapper.full_categories_list .sidebar-content .sidebar-list a.current-category,
.blog-sidebar .blog-wrapper.full_categories_list .sidebar-content .sidebar-list-nested a.current-category {
  background: rgba(3, 137, 201, 0.12);
  border-radius: 6px;
  color: #0389c9;
  font-weight: 600;
  display: block;
}

.blog-sidebar .blog-wrapper.full_categories_list .sidebar-content .sidebar-list a.current-category i,
.blog-sidebar .blog-wrapper.full_categories_list .sidebar-content .sidebar-list-nested a.current-category i {
  color: #0389c9;
}

@media (max-width: 576px) {
  .subcategories_slider .subcategories-music-slider .slick-slide {
    width: 150px !important;
    margin-right: 10px;
  }

  .subcategories_slider .subcategory-slide {
    width: 150px;
  }

  .subcategories_slider .subcategory-slide .story-bg,
  .subcategories_slider .subcategory-slide .story-bg img {
    width: 150px;
  }

  .subcategories_slider .subcategory-slide .story-content h6 {
    max-width: 140px;
  }
}

.index-more-articles {
  margin-top: 20px;
  padding-bottom: 10px;
}

.index-more-articles .btn {
  min-width: 220px;
}

.blog-sidebar .blog-wrapper #search-form,
.blog-sidebar .blog-wrapper .sidebar-search-form {
  margin: 0;
}

.blog-sidebar .blog-wrapper .search-bar .search-bar-submit {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 14px;
  width: 16px;
  height: 16px;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.blog-sidebar .blog-wrapper .search-bar .search-bar-submit:focus {
  outline: none;
}

.blog-sidebar .blog-wrapper .search-bar .search-bar-submit i,
.blog-sidebar .blog-wrapper .search-bar .search-bar-submit svg {
  position: static;
  top: auto;
  left: auto;
  transform: none;
  color: #3b5999;
}

.suggestion-box .story-box .story-content .ao-title {
  color: #ffffff;
  text-transform: capitalize;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  opacity: 0.9;
  font-size: 18px;
  overflow: visible;
  margin: 0 auto;
}

/* Social embed frames (article sidebar) */
.article-social-sidebar {
  padding-top: 0;
}

.social-embed-frame {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 24px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
}

.social-embed-frame__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.social-embed-frame__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-size: 14px;
}

.social-embed-frame__body {
  background: #fff;
  padding: 10px;
  line-height: 0;
}

.social-embed-frame__body iframe {
  width: 100%;
  max-width: 100%;
  display: block;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.social-embed-frame--facebook {
  background: #1877f2;
}

.social-embed-frame--instagram {
  background: linear-gradient(135deg, #f77737 0%, #e4405f 45%, #c13584 100%);
}

.social-embed-frame--tiktok {
  background: #010101;
}

.social-embed-frame--profile .social-embed-frame__header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.profile-social-embed__link {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
}

.profile-social-embed__link:hover {
  color: #fff;
  text-decoration: underline;
}

.profile-social-embeds {
  margin-top: 16px;
}

.profile-social-embeds .social-embed-frame {
  margin-bottom: 16px;
}

.profile-social-embeds .social-embed-frame:last-child {
  margin-bottom: 0;
}

.profile-social-embed__body iframe {
  width: 100%;
  min-height: 460px;
}

.profile-social-embed__body .instagram-media {
  min-width: 280px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

@media (max-width: 991px) {
  .social-embed-frame {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* CKEditor article body images */
.article-body-content figure,
.article-body-content figure.image {
  max-width: 100%;
  margin: 1.25rem 0;
}

.article-body-content img,
.article-body-content .article-content-img {
  max-width: 100%;
  height: auto;
  display: block;
  cursor: zoom-in;
}

.article-body-content figure.image img {
  width: auto;
  max-width: 100%;
}

/* Article image lightbox */
.article-image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.article-image-lightbox.is-open {
  display: flex;
}

body.article-lightbox-open {
  overflow: hidden;
}

.article-image-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
}

.article-image-lightbox__stage {
  position: relative;
  z-index: 1;
  max-width: 96vw;
  max-height: 96vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.article-image-lightbox__image {
  max-width: 96vw;
  max-height: 96vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}

.article-image-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease;
}

.article-image-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.28);
}

/* Profile gallery viewer: hide side post UI (react/comment/share) for now; remove --media-only to restore */
#imageModel .image-gallery--media-only > .row > [class*="col-xl-3"],
#imageModel .image-gallery--media-only .comment-part {
  display: none !important;
}

#imageModel .image-gallery--media-only > .row > [class*="col-xl-9"] {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

#imageModel .image-gallery--media-only .img-part img {
  width: auto;
  max-width: 92%;
  max-height: 92vh;
}

.event-box .event_post_description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0;
}
.event-box .event_post_title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0;
  font-size: 14px;
}
.event-box .event_content {
  max-height: 210px;
}

/* Events calendar: FullCalendar 6 compact layout + 2-line event titles */
.calender-section.custom-calender .fc-toolbar.fc-header-toolbar {
  padding: 12px 16px;
}

.calender-section.custom-calender .fc-toolbar-title {
  font-size: 16px;
}

.calender-section.custom-calender .fc-col-header-cell {
  height: 28px;
  font-size: 11px;
  vertical-align: middle;
}

.calender-section.custom-calender .fc-daygrid-day-frame {
  min-height: 3.4em;
  height: auto !important;
}

.calender-section.custom-calender .fc-daygrid-day-events {
  margin-bottom: 2px;
}

.calender-section.custom-calender .fc-daygrid-body-balanced .fc-daygrid-day-events {
  position: relative;
}

.calender-section.custom-calender .fc-daygrid-more-link {
  display: none;
}

.calender-section.custom-calender .fc-daygrid-event {
  background-color: #edf7fb;
  border: 2px solid #647589;
  font-size: 10px;
  line-height: 1.25;
  margin-top: 1px;
  height: auto;
  white-space: normal;
  color: #647589;
}

.calender-section.custom-calender .fc-daygrid-event .fc-event-main,
.calender-section.custom-calender .fc-daygrid-event .fc-event-title {
  white-space: normal;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  padding: 1px 3px;
}

.calender-section.custom-calender .fc-button-primary {
  background-color: #0389c9;
  border-color: #0389c9;
  text-transform: capitalize;
}

.calender-section.custom-calender .fc-daygrid-day-number {
  color: #647589;
}

.event-flag-img {
  border: 2px solid #647589;
  border-radius: 2px;
  display: inline-block;
  height: 12px;
  margin-right: 4px;
  object-fit: cover;
  vertical-align: -1px;
  width: 18px;
}

.event-calendar-filters {
  align-items: stretch;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  margin-bottom: 12px;
  width: 100%;
}

.event-calendar-filter-group {
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
  width: 25%;
}

.event-calendar-filter-group + .event-calendar-filter-group {
  border-left: 1px solid #dbe3ea;
}

.event-calendar-filter-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 6px;
}

.event-calendar-flag-filters,
.event-calendar-chip-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.event-calendar-flag-btn {
  align-items: center;
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  width: 48px;
  padding: 3px;
}

.event-calendar-flag-btn:hover {
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.event-calendar-flag-btn.is-active {
  box-shadow: 0 0 0 2px rgba(3, 129, 120, 0.15);
  transform: translateY(-1px);
}

.event-calendar-flag-icon {
  display: block;
  height: 100%;
  width: 100%;
}

.event-calendar-flag-icon img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
  border-radius: 8px;
}

.event-calendar-chip-btn {
  background: #fff;
  border: 1px solid #dbe3ea;
  border-radius: 999px;
  color: #334155;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  padding: 8px 14px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.event-calendar-chip-btn:hover {
  background: #f8fafc;
}

.event-calendar-chip-btn.is-active {
  background: #038178;
  box-shadow: 0 4px 12px rgba(3, 129, 120, 0.25);
  color: #fff;
}

.event-calendar-loading {
  display: none;
  font-size: 13px;
  margin-bottom: 10px;
  text-align: center;
}

.event-calendar-loading.is-visible {
  display: block;
}

.event-page .event-category {
  display: block;
  padding: 16px;
}
.event-page .event-category .suggestion-box {
  flex: none;
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin-bottom: 0;
}
.event-page .event-category-slide {
  display: block;
  text-align: center;
  color: inherit;
}
.event-page .event-category-slide:hover {
  color: inherit;
}
.event-page .event-category-name {
  margin: 8px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: #51595e;
  line-height: 1.3;
}

#calendar.is-loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

#event_calendar_detail .event-flag-it,
#event_calendar_detail .event-flag-gr {
  font-size: 1em;
  margin-right: 4px;
}

#event_calendar_detail {
  scroll-margin-top: 80px;
  border-radius: 0 0 5px 5px;
}

#event_calendar_detail.is-updated {
  animation: event-detail-glow 1.4s ease-out;
}

#event_calendar_detail.is-updated .event-content {
  animation: event-detail-fade-in 0.35s ease-out;
}

@keyframes event-detail-glow {
  0% {
    box-shadow: inset 0 0 0 0 rgba(82, 128, 164, 0);
  }
  25% {
    box-shadow: inset 0 0 0 2px rgba(82, 128, 164, 0.85),
                0 0 28px rgba(82, 128, 164, 0.45);
  }
  100% {
    box-shadow: inset 0 0 0 0 rgba(82, 128, 164, 0);
  }
}

@keyframes event-detail-fade-in {
  from {
    opacity: 0.4;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #event_calendar_detail.is-updated {
    animation: none;
    box-shadow: inset 0 0 0 2px rgba(82, 128, 164, 0.85);
  }

  #event_calendar_detail.is-updated .event-content {
    animation: none;
  }
}

.event-cover .event-timeline .timeline-content li.event-timeline-month {
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.event-cover .event-timeline .timeline-content li.event-timeline-month:hover {
  transform: translateY(-1px);
}

.event-cover .event-timeline .timeline-content li.is-current h4,
.event-cover .event-timeline .timeline-content li.is-current .h4 {
  color: #038178;
  font-size: 1.15em;
}

.event-cover .event-timeline .timeline-content li.is-current h6,
.event-cover .event-timeline .timeline-content li.is-current .h6 {
  color: #038178;
  font-weight: 700;
}

.event-cover .event-timeline .timeline-content li.is-selected h4,
.event-cover .event-timeline .timeline-content li.is-selected .h4,
.event-cover .event-timeline .timeline-content li.is-selected h6,
.event-cover .event-timeline .timeline-content li.is-selected .h6 {
  color: #038178;
}

.event-cover .event-timeline .timeline-content li.is-selected {
  transform: translateY(-2px);
}

.conversation-panel .friend-section .friend-list .friend-box {
  cursor: pointer;
}

.conversation-panel {
  overflow: visible;
}

.conversation-panel .search-bar {
  position: relative;
}

.blog-sidebar .conversation-panel {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 10px;
  position: relative;
  top: auto;
  background: transparent;
  box-shadow: none;
}

.blog-sidebar .conversation-panel .friend-list {
  max-height: 420px;
  overflow-y: auto;
}

.blog-sidebar .conversation-panel .panel-header,
.blog-sidebar .conversation-panel .friend-section .header-section,
.blog-sidebar .conversation-panel .friend-section .friend-list .friend-box .media-body {
  display: block !important;
}

/* Athlete article sidebar: Europe image link (visible on all breakpoints) */
.athlete-judges-sidebar-col {
  display: block !important;
}

.athlete-judges-sidebar {
  display: block !important;
  width: 100%;
  margin-top: 0;
}

a.athlete-judges-map-card {
  display: block;
  margin-bottom: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
  background: #eef3f8;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

a.athlete-judges-map-card:hover,
a.athlete-judges-map-card:focus {
  outline: none;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.12);
  transform: translateY(-1px);
}

.athlete-judges-map-head {
  padding: 12px 14px 8px;
}

.athlete-judges-map-head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #51595e;
}

.athlete-judges-map-wrap {
  width: 100%;
  padding: 0 10px 12px;
  line-height: 0;
}

.athlete-judges-map-img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 991.98px) {
  .athlete-judges-sidebar-col {
    order: -1;
    margin-bottom: 20px;
  }
}

html[data-theme="dark"] a.athlete-judges-map-card {
  background: #151c26;
  border-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .athlete-judges-map-head h3 {
  color: #e5e7eb;
}

.conversation-panel .judge-country-flag,
.judges-results-panel .judge-country-flag {
  width: 18px;
  height: auto;
  margin-right: 6px;
  vertical-align: middle;
  border-radius: 2px;
  display: inline-block;
}

.judge-inactive-popup {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(0, 0, 0, 0.45);
}

.judge-inactive-popup[hidden] {
  display: none !important;
}

.judge-inactive-popup__card {
  max-width: 28rem;
  width: 100%;
  padding: 1.35rem 1.5rem;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  text-align: center;
}

.judge-inactive-popup__text {
  margin: 0;
  color: #1a1a1a;
  font-size: 1.02rem;
  line-height: 1.55;
}

/* Index: keep the full desktop conversation panel visible on mobile/tablet */
@media (max-width: 1199.98px) {
  .page-body.index-home .conversation-panel {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 30px !important;
    margin: 0 0 30px !important;
    position: relative !important;
    top: auto !important;
  }

  .page-body.index-home .conversation-panel .panel-header {
    display: block !important;
  }

  .page-body.index-home .conversation-panel .search-bar .lg-search {
    display: block !important;
  }

  .page-body.index-home .conversation-panel .search-bar .xs-search {
    display: none !important;
  }

  .page-body.index-home .conversation-panel .friend-section .header-section {
    display: block !important;
  }

  .page-body.index-home .conversation-panel .friend-section .friend-list {
    margin-top: 20px !important;
  }

  .page-body.index-home .conversation-panel .friend-section .friend-list .friend-box .media-body {
    display: block !important;
  }

  .page-body.index-home .conversation-panel .friend-section .friend-list .friend-box .user-img {
    margin-right: 12px !important;
  }

  .page-body.index-home .conversation-panel .friend-section .friend-list .friend-box + .friend-box {
    margin-top: 18px !important;
  }
}

.conversation-profile-search-popup {
  position: fixed;
  z-index: 1050;
  width: 420px;
  max-width: calc(100vw - 24px);
  background: #fff;
  border: 1px solid #dce7e6;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
  max-height: min(70vh, 520px);
  overflow: hidden;
}

.conversation-profile-search-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1.15rem;
  border-bottom: 1px solid #edf2f2;
}

.conversation-profile-search-popup__title {
  font-weight: 600;
  color: #038178;
  font-size: 1rem;
}

.conversation-profile-search-popup__close {
  border: 0;
  background: transparent;
  font-size: 1.35rem;
  line-height: 1;
  color: #6c757d;
  cursor: pointer;
}

.conversation-profile-search-popup__body {
  max-height: calc(min(70vh, 520px) - 56px);
  overflow-y: auto;
  padding: 0.5rem 0;
}

.conversation-profile-search-popup__hint,
.conversation-profile-search-popup__empty,
.conversation-profile-search-popup__loading {
  padding: 0.9rem 1.15rem;
  font-size: 0.95rem;
}

.conversation-profile-search-popup__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.conversation-profile-search-popup__list .friend-box {
  cursor: pointer;
  padding: 0.85rem 1.15rem;
}

.conversation-profile-search-popup__list .friend-box .media {
  align-items: center;
}

.conversation-profile-search-popup__list .friend-box .user-img {
  width: 56px;
  height: 56px;
  min-width: 56px;
  margin-right: 12px;
}

.conversation-profile-search-popup__list .friend-box .user-img img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 8px;
}

.conversation-profile-search-popup__list .friend-box .media-body h5,
.conversation-profile-search-popup__list .friend-box .media-body .h5 {
  font-size: 1rem;
  margin-bottom: 0.2rem;
}

.conversation-profile-search-popup__list .friend-box .media-body h6,
.conversation-profile-search-popup__list .friend-box .media-body .h6 {
  font-size: 0.88rem;
}

.conversation-profile-search-popup__list .friend-box:hover {
  background: #f4faf9;
}

.conversation-profile-search-popup__list .friend-box + .friend-box {
  border-top: 1px solid #f0f4f4;
}

.profile-switcher-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.profile-switcher-label {
  font-weight: 600;
  color: #038178;
}

.profile-switcher-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.profile-switcher-link {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0.45rem 0.85rem;
  border: 1px solid #dce7e6;
  border-radius: 999px;
  background: #fff;
  color: #333;
  text-decoration: none;
  line-height: 1.2;
}

.profile-switcher-link small {
  font-size: 0.72rem;
  color: #6c757d;
}

.profile-switcher-link.is-active,
.profile-switcher-link:hover {
  border-color: #038178;
  color: #038178;
}

.profile-type-label {
  color: #038178;
  font-weight: 500;
}

.profile-badges-tags {
  list-style: none;
  padding: 0;
  margin: 6px 0 10px;
}
.profile-badges-tags li {
  padding: 4px 10px;
  margin: 0 8px 6px 0;
  border-radius: 4px;
  text-transform: none;
  display: inline-block;
  background-color: #edf7fb;
  color: #0389c9;
  font-size: 13px;
}

.profile-about-empty .details {
  padding: 8px 0;
}

.profile-about-empty h6 {
  font-size: 13px;
  line-height: 1.4;
}

.edit-profile-sec .profile-wrap .edit-content .profile-pic > div img#profile_about_avatar_preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.profile-about .about-footer ul li.ig a,
.profile-menu .right-menu li.profile-social-link.ig a {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.profile-about .about-footer ul li.tt a,
.profile-menu .right-menu li.profile-social-link.tt a {
  background: #010101;
}

.profile-about .about-footer ul li.imdb a,
.profile-menu .right-menu li.profile-social-link.imdb a {
  background: #f5c518;
}

.profile-about .about-footer ul li.web a,
.profile-menu .right-menu li.profile-social-link.web a {
  background: #038178;
}

.profile-about .about-footer ul li.tt a i,
.profile-about .about-footer ul li.web a i,
.profile-menu .right-menu li.profile-social-link.tt a i,
.profile-menu .right-menu li.profile-social-link.web a i {
  color: #fff;
  font-size: 27px;
}

.profile-about .about-footer ul li.imdb a i,
.profile-menu .right-menu li.profile-social-link.imdb a i {
  color: #000;
  font-size: 27px;
  width: 18px;
}

.profile-about .about-footer ul li.tt a svg,
.profile-about .about-footer ul li.web a svg,
.profile-menu .right-menu li.profile-social-link a svg {
  fill: #fff;
}

.profile-menu .right-menu li.profile-social-link {
  background-color: transparent;
}

.profile-menu .right-menu li.profile-social-link a {
  padding: 6px;
  border-radius: 5px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-menu .right-menu li.profile-social-link.fb a {
  background-color: #385cb4;
}

.profile-menu .right-menu li.profile-social-link a svg {
  width: 28px;
  height: 28px;
  margin-right: 0;
  stroke: none;
}

.profile-about .about-list a,
.about-profile .about-list a {
  color: #038178;
  word-break: break-all;
}

.profile-about .about-list a:hover,
.about-profile .about-list a:hover {
  text-decoration: underline;
}

.content-left .profile-social-embed__body iframe {
  min-height: 300px;
  max-height: 420px;
}

.profile-detail .profile-follow-btn {
  margin-top: 12px;
}

.profile-action-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.profile-action-btns .btn {
  margin-top: 0;
}

.profile-detail .profile-follow-btn.disabled,
.profile-friend-btn.disabled {
  opacity: 0.7;
  pointer-events: none;
}

.profile-follow-menu-btn.is-following,
.profile-friend-btn.is-friends {
  color: #038178;
}

.profile-friend-btn--decline {
  min-width: 88px;
}

/* page.php article detail — same react/like markup as feed cards, different wrapper */
.blog-single-detail .like-panel {
  padding: 15px 35px;
  border-top: 1px solid #edf7fb;
  border-bottom: 1px solid #edf7fb;
  display: flex;
  align-items: center;
}

.blog-single-detail .like-panel .left-emoji {
  display: flex;
  align-items: center;
}

.blog-single-detail .like-panel .left-emoji ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-single-detail .like-panel .left-emoji ul li img {
  width: 20px;
}

.blog-single-detail .like-panel .left-emoji ul li + li {
  margin-left: 10px;
}

.blog-single-detail .like-panel .left-emoji h6 {
  font-size: calc(11px + (13 - 11) * ((100vw - 320px) / (1920 - 320)));
  color: #647589;
  margin: 0 0 0 6px;
  font-weight: 600;
}

.blog-single-detail .like-panel .right-stats {
  margin-left: auto;
}

.blog-single-detail .like-panel .right-stats ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-single-detail .like-panel .right-stats ul li h5 {
  font-size: calc(11px + (13 - 11) * ((100vw - 320px) / (1920 - 320)));
  color: #647589;
  text-transform: capitalize;
  margin: 0;
}

.blog-single-detail .like-panel .right-stats ul li h5 svg,
.blog-single-detail .like-panel .right-stats ul li h5 i,
.blog-single-detail .like-panel .right-stats ul li h5 img {
  display: none;
}

.blog-single-detail .like-panel .right-stats ul li h5 span {
  font-weight: 700;
}

.blog-single-detail .like-panel .right-stats ul li + li {
  margin-left: 15px;
}

.blog-single-detail .post-react {
  padding: 14px;
  border-bottom: 1px solid #edf7fb;
  background-color: rgba(237, 247, 251, 0.25);
}

.blog-single-detail .post-react > ul {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-single-detail .post-react ul li a {
  display: flex;
  align-items: center;
  color: #647589;
  text-transform: capitalize;
  font-weight: 500;
}

.blog-single-detail .post-react ul li a svg {
  margin-right: 5px;
}

.blog-single-detail .post-react .react-btn {
  position: relative;
}

.blog-single-detail .post-react .react-btn .react-box,
.post-wrapper[data-post-id] .post-react .react-btn .react-box {
  position: absolute;
  bottom: 18px;
  left: 10px;
  background-color: #ffffff;
  padding: 12px 15px;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.14);
  border-radius: 5px;
  display: none;
  z-index: 3;
}

.blog-single-detail .post-react .react-btn .react-box ul,
.post-wrapper[data-post-id] .post-react .react-btn .react-box ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-single-detail .post-react .react-btn .react-box ul li,
.post-wrapper[data-post-id] .post-react .react-btn .react-box ul li {
  padding: 0 6px;
  position: relative;
  list-style: none;
}

.blog-single-detail .post-react .react-btn .react-box ul li img,
.post-wrapper[data-post-id] .post-react .react-btn .react-box ul li img {
  width: 28px;
  transform: scale(0.95, 0.95) translate(0, 0);
  transition: transform 200ms ease;
}

.blog-single-detail .post-react .react-btn .react-box ul li:after,
.post-wrapper[data-post-id] .post-react .react-btn .react-box ul li:after {
  display: block;
  position: absolute;
  width: fit-content;
  bottom: 40px;
  content: attr(data-title);
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 4px 8px;
  border-radius: 20px;
  opacity: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  text-transform: capitalize;
  pointer-events: none;
  white-space: nowrap;
}

.blog-single-detail .post-react .react-btn .react-box ul li:hover img,
.post-wrapper[data-post-id] .post-react .react-btn .react-box ul li:hover img {
  transform: scale(1, 1) translate(0, -6px);
  transition: all 0.2s ease;
}

.blog-single-detail .post-react .react-btn .react-box ul li:hover:after,
.post-wrapper[data-post-id] .post-react .react-btn .react-box ul li:hover:after {
  opacity: 1;
}

.blog-single-detail .post-react .react-btn .react-box.show,
.post-wrapper[data-post-id] .post-react .react-btn .react-box.show {
  display: block;
}

.post-wrapper[data-post-id] .post-react .react-btn {
  position: relative;
}

.post-react .react-box .article-react-btn.is-active img {
  transform: scale(1.15);
}

.post-react .react-box .article-react-btn.disabled {
  opacity: 0.7;
  pointer-events: none;
}

.post-react .comment-click {
  position: relative;
}

.post-react .comment-soon-box {
  position: absolute;
  bottom: 18px;
  left: 0;
  background-color: #ffffff;
  padding: 10px 14px;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.14);
  border-radius: 5px;
  display: none;
  z-index: 2;
  white-space: nowrap;
}

.post-react .comment-soon-box p {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: #51595e;
}

.post-react .comment-soon-box.show {
  display: block;
}

.post-react .comment-live-box {
  white-space: normal;
  min-width: 280px;
  max-width: min(360px, 80vw);
  max-height: 360px;
  overflow-y: auto;
}

.post-react .comment-live-list {
  max-height: 180px;
  overflow-y: auto;
  margin-bottom: 8px;
}

.post-react .comment-live-item {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  text-align: left;
}

.post-react .comment-live-item img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.post-react .comment-live-item p {
  margin: 0;
  white-space: normal;
  font-weight: 400;
}

.post-react .comment-live-form textarea {
  min-width: 220px;
  font-size: 13px;
}

.share-modal .modal-header {
  align-items: center;
}

.share-modal .modal-header .modal-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.share-modal__post-description {
  margin: 8px 0 0;
  font-size: 13px;
  color: #64748b;
  line-height: 1.45;
}

.share-modal__options {
  margin-top: 18px;
}

.share-modal__option + .share-modal__option {
  margin-top: 10px;
}

.share-modal__option-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e8edf2;
  border-radius: 8px;
  background: #fff;
  color: #2f3a43;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.share-modal__option-btn:hover:not(:disabled) {
  border-color: #0389ff;
  background: #f5faff;
}

.share-modal__option-btn:disabled {
  opacity: 0.65;
  cursor: wait;
}

.share-modal__option-btn i {
  width: 18px;
  text-align: center;
  color: #0389ff;
}

.share-modal__option--empty {
  padding: 12px 0 0;
  font-size: 14px;
}

.share-modal__post-image {
  max-height: 300px;
}

.profile-post-comment {
  margin-bottom: 12px;
}

.profile-shared-article {
  display: block;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  margin: 10px;
}

.profile-shared-article:hover {
  border-color: #0389ff;
  box-shadow: 0 0 0 1px rgba(3, 137, 255, 0.12);
  color: inherit;
  text-decoration: none;
}

.profile-shared-article__media img {
  width: 100%;
  display: block;
  max-height: 220px;
  object-fit: cover;
}

.profile-shared-article__body {
  padding: 14px 16px;
}

.profile-shared-article__body h5 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 600;
  color: #1e293b;
}

.profile-shared-article__origin {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
}

.profile-shared-article__origin span {
  color: #0389ff;
}

.profile-shared-article__description {
  font-size: 13px;
  line-height: 1.45;
  color: #64748b;
}

.profile-shared-article__description p:last-child {
  margin-bottom: 0;
}

a.mention {
  color: #0389ff;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

a.mention:hover {
  text-decoration: underline;
}

.mention-preview-popup {
  position: absolute;
  z-index: 1080;
  width: 220px;
  padding: 28px 22px 24px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14), 0 2px 8px rgba(15, 23, 42, 0.06);
  text-align: center;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.mention-preview-popup.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.mention-preview-popup__avatar-wrap {
  position: relative;
  width: 96px;
  height: 96px;
  margin: 0 auto 18px;
}

.mention-preview-popup__avatar-wrap::before {
  content: '';
  position: absolute;
  left: -7px;
  top: -7px;
  width: 78px;
  height: 78px;
  border: 3px solid #0389ff;
  border-radius: 50%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: rotate(-35deg);
  pointer-events: none;
}

.mention-preview-popup__avatar {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  background: #eef2f7;
}

.mention-preview-popup__name {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: #2f3a4a;
}

.mention-preview-popup__subtitle {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.35;
  color: #8a94a6;
  min-height: 1.35em;
}

.mention-preview-popup__btn {
  display: inline-block;
  min-width: 132px;
  padding: 8px 18px;
  border: 1px solid #0389ff;
  border-radius: 4px;
  background: #fff;
  color: #0389ff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.mention-preview-popup__btn:hover {
  background: #0389ff;
  color: #fff;
  text-decoration: none;
}

.profile-menu ul li a > i[class*="fa-"] {
  margin-right: 5px;
  color: #647589;
  font-size: 14px;
  line-height: 1;
  width: 14px;
  text-align: center;
  transition: color 0.5s ease;
}

.profile-menu ul li a:hover > i[class*="fa-"],
.profile-menu ul li a.active > i[class*="fa-"],
.profile-menu ul li.active > a > i[class*="fa-"],
.profile-menu ul li:hover > a > i[class*="fa-"] {
  color: #0389c9;
}

#profile_dog_add_form_wrap {
  overflow: visible;
  position: relative;
}

.profile-dog-gender-radios label {
  cursor: pointer;
  font-size: 14px;
  color: #495057;
  font-weight: 500;
}

.profile-dog-gender-radios input[type="radio"] {
  margin-right: 6px;
  vertical-align: middle;
}

#profile_dog_add_form .select2-container {
  width: 100% !important;
}

#profile_dog_add_form .select2-container .select2-selection--single {
  height: 38px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
}

#profile_dog_add_form .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 36px;
  padding-left: 12px;
  color: #495057;
}

#profile_dog_add_form .select2-container .select2-selection--single .select2-selection__arrow {
  height: 36px;
}

#profile_dog_add_form .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #6c757d;
}

#profile_dog_add_form_wrap .select2-container--open .select2-dropdown,
.select2-container--open .select2-dropdown {
  z-index: 1056;
}

.profile-dog-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.profile-dog-card-actions .btn {
  margin: 0;
}

.profile-dogs-list .profile-box.friend-box {
  position: relative;
}

.profile-page .profile-dogs-list .profile-dog-delete-icon {
  position: absolute;
  right: 14px;
  bottom: 14px;
  top: auto;
  left: auto;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: none !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  color: #e74c3c;
  opacity: 0.8;
  cursor: pointer;
  line-height: 0;
}

.profile-page .profile-dogs-list .profile-dog-delete-icon:hover,
.profile-page .profile-dogs-list .profile-dog-delete-icon:focus {
  opacity: 1;
  color: #c0392b;
  outline: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.profile-page .profile-dogs-list .profile-dog-delete-icon svg,
.profile-page .profile-dogs-list .profile-dog-delete-icon i {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  color: inherit;
}

.profile-menu .profile-dog-delete-menu a {
  opacity: 0.45;
}

.profile-menu .profile-dog-delete-menu a:hover,
.profile-menu .profile-dog-delete-menu a:focus {
  opacity: 0.75;
}

.profile-dog-shared-badge {
  font-size: 12px;
  font-weight: 500;
}

.profile-dog-guardian-list .profile-dog-guardian-item + .profile-dog-guardian-item,
.profile-dog-guardian-search-results .profile-dog-guardian-search-item + .profile-dog-guardian-search-item {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #edf7fb;
}

.profile-dog-guardian-avatar {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  object-fit: cover;
  flex-shrink: 0;
}

.profile-dog-guardian-item .media,
.profile-dog-guardian-search-item .media {
  display: flex;
  align-items: center;
}

.profile-dog-guardian-item .media-body,
.profile-dog-guardian-search-item .media-body {
  flex: 1;
  min-width: 0;
}

.profile-dog-guardian-search-results {
  max-height: 220px;
  overflow-y: auto;
}

/* Edit cover control — on the banner (page-cover) */
.profile-page .page-full {
  position: relative;
}

.profile-page .page-cover .cover-img {
  height: 450px;
}

.profile-page .page-cover .page-logo {
  padding: 8px;
}

.profile-page .page-cover .page-logo a,
.profile-page .page-cover .page-logo .bg-size {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 100%;
  overflow: hidden;
}

.profile-page .page-cover .page-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 100%;
}

.profile-page .page-cover .page-name {
  width: 280px;
  max-width: calc(100% - 40px);
  background-color: white;
}

.profile-page .page-cover .page-name .profile-verified-icon {
  width: 18px;
  height: 18px;
  vertical-align: text-bottom;
}

.profile-page .page-cover .page-name .profile-badges-tags {
  margin: 8px 0 0;
  text-align: center;
}

.profile-page .page-cover .cover-content .page-stats ul li h2 svg {
  width: 22px;
  height: 22px;
  stroke: #0389c9;
}

.profile-page .page-cover .cover-content .page-stats ul li .profile-country-flag {
  width: 28px;
  height: auto;
  border-radius: 2px;
  display: inline-block;
  vertical-align: middle;
}

.profile-page .page-cover .cover-content .social-btn ul li i {
  display: none;
  font-size: 16px;
  line-height: 1;
}

.profile-page .page-cover .cover-content .social-btn ul li.tiktok {
  background-color: rgba(1, 1, 1, 0.08);
}

.profile-page .page-cover .cover-content .social-btn ul li.tiktok h6,
.profile-page .page-cover .cover-content .social-btn ul li.tiktok i {
  color: #010101;
}

.profile-page .page-cover .cover-content .social-btn ul li.tiktok:hover {
  border-color: rgba(1, 1, 1, 0.12);
}

.profile-page .page-cover .cover-content .social-btn ul li.imdb {
  background-color: rgba(245, 197, 24, 0.18);
}

.profile-page .page-cover .cover-content .social-btn ul li.imdb h6,
.profile-page .page-cover .cover-content .social-btn ul li.imdb i {
  color: #c9a227;
}

.profile-page .page-cover .cover-content .social-btn ul li.imdb:hover {
  border-color: rgba(245, 197, 24, 0.35);
}

.profile-page .page-cover .cover-content .social-btn ul li.website {
  background-color: rgba(3, 129, 120, 0.1);
}

.profile-page .page-cover .cover-content .social-btn ul li.website h6,
.profile-page .page-cover .cover-content .social-btn ul li.website i,
.profile-page .page-cover .cover-content .social-btn ul li.website svg {
  color: #038178;
  stroke: #038178;
}

.profile-page .page-cover .cover-content .social-btn ul li.website:hover {
  border-color: rgba(3, 129, 120, 0.18);
}

.profile-page .page-cover .cover-btns .profile-action-btns {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 0;
}

.profile-page .profile-cover-edit {
  position: absolute;
  top: 25px;
  right: 25px;
  z-index: 50;
}

.profile-page .profile-cover-edit .btn-white {
  background-color: #fff;
  padding: 8px 15px;
  border-radius: 5px;
  text-transform: capitalize;
  font-weight: 600;
}

.profile-page .profile-cover-edit .choose-file {
  position: relative;
}

.profile-page .profile-cover-edit .choose-file input {
  display: none;
}

.profile-page .profile-cover-edit.custom-dropdown.dropdown-sm .dropdown-menu {
  overflow: hidden;
}

.profile-page .profile-cover-edit .dropdown-menu {
  z-index: 51;
}

@media (max-width: 1460px) {
  .profile-page .page-cover .cover-content .social-btn ul li i {
    display: block;
  }
}

@media (max-width: 991.98px) {
  .profile-page .page-cover .cover-img {
    height: 220px;
  }

  .profile-page .profile-cover-edit {
    top: 15px;
    right: 15px;
  }

  .profile-page .profile-cover-edit .btn-white {
    padding: 6px 10px;
  }

  .profile-page .page-cover .page-name {
    top: 48px;
  }
}

/* Profile social lists (dogs, following, friends) — circular avatars with theme decorative ring */
.profile-page .profile-social-profiles-tab .profile-box.friend-box .profile-content .image-section .profile-img > div {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.profile-page .profile-social-profiles-tab .profile-box.friend-box .profile-content .image-section .profile-img > div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 100%;
  display: block;
}

/* Profiles directory — toolbar search/filter in profile menu */
.profiles-directory-page .profile-menu .profiles-directory-toolbar {
  margin-left: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.profiles-directory-page .profile-menu .profiles-directory-toolbar > li {
  background-color: transparent;
  padding: 0;
}

.profiles-directory-page .profile-menu .profiles-directory-toolbar .search-input .form-control {
  width: 180px;
  padding: 8px 30px 8px 12px;
}

.profiles-directory-page .profile-menu .profiles-directory-toolbar .setting-dropdown .btn-group > a {
  height: 36px;
  background-color: #edf7fb;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 5px;
  color: #647589;
  text-transform: capitalize;
  font-weight: 500;
}

.profiles-directory-page .profile-menu .profiles-directory-toolbar .setting-dropdown .dropdown-menu li.active a {
  color: #0389c9;
}

@media (max-width: 991px) {
  .profiles-directory-page .profile-menu {
    flex-wrap: wrap;
  }

  .profiles-directory-page .profile-menu .profiles-directory-toolbar {
    width: 100%;
    margin-left: 0;
    margin-top: 10px;
    justify-content: flex-end;
  }

  .profiles-directory-page .profile-menu .profiles-directory-toolbar .search-input .form-control {
    width: 100%;
    min-width: 140px;
  }
}

.profiles-directory-page #profiles_list_content.is-loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

/* Index activity story reel */
#story_reel_section {
  margin-bottom: 20px;
}

#story_reel_section .story-box .story-bg {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1 / 1.15;
}

#story_reel_section .story-box .story-bg.bg-size {
  aspect-ratio: auto;
}

#story_reel_section .story-box .story-bg .bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-model .story-reel-right {
  position: relative;
}

.story-model .story-reel-right > a[data-bs-dismiss="modal"] {
  position: absolute;
  right: 20px;
  top: 40px;
  z-index: 100;
  pointer-events: auto;
}

.story-model .story-reel-right .sliderContainer {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.story-model #story_reel_progress.story-reel-progress {
  position: absolute;
  top: 18px;
  left: 20px;
  right: 20px;
  z-index: 50;
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 5px;
  padding: 0;
  margin: 0;
  pointer-events: auto;
  min-height: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.story-model #story_reel_progress.story-reel-progress::-webkit-scrollbar {
  display: none;
}

.story-model #story_reel_progress.story-reel-progress .item {
  flex: 1 1 0;
  min-width: 6px;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0;
  cursor: pointer;
}

.story-model #story_reel_progress.story-reel-progress .progressBar {
  width: 100%;
  height: 5px;
  display: block;
  background-color: rgba(255, 255, 255, 0.35);
  border-radius: 3px;
  overflow: hidden;
}

.story-model #story_reel_progress.story-reel-progress .inProgress {
  display: block;
  height: 5px;
  background-color: #ffffff;
  width: 0%;
  border-radius: 3px;
}

.story-model .story-reel-right .slick-list,
.story-model .story-reel-right .slick-track,
.story-model .story-reel-right .slick-slide {
  z-index: 1;
}

.story-model .story-reel-right .sliderContainer .story-image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  padding: 48px 24px 72px;
  box-sizing: border-box;
  overflow: hidden;
}

.story-model .story-reel-right .sliderContainer .story-image .story-reel-slide-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.story-model .story-reel-right .sliderContainer .story-image img.story-reel-slide-img {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  object-position: center center;
  margin: 0 auto;
  border-radius: 5px;
}

.story-model .story-image.story-reel-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
}

.story-reel-nav-item.is-active .story-img {
  box-shadow: 0 0 0 2px var(--theme-color, #0389ff);
}

.story-reel-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 70px;
  z-index: 3;
  pointer-events: none;
}

/* Legal / policy pages */
.legal-page-content .blog-details h3 {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  font-size: 1.15rem;
}

.legal-page-content .blog-details ul {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}

.legal-page-content .blog-details li {
  margin-bottom: 0.35rem;
}

.footer-legal-links a {
  color: inherit;
  text-decoration: underline;
  opacity: 0.9;
}

/* Contact / communications page */
.contact-comms-page .contact-social-prompt h3 {
  font-size: 1.5rem;
}

.contact-social-list {
  gap: 0.75rem;
}

.contact-social-list li {
  margin: 0;
}

.contact-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.1rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  color: #333;
  background: #f7f7f7;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.contact-social-btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
  color: #fff;
}

.contact-social-btn.facebook:hover { background: #1877f2; }
.contact-social-btn.instagram:hover { background: #e1306c; }
.contact-social-btn.twitter:hover,
.contact-social-btn.x:hover { background: #000; }

/* X (formerly Twitter) icon — FA5 bird glyph replaced site-wide */
.fa-twitter:before,
.fab.fa-twitter:before,
.fa-x-twitter:before,
.fa-brands.fa-x-twitter:before {
  content: "" !important;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.contact-social-btn.youtube:hover { background: #ff0000; }
.contact-social-btn.pinterest:hover { background: #bd081c; }

.contact-social-widgets > [class*="col-"] {
  display: flex;
}

.contact-social-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  overflow: hidden;
  text-align: left;
}

.contact-social-card__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.9rem;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 600;
}

.contact-social-card--facebook .contact-social-card__header { background: #1877f2; }
.contact-social-card--instagram .contact-social-card__header {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}
.contact-social-card--x .contact-social-card__header { background: #000; }

.contact-social-card__icon {
  display: inline-flex;
  width: 1.25rem;
  justify-content: center;
}

.contact-social-card__profile-link {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
}

.contact-social-card__profile-link:hover {
  color: #fff;
  text-decoration: underline;
}

.contact-social-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.1rem;
  flex: 1;
}

.contact-social-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
}

.contact-social-card--facebook .contact-social-card__avatar { background: #1877f2; }
.contact-social-card--instagram .contact-social-card__avatar {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}
.contact-social-card--x .contact-social-card__avatar { background: #000; }

.contact-social-card__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
}

.contact-social-card__meta strong {
  font-size: 1.05rem;
}

.contact-social-card__meta span {
  color: #777;
  font-size: 0.9rem;
}

.contact-social-card__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100%;
}

.contact-comms-form-wrap {
  padding: 1.5rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
}

.contact-comms-form-wrap .title h2 {
  font-size: 1.35rem;
  margin-bottom: 0.35rem;
}

.contact-comms-form-wrap .title p {
  color: #777;
  margin-bottom: 0;
}

.contact-comms-discreet {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.contact-comms-meta {
  gap: 1.25rem;
}

.contact-comms-meta a {
  color: #777;
  font-size: 0.9rem;
  text-decoration: none;
}

.contact-comms-meta a:hover {
  color: #333;
  text-decoration: underline;
}

.contact-comms-meta i {
  margin-right: 0.35rem;
  opacity: 0.75;
}

/* Subscription checkout — cancellation policy must stay visible (bank requirement) */
.subscription-checkout .subscription-cancellation-policy {
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  font-size: 0.92rem;
  line-height: 1.55;
}

.subscription-checkout .subscription-cancellation-policy ul {
  margin-bottom: 0.5rem;
}

.subscription-checkout .subscription-cancellation-policy li {
  margin-bottom: 0.4rem;
}

[data-theme="dark"] .subscription-checkout .subscription-cancellation-policy {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

.subscription-role-tabs {
  margin-top: 0.25rem;
}

.subscription-role-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 1.25rem;
  padding: 0.3rem;
  background: #eef2f6;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
}

.subscription-role-tabs__btn {
  flex: 1 1 0;
  min-width: 8.5rem;
  border: 1px solid transparent;
  background: transparent;
  color: #445;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none;
}

.subscription-role-tabs__btn:hover {
  background: #fff;
  color: #0d6efd;
}

.subscription-role-tabs__btn.is-active {
  background: #0d6efd;
  border-color: #0a58ca;
  color: #fff;
  box-shadow: 0 2px 8px rgba(13, 110, 253, 0.35);
}

.subscription-role-tabs__panel {
  display: none;
}

.subscription-role-tabs__panel.is-active {
  display: block;
}

.subscription-plans-scroller {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.85rem;
  margin-bottom: 0.25rem;
  scrollbar-width: auto;
  scrollbar-color: #6b7280 #dbe1e8;
}

.subscription-plans-scroller::-webkit-scrollbar {
  height: 18px;
}

.subscription-plans-scroller::-webkit-scrollbar-track {
  background: #dbe1e8;
  border-radius: 9px;
}

.subscription-plans-scroller::-webkit-scrollbar-thumb {
  background: #6b7280;
  border-radius: 9px;
  border: 3px solid #dbe1e8;
  min-width: 48px;
}

.subscription-plans-scroller::-webkit-scrollbar-thumb:hover {
  background: #4b5563;
}

.subscription-plans-track {
  display: flex;
  align-items: stretch;
  gap: 1rem;
}

.subscription-plan-slide {
  flex: 0 0 40%;
  max-width: 40%;
  min-width: 40%;
}

@media (max-width: 767px) {
  .subscription-plan-slide {
    flex-basis: 85%;
    max-width: 85%;
    min-width: 85%;
  }
}

.subscription-plans-catalog .subscription-plan-card {
  height: 100%;
  padding: 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
}

.subscription-role-block__title {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #777;
  margin-bottom: 0.35rem;
}

.subscription-role-block__note {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 1rem;
}

.subscription-plans-catalog .subscription-plan-card.is-info {
  background: #fafafa;
}

.subscription-plans-catalog .subscription-plan-card.is-current {
  border-color: #0d6efd;
  box-shadow: 0 0 0 1px rgba(13, 110, 253, 0.15);
}

.subscription-plan-card__rank {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #777;
  margin-bottom: 0.35rem;
}

.subscription-plan-card__title {
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
}

.subscription-plan-card__price {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.1;
}

.subscription-plan-card__price span {
  font-size: 0.9rem;
  font-weight: 500;
  color: #777;
}

.subscription-plan-card__blurb {
  font-size: 0.92rem;
  color: #555;
  line-height: 1.45;
  margin-bottom: 1rem;
}

.subscription-plan-card__benefits {
  padding-left: 1.1rem;
  margin-bottom: 1rem;
  flex: 1 1 auto;
}

.subscription-plan-card__benefits li {
  margin-bottom: 0.35rem;
}

.subscription-plan-card__gift {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding-top: 0.85rem;
  margin-top: 0.25rem;
}

.subscription-gift-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #777;
  margin-bottom: 0.55rem;
  font-weight: 600;
}

.subscription-gift {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.subscription-gift__icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f4ff;
}

.subscription-gift__icon svg {
  width: 40px;
  height: 40px;
}

.subscription-gift__icon .sg-fill {
  fill: #7eb8e8;
}

.subscription-gift__icon .sg-accent {
  fill: #0389ff;
}

.subscription-gift__icon .sg-line {
  stroke: #0260b0;
}

.subscription-gift__icon .sg-dot {
  fill: #0260b0;
}

.subscription-gift__icon--hat {
  background: #ecfdf5;
}

.subscription-gift__icon--hat .sg-fill {
  fill: #6ee7b7;
}

.subscription-gift__icon--hat .sg-accent {
  fill: #10b981;
}

.subscription-gift__icon--hat .sg-line,
.subscription-gift__icon--hat .sg-dot {
  stroke: #047857;
  fill: #047857;
}

.subscription-gift__icon--tshirt {
  background: #e8f4ff;
}

.subscription-gift__icon--hoodie {
  background: #f3e8ff;
}

.subscription-gift__icon--hoodie .sg-fill {
  fill: #c4b5fd;
}

.subscription-gift__icon--hoodie .sg-accent {
  fill: #7c3aed;
}

.subscription-gift__icon--hoodie .sg-line {
  stroke: #5b21b6;
}

.subscription-gift__icon--trainer .sg-fill {
  fill: #f0b27a;
}

.subscription-gift__icon--trainer .sg-accent {
  fill: #e67e22;
}

.subscription-gift__icon--trainer .sg-line {
  stroke: #a04000;
}

.subscription-gift__icon--trainer .sg-dot {
  fill: #a04000;
}

.subscription-gift__body {
  min-width: 0;
}

.subscription-gift__body strong {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.15rem;
}

.subscription-gift__body > span {
  display: block;
  font-size: 0.82rem;
  color: #666;
  line-height: 1.35;
}

.subscription-gift__tags {
  list-style: none;
  padding: 0;
  margin: 0.45rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.subscription-gift__tags li {
  font-size: 0.72rem;
  line-height: 1.2;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(3, 137, 255, 0.08);
  color: #0260b0;
}

.subscription-gift__icon--trainer + .subscription-gift__body .subscription-gift__tags li {
  background: rgba(230, 126, 34, 0.12);
  color: #a04000;
}

.subscription-plan-card__badge {
  margin-top: 0.75rem;
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #0d6efd;
}

.subscription-guest-cta {
  background: #f8f9fa;
}

.footer-legal-links a:hover {
  opacity: 1;
}

.legal-document-actions .btn {
  margin-left: 0.35rem;
}

/* Legal PDF in-page viewer (view only, no download UI) */
.legal-pdf-viewer {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: none;
  align-items: stretch;
  justify-content: center;
  padding: 0;
}

.legal-pdf-viewer.is-open {
  display: flex;
}

body.legal-pdf-open {
  overflow: hidden;
}

.legal-pdf-viewer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.legal-pdf-viewer__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(960px, 100%);
  max-height: 100vh;
  margin: 0 auto;
  background: #f4f4f4;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.legal-pdf-viewer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: #1f1f1f;
  color: #fff;
  flex-shrink: 0;
}

.legal-pdf-viewer__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.legal-pdf-viewer__close {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

.legal-pdf-viewer__close:hover {
  background: rgba(255, 255, 255, 0.26);
}

.legal-pdf-viewer__body {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1rem;
  flex: 1 1 auto;
}

.legal-pdf-viewer__status {
  text-align: center;
  padding: 2rem 1rem;
  color: #555;
}

.legal-pdf-viewer__pages {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  user-select: none;
  -webkit-user-select: none;
}

.legal-pdf-viewer__page {
  display: block;
  max-width: 100%;
  height: auto;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

@media (max-width: 767px) {
  .legal-pdf-viewer__panel {
    width: 100%;
    max-height: 100%;
  }

  .legal-pdf-viewer__body {
    padding: 0.65rem;
  }
}

.my-content-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.my-content-item {
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 1rem 1.15rem;
  margin-bottom: 0.85rem;
  background: #fff;
}

.my-content-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin-bottom: 0.35rem;
  font-size: 0.85rem;
}

.my-content-item__type {
  font-weight: 600;
}

.my-content-item__date {
  color: #777;
  margin-left: auto;
}

.my-content-item__who {
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.my-content-item__excerpt {
  white-space: pre-wrap;
  word-break: break-word;
}

.profile-page--locked {
  position: relative;
}

.profile-page--locked > .page-full {
  filter: blur(10px);
  pointer-events: none;
  user-select: none;
}

.profile-locked-overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 100px;
  bottom: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.45);
}

.profile-locked-overlay__message {
  margin: 0;
  max-width: 34rem;
  padding: 1.25rem 1.5rem;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  color: #1a1a1a;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

html[data-theme="dark"] .profile-locked-overlay {
  background: rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .profile-locked-overlay__message {
  background: #1f2937;
  color: #f3f4f6;
  border-color: rgba(255, 255, 255, 0.1);
}

.judges-map-page {
  padding-bottom: 40px;
}

.judges-map-hero {
  margin: 12px 0 18px;
}

.judges-map-hero h1 {
  margin-bottom: 6px;
}

.judges-map-hero p {
  margin: 0;
  color: #647589;
}

.judges-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.judges-layout__map,
.judges-layout__side {
  min-width: 0;
}

.judges-layout__side {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.judges-filters {
  margin-bottom: 12px;
}

.judges-sport-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.judges-sport-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 2px solid var(--sport-color, #94a3b8);
  background: #fff;
  color: var(--sport-color, #334155);
  border-radius: 999px;
  padding: 7px 14px 7px 10px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.judges-sport-btn__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--sport-color, #94a3b8);
  background: transparent;
  flex: 0 0 auto;
  box-sizing: border-box;
}

.judges-sport-btn__count {
  display: inline-block;
  min-width: 1.4em;
  opacity: 0.85;
}

.judges-sport-btn.is-active {
  background: var(--sport-color, #1d4ed8);
  color: #fff;
  box-shadow: 0 0 0 1px var(--sport-color, #1d4ed8);
}

.judges-sport-btn.is-active .judges-sport-btn__dot {
  border-color: #fff;
  background: #fff;
  box-shadow: inset 0 0 0 3px var(--sport-color, #1d4ed8);
}

.judges-filter-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 200px);
  gap: 8px;
  align-items: center;
}

.judges-filter-search {
  grid-column: auto;
}

.judges-filter-grid .form-control {
  height: 42px;
}

.judges-results-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.judges-results-head h5 {
  margin: 0;
  font-weight: 700;
}

.judges-results-head span {
  color: #647589;
  font-size: 0.92rem;
}

.judges-results-panel {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 8px 4px 0;
  position: relative;
  display: block !important;
  background: transparent;
  box-shadow: none;
  flex: 1;
  min-height: 280px;
}

.judges-results-panel .friend-list {
  margin-top: 0;
  max-height: calc(100vh - 320px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 6px;
}

.judges-results-panel .friend-box {
  list-style: none;
  cursor: pointer;
}

.judges-results-panel .friend-box + .friend-box {
  margin-top: 16px;
}

.judges-results-panel .friend-box .media {
  display: flex;
  align-items: center;
  gap: 10px;
}

.judges-results-panel .friend-box .user-img {
  flex: 0 0 auto;
  width: 45px;
  height: 45px;
  margin-right: 0;
}

.judges-results-panel .friend-box .user-img img {
  width: 45px;
  height: 45px;
  border-radius: 100%;
  object-fit: cover;
}

.judges-results-panel .friend-box .media-body {
  display: block !important;
  min-width: 0;
  flex: 1;
}

.judges-results-panel .friend-box .media-body .user-name {
  margin: 0 0 2px;
  font-size: 0.95rem;
  font-weight: 600;
}

.judges-results-panel .friend-box .media-body h6 {
  margin: 0;
  font-size: 0.82rem;
  color: #647589;
  font-weight: 500;
}

.judges-country-head {
  list-style: none;
  margin: 18px 0 10px;
  padding: 0;
  font-weight: 700;
  color: #51595e;
}

.judges-country-head:first-child {
  margin-top: 0;
}

.judges-country-head span {
  font-weight: 500;
  color: #647589;
}

.judges-empty {
  list-style: none;
  padding: 12px 4px;
  color: #647589;
}

.judges-map-wrap {
  background: #eef3f8;
  border-radius: 12px;
  width: 100%;
  height: calc(100vh - 220px);
  min-height: 420px;
  max-height: 640px;
  overflow: hidden;
  position: relative;
}

.judges-europe-map,
.judges-europe-map.jvm-container,
#judgesEuropeMap.jvm-container {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
}

.judges-europe-map svg {
  display: block;
  max-width: none;
}

.judges-count-label {
  font-family: "Montserrat", sans-serif;
  font-size: 11px;
  font-weight: 700;
  fill: #111827;
  paint-order: stroke;
  stroke: #ffffff;
  stroke-width: 3px;
}

.judges-map-note {
  margin: 12px 0 0;
  color: #647589;
  font-size: 0.92rem;
}

.judges-map-fallback {
  margin: 0;
  padding: 2rem 1rem;
  text-align: center;
  color: #647589;
  position: relative;
  z-index: 1;
}

.judges-map-body #judgeInactiveProfilePopup {
  z-index: 2000;
}

@media (max-width: 991.98px) {
  .judges-layout {
    grid-template-columns: 1fr;
  }

  .judges-layout__side {
    min-height: 0;
  }

  .judges-map-wrap {
    height: 320px;
    min-height: 320px;
    max-height: 320px;
  }

  .judges-results-panel {
    min-height: 220px;
  }

  .judges-results-panel .friend-list {
    max-height: none;
    overflow: visible;
  }

  .judges-filter-grid {
    grid-template-columns: 1fr;
  }
}

html[data-theme="dark"] .judges-results-panel .friend-box .media-body h6 {
  color: #9aa8b8;
}

html[data-theme="dark"] .judges-map-hero p,
html[data-theme="dark"] .judges-map-note,
html[data-theme="dark"] .judges-results-head span,
html[data-theme="dark"] .judges-empty,
html[data-theme="dark"] .judges-country-head span {
  color: #9aa8b8;
}

html[data-theme="dark"] .judges-sport-btn {
  background: #1b2430;
}

html[data-theme="dark"] .judges-sport-btn.is-active {
  color: #fff;
}

html[data-theme="dark"] .judges-map-wrap {
  background: #151c26;
}

html[data-theme="dark"] .judges-count-label {
  fill: #f8fafc;
  stroke: #111827;
}

html[data-theme="dark"] .judges-country-head {
  color: #e5e7eb;
}
