:root {
  --theme-color1: #9F4197;
  --theme-color1-rgb: 159, 65, 151;
  --theme-color2: #CBA2C9;
  --theme-color2-rgb: 203, 162, 201;
}
body {
  font-family: 'IRANSans', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.font-current-theme1,
.font-current-theme2,
.title,
.entry-title,
.widget-title,
.section-title .title,
.section-title h3,
.menuzord-menu > li > a,
.btn,
.accordion-button,
.form-control,
.form-label {
  font-family: 'IRANSans', sans-serif !important;
}

p, span, a, li, div, input, textarea, select, button, label {
  font-family: 'IRANSans', sans-serif;
}

/* ---- New Color Palette ---- */
/* #9F4197 = primary buttons/CTA */
/* #7D3C78 = headlines, body text */
/* #CBA2C9 = backgrounds, dividers, icons */

/* Primary buttons & CTA */
.btn-theme-colored1,
.bg-theme-colored1,
.layer-overlay.overlay-theme-colored1::before,
.layer-overlay.overlay-theme-colored1::after,
.menuzord .menuzord-menu ul.dropdown li:hover > a,
.menuzord .menuzord-menu > li > .megamenu .megamenu-row li:hover a,
.menuzord-menu ul.dropdown li:hover > a,
.tm-sc-service .btn-view-details,
.progress-bar-theme-colored1,
.pagination > .active > a,
.small-box.bg-success { background-color: #9F4197 !important; border-color: #9F4197 !important; color: #fff !important; }

/* Secondary buttons */
.btn-theme-colored2,
.bg-theme-colored2,
.layer-overlay.overlay-theme-colored2::before { background-color: #CBA2C9 !important; border-color: #CBA2C9 !important; color: #7D3C78 !important; }

/* Text colors */
.text-theme-colored1,
a.text-theme-colored1,
.widget-title-line-bottom.line-bottom-theme-colored1::after,
.line-bottom-theme-colored1::after,
.widget-title.line-bottom-theme-colored1::after,
h4.line-bottom-theme-colored1::after,
h3.line-bottom-theme-colored1::after { color: #9F4197 !important; border-color: #9F4197 !important; }

/* Headlines & body text */
body, p, .text, .content, .entry-content p, .service-description, .about-text, .testimonial-text,
h1, h2, h3, h4, h5, h6, .title, .section-title, .widget-title, .entry-title a, .service-title,
.contact-item p, .contact-info p, .feature-text, .text-gray-darkgray { color: #7D3C78; }

h1, h2, h3, h4, h5, h6, .title, .section-title .title, .widget-title, .entry-title a { color: #7D3C78 !important; }

/* Page backgrounds */
.divider[data-tm-bg-color="#f7f7f7"],
section[data-tm-bg-color="#f7f7f7"],
.bg-lighter,
.testimonial-wrapper,
.service-card { background-color: #f8f0f9 !important; }

body { background-color: #fff; }

/* Dividers & icons */
.fa, .fas, .far, .fab, .flaticon,
.icon i, .feature-icon i, .service-icon i, .contact-icon i,
hr, .border-top, .divider-line,
.widget-title::after, .line-bottom::after,
.text-theme-colored1 i, .icon-theme-colored1 i { color: #CBA2C9 !important; }

/* Divider lines */
.line-bottom-theme-colored1::after,
.widget-title.line-bottom::after,
.border-theme-colored1 { border-color: #CBA2C9 !important; }

/* Primary text hover */
a:hover, .nav-link:hover, .entry-title a:hover { color: #9F4197 !important; }

/* Accordion active */
.accordion-button:not(.collapsed) { color: #7D3C78; background-color: #f8f0f9; }

/* Hero overlay */
.layer-overlay.overlay-theme-colored1-7::before { background-color: rgba(159, 65, 151, 0.7) !important; }
.layer-overlay.overlay-theme-colored1-9::before { background-color: rgba(159, 65, 151, 0.9) !important; }
.layer-overlay.overlay-theme-colored2-8::before { background-color: rgba(203, 162, 201, 0.8) !important; }

/* Contact info divider line */
.contact-info-title::after,
.contact-info .line-bottom::after,
h3.line-bottom-theme-colored1::after,
h4.line-bottom-theme-colored1::after { background-color: #9F4197 !important; border-color: #9F4197 !important; }

/* About section divider under doctor name */
.about-text-content h4.line-bottom::after,
.about-text-content .line-bottom-theme-colored1::after,
h4.line-bottom-theme-colored1::after { background: #9F4197 !important; border-color: #9F4197 !important; }

/* Badge success (was green, now purple) */
.badge-success { background-color: #9F4197 !important; }

/* Footer */
.footer { background: #7D3C78 !important; }
.footer, .footer p, .footer li, .footer .text-gray, .footer .widget, .footer a,
.footer .contact-info li .text, .footer .opening-hours li, .footer .opening-hours span,
.footer .opening-hours .value, .footer .description,
.footer .widget ul li, .footer .widget ul li a,
.footer .widget_nav_menu ul li a { color: #FFFFFF !important; }
.footer h4, .footer h5, .footer .widget-title { color: #fff !important; }
.footer .widget_nav_menu ul li a::before,
.footer .widget_nav_menu ul li::before,
.footer ul li::before,
.footer ul li i,
.footer ul li .fa,
.footer .list-dashed li::before { color: #CBA2C9 !important; }
.footer a:hover { color: #CBA2C9 !important; }
.footer .opening-hours li, .footer .opening-hours .value { color: #fff !important; }
.footer-bottom { background-color: #5e2a5a !important; }
.footer-bottom, .footer-bottom p, .footer-bottom a { color: rgba(255,255,255,0.7) !important; }

/* Stat counter */
.counter, .animate-number, .funfact-item .counter, .funfact-item .animate-number,
.odometer, .odometer-inside, .animate-number.appeared { color: #FFFFFF !important; }
.funfact-icon { color: #CBA2C9 !important; }

/* Card borders */
.card-primary.card-outline { border-top-color: #9F4197 !important; }

/* Service cards */
.service-card:hover { border-color: #9F4197 !important; box-shadow: 0 4px 20px rgba(159,65,151,0.15) !important; }
.service-card:hover .service-icon { background: #9F4197 !important; color: #fff !important; }

/* Owl carousel dots */
.owl-dot span { background: #CBA2C9 !important; }
.owl-dot.active span { background: #9F4197 !important; }
.owl-nav button.owl-prev, .owl-nav button.owl-next { background: rgba(159,65,151,0.8) !important; color: #fff !important; }
.owl-nav button.owl-prev:hover, .owl-nav button.owl-next:hover { background: #7D3C78 !important; }
.owl-nav button i { color: #fff !important; }

/* Buttons */
.btn-primary { background-color: #9F4197 !important; border-color: #9F4197 !important; }

/* ---- ABSOLUTE HOVER KILL ---- */
.btn, .btn-theme-colored1, .btn-theme-colored2,
.btn-light, .btn-outline, .btn-outline-light,
.btn-xs, .btn-sm, .btn-lg,
.btn-view-details, .btn-plain-text-with-arrow {
  overflow: visible !important;
}
.btn::before, .btn::after,
.btn:hover::before, .btn:hover::after,
.btn:focus::before, .btn:focus::after,
.btn:active::before, .btn:active::after,
.btn-theme-colored1::before, .btn-theme-colored1::after,
.btn-theme-colored1:hover::before, .btn-theme-colored1:hover::after,
.btn-theme-colored1:focus::before, .btn-theme-colored1:focus::after,
.btn-theme-colored2::before, .btn-theme-colored2::after,
.btn-theme-colored2:hover::before, .btn-theme-colored2:hover::after,
.btn-light::before, .btn-light::after,
.btn-light:hover::before, .btn-light:hover::after,
.btn-outline::before, .btn-outline::after,
.btn-outline-light::before, .btn-outline-light::after,
.btn-outline-light:hover::before, .btn-outline-light:hover::after,
a.btn::before, a.btn::after, a.btn:hover::before, a.btn:hover::after,
button.btn::before, button.btn::after,
.btn-xs::before, .btn-xs::after, .btn-sm::before, .btn-sm::after,
.btn-view-details::before, .btn-view-details::after,
.btn-view-details:hover::before, .btn-view-details:hover::after,
.tm-sc-button .btn::before, .tm-sc-button .btn::after,
.tm-sc-button .btn:hover::before, .tm-sc-button .btn:hover::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: static !important;
  visibility: hidden !important;
}

.btn:hover, a.btn:hover, button.btn:hover,
.btn-theme-colored1:hover, .btn-theme-colored2:hover,
.btn-light:hover, .btn-outline:hover, .btn-outline-light:hover,
.btn-xs:hover, .btn-sm:hover, .btn-lg:hover,
.btn-view-details:hover, .btn-plain-text-with-arrow:hover {
  box-shadow: 0 0 15px rgba(159,65,151,0.4) !important;
  background-color: inherit !important;
  color: inherit !important;
  border-color: inherit !important;
}

.carousel-item .btn:hover,
.carousel-item .btn-light:hover { color: #333 !important; background: #fff !important; box-shadow: none !important; }
.carousel-item .btn-theme-colored1:hover { color: #fff !important; background: #9F4197 !important; box-shadow: none !important; }
.hero-slide .btn:hover { box-shadow: none !important; background: inherit !important; color: inherit !important; }
.hero-slide .btn-light { background: #fff !important; color: #333 !important; }
.hero-slide .btn-light:hover, .hero-slide .btn:hover { background: #fff !important; color: #333 !important; box-shadow: none !important; border-color: transparent !important; }
.hero-slide .btn-theme-colored1 { background: #9F4197 !important; color: #fff !important; }
.hero-slide .btn-theme-colored1:hover { background: #9F4197 !important; color: #fff !important; box-shadow: none !important; }

/* Top bar */
.header-top { background-color: #9F4197 !important; border-color: #9F4197 !important; }
.header-top, .header-top .contact-info li, .header-top .contact-info li i,
.header-top a, .header-top .element, .header-top .contact-phone, .header-top .contact-email, .header-top .contact-address { color: #fff !important; }
.header-top .styled-icons li a { color: #fff !important; background-color: rgba(255,255,255,0.2) !important; }
.header-nav { background-color: #fff; }
.header.scrolled { border-bottom-color: #CBA2C9; }

/* Map button */
.map-btn { border-color: #9F4197 !important; color: #9F4197 !important; }

/* Active page nav */
.page-item.active .page-link { background-color: #9F4197; border-color: #9F4197; }

/* Icon boxes (feature boxes) - bg purple, icon white */
.icon-box.iconbox-theme-colored1 .icon,
.icon-box.iconbox-theme-colored1 .icon.icon-dark,
.icon-box.iconbox-theme-colored1 .icon.icon-sm.icon-dark.icon-round,
.icon-box.iconbox-theme-colored1 .icon-wrapper .icon,
.icon-box.iconbox-theme-colored1 .icon-wrapper a.icon,
.icon-box.iconbox-theme-colored1 .icon-wrapper a,
.tm-sc-icon-box.iconbox-theme-colored1 .icon-wrapper,
.tm-sc-icon-box.iconbox-theme-colored1 .icon-wrapper .icon,
.tm-sc-icon-box.iconbox-theme-colored1 .icon-wrapper a.icon { background-color: #9F4197 !important; color: #fff !important; }
.icon-box.iconbox-theme-colored1 .icon i,
.icon-box.iconbox-theme-colored1 .icon-wrapper i,
.tm-sc-icon-box.iconbox-theme-colored1 .icon-wrapper i { color: #fff !important; }

/* Service icon circles */
.service-icon { background-color: #f8f0f9 !important; color: #9F4197 !important; }

/* Menuzord active/hover - same rounded boxed behavior as index-rtl-layout1.html, with site purple */
.menuzord.theme-color1 .menuzord-menu > li.active > a,
.menuzord.theme-color1 .menuzord-menu > li:hover > a {
  background: #9F4197 !important;
  color: #fff !important;
}
/* Doctor profile, gallery and testimonial additions */
.doctor-profile-section .about-text-content > img { width: 100%; height: auto; }
.testimonial-doctor-reply { background:#f8f0f9; border-right:3px solid #9F4197; border-radius:8px; padding:12px 14px; text-align:right; }
.testimonial-doctor-reply strong { color:#9F4197; }
.gallery-album-card { background:#fff; border:1px solid #eee; box-shadow:0 4px 18px rgba(0,0,0,.05); height:100%; overflow:hidden; }
.gallery-album-cover { position:relative; overflow:hidden; min-height:220px; background:#f8f0f9; }
.gallery-album-cover img { width:100%; height:240px; object-fit:cover; transition:transform .35s ease; }
.gallery-album-card:hover .gallery-album-cover img { transform:scale(1.04); }
.gallery-album-count { position:absolute; left:12px; bottom:12px; background:rgba(159,65,151,.92); color:#fff; border-radius:20px; padding:5px 10px; font-size:12px; }
.gallery-album-body { padding:20px; }
.gallery-empty-cover { height:240px; display:flex; align-items:center; justify-content:center; font-size:54px; color:#CBA2C9; }
.gallery-public-item .thumb img,
.testimonials .tm-sc-gallery .thumb img { width:100%; height:150px; object-fit:cover; }
@media (max-width: 767px) {
  .gallery-public-item .thumb img,
  .testimonials .tm-sc-gallery .thumb img { height:120px; }
}

.testimonial-empty-state { background:#fff; min-height:220px; display:flex; align-items:center; padding:30px; border:1px solid #f0e6f1; }
.testimonial-empty-state .content { width:100%; text-align:center; }

/* Persian typography: override Latin theme font helpers on RTL content */
.font-current-theme1,
.font-current-theme2,
rs-layer,
rs-layer * {
  font-family: 'IRANSans', sans-serif !important;
}

/* Desktop header: keep logo/menu on one row and reduce the gap between them */
@media (min-width: 1200px) {
  .header-nav .header-nav-col-row {
    flex-wrap: nowrap;
    align-items: center;
  }

  header#header .site-brand {
    margin: 0 !important;
    padding: 10px 0 !important;
  }

  header#header .site-brand img {
    max-height: 48px;
    width: auto;
  }

  .header-nav .header-nav-col-row > .col-sm-auto {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .header-nav .header-menu-col {
    margin-right: 10px;
    padding-right: 0 !important;
    padding-left: 0 !important;
    white-space: nowrap;
  }

  #top-primary-nav .menuzord-menu {
    white-space: nowrap;
  }

  #top-primary-nav .menuzord-menu > li > a {
    padding-right: 11px;
    padding-left: 11px;
    white-space: nowrap;
  }

  .header-nav .header-side-col {
    padding-right: 8px;
    padding-left: 0;
  }
}

/* Home news: RTL version of news-classic-left-thumbs */
.home-news-list {
  direction: rtl;
}
.home-news-list .home-news-item {
  background: #fff;
  overflow: hidden;
}
.home-news-list .home-news-item > .row {
  min-height: 205px;
}
.home-news-list .entry-content {
  text-align: right;
  padding: 24px 28px !important;
}
.home-news-list .entry-title {
  line-height: 1.8;
}
.home-news-list .entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-start;
  margin-top: 6px;
}
.home-news-list .entry-meta span {
  margin: 0 !important;
}
.home-news-list .post-thumb,
.home-news-list .post-thumb a {
  display: block;
  width: 100%;
  height: 100%;
}
.home-news-list .post-thumb img {
  width: 100%;
  height: 100%;
  min-height: 205px;
  object-fit: cover;
}
.home-news-list .home-news-no-image {
  min-height: 205px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f8f0f9;
  color: #9F4197;
}
.home-news-list .btn-plain-text-with-arrow {
  color: #9F4197 !important;
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .home-news-list .home-news-item > .row {
    min-height: 0;
  }
  .home-news-list .entry-content {
    padding: 20px !important;
  }
  .home-news-list .post-thumb img,
  .home-news-list .home-news-no-image {
    min-height: 210px;
    max-height: 260px;
  }
}

/* Gallery viewer: site purple instead of template green */
.tm-sc-gallery .gallery-view-trigger,
.gallery-public-item .gallery-view-trigger,
.testimonials .tm-sc-gallery .gallery-view-trigger {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,.88) !important;
  border-radius: 50% !important;
  background: #9F4197 !important;
  color: #fff !important;
  box-shadow: 0 5px 18px rgba(70,25,68,.28);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}
.tm-sc-gallery .gallery-view-trigger:hover,
.gallery-public-item .gallery-view-trigger:hover,
.testimonials .tm-sc-gallery .gallery-view-trigger:hover {
  background: #7D3C78 !important;
  color: #fff !important;
  transform: scale(1.08);
  box-shadow: 0 7px 22px rgba(70,25,68,.38);
}
.tm-sc-gallery .gallery-view-trigger i,
.gallery-public-item .gallery-view-trigger i,
.testimonials .tm-sc-gallery .gallery-view-trigger i {
  color: #fff !important;
  font-size: 17px;
  line-height: 1;
}

/* Let LightGallery use the full available viewport for original images */
.lg-outer .lg-img-wrap {
  padding: 20px 64px !important;
}
.lg-outer .lg-image,
.lg-outer .lg-object.lg-image {
  max-width: calc(100vw - 128px) !important;
  max-height: calc(100vh - 80px) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 767.98px) {
  .lg-outer .lg-img-wrap { padding: 12px !important; }
  .lg-outer .lg-image,
  .lg-outer .lg-object.lg-image {
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 60px) !important;
  }
}

/* Doctor statistics: abstract background + glass cards */
.doctor-stats-section {
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.doctor-stats-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(54,20,53,.95), rgba(125,60,120,.88) 56%, rgba(159,65,151,.84));
}
.doctor-stats-section .container {
  z-index: 1;
}
.doctor-stat-card {
  padding: 28px 18px 24px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 18px;
  background: rgba(255,255,255,.11);
  box-shadow: 0 12px 32px rgba(35,12,34,.16);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease;
}
.doctor-stat-card:hover {
  transform: translateY(-6px);
  background: rgba(255,255,255,.17);
  border-color: rgba(255,255,255,.42);
}
.doctor-stat-icon {
  width: 62px;
  height: 62px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.2);
}
.doctor-stat-icon span {
  color: #fff !important;
  font-size: 34px;
}
.doctor-stat-number,
.doctor-stat-number span {
  margin: 0 !important;
  color: #fff !important;
  font-family: 'IRANSans', sans-serif !important;
  font-size: 38px;
  font-weight: 700 !important;
  line-height: 1.35;
}
.doctor-stat-divider {
  width: 32px;
  height: 2px;
  margin: 10px auto 12px;
  border-radius: 2px;
  background: rgba(255,255,255,.65);
}
.doctor-stat-title {
  margin: 0;
  color: #fff !important;
  font-family: 'IRANSans', sans-serif !important;
  font-size: 15px;
  line-height: 1.8;
}
@media (max-width: 575.98px) {
  .doctor-stat-card { padding: 22px 10px 20px; border-radius: 14px; }
  .doctor-stat-icon { width: 52px; height: 52px; border-radius: 14px; }
  .doctor-stat-icon span { font-size: 29px; }
  .doctor-stat-number,
  .doctor-stat-number span { font-size: 30px; }
  .doctor-stat-title { font-size: 13px; }
}

/* Gallery viewer icon - force exact center */
.testimonials .tm-sc-gallery .tm-gallery-inner,
.gallery-public-item .tm-gallery-inner {
  position: relative;
}

.testimonials .tm-sc-gallery .tm-gallery-content-wrapper,
.gallery-public-item .tm-gallery-content-wrapper {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.testimonials .tm-sc-gallery .tm-gallery-content,
.testimonials .tm-sc-gallery .tm-gallery-content-inner,
.testimonials .tm-sc-gallery .icons-holder-inner,
.gallery-public-item .tm-gallery-content,
.gallery-public-item .tm-gallery-content-inner,
.gallery-public-item .icons-holder-inner {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
}

.testimonials .tm-sc-gallery .gallery-view-button,
.gallery-public-item .gallery-view-button {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  z-index: 5;
}

/* Footer logo box */
.footer-logo-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  padding: 0;
}
.footer-logo-box .footer-logo {
  display: block;
  max-width: 260px;
  width: 100%;
  height: auto;
}
@media (max-width: 575.98px) {
  .footer-logo-box { padding: 0; }
  .footer-logo-box .footer-logo { max-width: 220px; }
}

/* Clickable gallery image - independent from template overlay positioning */
.gallery-image-link {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  background: #f8f0f9;
  cursor: zoom-in;
  line-height: 0;
}
.gallery-image-link > img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  transition: transform .3s ease;
}
.gallery-image-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(53, 28, 69, .42);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.gallery-eye-button {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: #9F4197;
  color: #fff;
  box-shadow: 0 8px 22px rgba(47,18,50,.28);
  transform: scale(.88);
  transition: transform .25s ease, background-color .25s ease;
}
.gallery-eye-button i {
  color: #fff !important;
  font-size: 18px;
  line-height: 1;
}
.gallery-image-link:hover .gallery-image-overlay,
.gallery-image-link:focus .gallery-image-overlay,
.gallery-image-link:focus-visible .gallery-image-overlay {
  opacity: 1;
}
.gallery-image-link:hover > img,
.gallery-image-link:focus > img {
  transform: scale(1.035);
}
.gallery-image-link:hover .gallery-eye-button,
.gallery-image-link:focus .gallery-eye-button {
  transform: scale(1);
  background: #7D3C78;
}
@media (max-width: 767px) {
  .gallery-image-link > img { height: 120px; }
  .gallery-eye-button { width: 44px; height: 44px; }
}

/* LightGallery should always show the original image inside viewport */
.lg-outer .lg-image {
  max-width: calc(100vw - 80px) !important;
  max-height: calc(100vh - 100px) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

/* Scroll to top - visible on light and dark sections */
.scrollToTop {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #9F4197 !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.92) !important;
  border-radius: 50% !important;
  box-shadow: 0 3px 12px rgba(40,20,40,.30), 0 0 0 1px rgba(125,60,120,.35) !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.scrollToTop i {
  color: #fff !important;
  line-height: 1 !important;
}
.scrollToTop:hover,
.scrollToTop:focus {
  background: #7D3C78 !important;
  color: #fff !important;
  border-color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(40,20,40,.38), 0 0 0 1px rgba(125,60,120,.45) !important;
}
/* Floating social media rail */
.floating-social-links {
    position: fixed;
    top: 50%;
    left: 18px;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transform: translateY(-50%);
    direction: ltr;
}

.floating-social-link {
    --social-color: #0ea5a8;
    position: relative;
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(255, 255, 255, .96);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    color: var(--social-color);
    box-shadow: 0 7px 22px rgba(22, 34, 51, .18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform .22s ease, background-color .22s ease, color .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.floating-social-link svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .22s ease;
}

.floating-social-link.social-telegram svg path {
    fill: currentColor;
    stroke: none;
}

.floating-social-link.social-rubika svg > path:first-child,
.floating-social-link.social-bale svg > path:first-child {
    fill: none;
    stroke: currentColor;
}

.floating-social-link .social-icon-dot {
    fill: currentColor;
    stroke: none;
}

.floating-social-link .social-bale-mark {
    fill: none;
    stroke: currentColor;
}

.floating-social-link:hover,
.floating-social-link:focus-visible {
    color: #fff;
    background: var(--social-color);
    border-color: var(--social-color);
    box-shadow: 0 11px 28px color-mix(in srgb, var(--social-color) 35%, transparent);
    transform: translateX(6px) scale(1.08);
    outline: none;
}

.floating-social-link:hover svg,
.floating-social-link:focus-visible svg {
    transform: scale(1.08) rotate(-3deg);
}

.floating-social-tooltip {
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    padding: 5px 9px;
    border-radius: 7px;
    background: rgba(31, 41, 55, .94);
    color: #fff;
    font-size: 11px;
    line-height: 1.4;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translate(-5px, -50%);
    transition: opacity .18s ease, transform .18s ease;
}

.floating-social-link:hover .floating-social-tooltip,
.floating-social-link:focus-visible .floating-social-tooltip {
    opacity: 1;
    transform: translate(0, -50%);
}

.social-instagram { --social-color: #d62976; }
.social-telegram  { --social-color: #229ed9; }
.social-rubika    { --social-color: #18a8b8; }
.social-bale      { --social-color: #18a0d8; }

@media (max-width: 767.98px) {
    .floating-social-links {
        left: 8px;
        gap: 8px;
    }

    .floating-social-link {
        width: 42px;
        height: 42px;
        box-shadow: 0 5px 16px rgba(22, 34, 51, .16);
    }

    .floating-social-link svg {
        width: 20px;
        height: 20px;
    }

    .floating-social-tooltip {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .floating-social-link,
    .floating-social-link svg,
    .floating-social-tooltip {
        transition: none;
    }
}