/*
 * PerfectPanel Theme 21 public-homepage enhancement.
 * Load after the stock PerfectPanel CSS. Scope is body.body-public only.
 */

:root {
  --pmu-blue: #1e79e4;
  --pmu-blue-deep: #1b6dcd;
  --pmu-blue-soft: #e9f2fc;
  --pmu-blue-line: #d2e4fa;
  --pmu-navy: #0c305b;
  --pmu-text: #173b66;
  --pmu-muted: #5b6f88;
  --pmu-surface: #ffffff;
  --pmu-page: #f7fbff;
  --pmu-success: #268a61;
  --pmu-radius: 18px;
  --pmu-shadow: 0 16px 38px rgba(12, 48, 91, .11);
}

body.body-public.pmu-fg-layout {
  background: var(--pmu-page) !important;
  color: var(--pmu-text);
  font-family: "PingFang SC", "Microsoft YaHei", Inter, system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.6;
}

body.body-public.pmu-fg-layout a { color: var(--pmu-blue-deep); }
body.body-public.pmu-fg-layout a:hover { color: var(--pmu-blue); }
body.body-public.pmu-fg-layout :focus-visible { outline: 3px solid rgba(30, 121, 228, .32); outline-offset: 3px; }

/* Top message and original PerfectPanel navigation */
.pmu-announcement {
  align-items: center;
  background: linear-gradient(90deg, #1b6dcd, #1e79e4 58%, #5d85b4);
  color: #fff;
  display: flex;
  font-size: 13px;
  justify-content: center;
  min-height: 40px;
  padding: 8px 20px;
  position: relative;
  text-align: center;
  z-index: 1040;
}

.pmu-announcement strong { font-weight: 850; margin-right: 5px; }

#block_48 .component-navbar__wrapper {
  background: rgba(255, 255, 255, .93);
  border-bottom: 1px solid rgba(210, 228, 250, .9);
  box-shadow: 0 5px 21px rgba(12, 48, 91, .05);
  position: sticky;
  top: 0;
  z-index: 1030;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

#block_48 .navbar { min-height: 72px; }
#block_48 .component-navbar-public-brand,
#block_48 .component-navbar-public-brand:hover { color: var(--pmu-navy); text-decoration: none; }
#block_48 .component-navbar-public-brand strong { font-size: clamp(15px, 1.7vw, 20px); letter-spacing: .04em !important; }

#block_48 .component-navbar-nav-link,
#block_48 .component-navbar-nav-link__navbar-public {
  border-radius: 10px;
  color: #3f5877 !important;
  font-size: 14px;
  font-weight: 750;
  padding: 9px 11px !important;
  transition: background-color .2s ease, color .2s ease;
}

#block_48 .component-navbar-nav-link:hover,
#block_48 .component-navbar-nav-link__navbar-public:hover {
  background: var(--pmu-blue-soft);
  color: var(--pmu-blue-deep) !important;
}

#block_48 .default-dropdown__toggle {
  background: transparent;
  border: 1px solid var(--pmu-blue-line);
  border-radius: 10px;
  color: #3f5877;
  font-size: 13px;
  font-weight: 750;
  padding: 8px 11px;
}

#block_48 .default-dropdown__container {
  border: 1px solid var(--pmu-blue-line);
  border-radius: 12px;
  box-shadow: var(--pmu-shadow);
  padding: 7px;
}

#block_48 .default-dropdown__link { border-radius: 8px; padding: 8px 10px; }
#block_48 .default-dropdown__link:hover { background: var(--pmu-blue-soft); }

/* Existing hero and actual login form */
#block_81 {
  isolation: isolate;
  overflow: hidden;
  padding: clamp(46px, 7vw, 88px) 0;
  position: relative;
}

#block_81 > .block-bg {
  background:
    radial-gradient(circle at 87% 22%, rgba(210, 228, 250, .88), transparent 25%),
    radial-gradient(circle at 11% 92%, rgba(188, 215, 247, .56), transparent 30%),
    linear-gradient(135deg, #fbfdff 2%, #e9f2fc 55%, #f7fbff) !important;
  inset: 0;
  opacity: 1 !important;
  position: absolute;
  z-index: -1;
}

#block_81::after {
  background-image: radial-gradient(rgba(30, 121, 228, .14) 1px, transparent 1px);
  background-size: 20px 20px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(90deg, #000, transparent 68%);
  opacity: .5;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

#block_81 h1 {
  color: var(--pmu-navy);
  font-size: clamp(37px, 4.7vw, 62px);
  font-weight: 850;
  letter-spacing: -.055em;
  line-height: 1.08;
  margin-bottom: 18px;
  max-width: 650px;
}

#block_81 .block-signin-text__block-text-description {
  color: var(--pmu-muted);
  font-size: clamp(16px, 1.65vw, 19px);
  max-width: 570px;
}

#block_81 .component_card .card {
  background: rgba(255, 255, 255, .95) !important;
  border: 1px solid rgba(255, 255, 255, .94) !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 50px rgba(12, 48, 91, .16) !important;
  overflow: hidden;
  padding: clamp(21px, 3vw, 30px) !important;
  position: relative;
}

#block_81 .component_card .card::before {
  background: linear-gradient(90deg, var(--pmu-blue), #5d85b4);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

#block_81 label { color: #385576; font-size: 13px; font-weight: 800; margin-bottom: 7px; }
#block_81 .form-control {
  background: #fbfdff;
  border: 1px solid var(--pmu-blue-line);
  border-radius: 11px;
  box-shadow: none;
  color: var(--pmu-navy);
  font-size: 15px;
  height: 50px;
  padding: 10px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

#block_81 .form-control:focus { border-color: var(--pmu-blue); box-shadow: 0 0 0 4px rgba(30, 121, 228, .12); }
#block_81 .btn-big-primary {
  background: linear-gradient(135deg, var(--pmu-blue-deep), var(--pmu-blue)) !important;
  border: 0 !important;
  border-radius: 11px;
  box-shadow: 0 10px 20px rgba(30, 121, 228, .22);
  font-weight: 800;
  min-height: 50px;
  transition: transform .2s ease, box-shadow .2s ease;
}

#block_81 .btn-big-primary:hover { box-shadow: 0 14px 26px rgba(30, 121, 228, .28); transform: translateY(-1px); }
#block_81 .block-signin-text__sign-up-link { font-weight: 800; margin-left: 7px; }

.pmu-password-toggle {
  background: transparent;
  border: 0;
  color: var(--pmu-blue-deep);
  font-size: 12px;
  font-weight: 800;
  height: 100%;
  padding: 0 12px;
  position: absolute;
  right: 0;
  top: 0;
}

#block_81 input[data-pmu-password] { padding-right: 58px; }

/* JS-injected Fansgurus-style platform and service sections */
.pmu-platform-strip { background: #fff; border-bottom: 1px solid var(--pmu-blue-line); border-top: 1px solid var(--pmu-blue-line); }
.pmu-container { margin: 0 auto; max-width: 1180px; padding-left: 24px; padding-right: 24px; }
.pmu-platforms { display: flex; gap: 10px; overflow-x: auto; padding: 15px 0; scrollbar-width: none; }
.pmu-platforms::-webkit-scrollbar { display: none; }
.pmu-platform {
  align-items: center;
  background: #fff;
  border: 1px solid var(--pmu-blue-line);
  border-radius: 999px;
  color: #54708f;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
  padding: 9px 14px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.pmu-platform:hover,
.pmu-platform.is-active { background: var(--pmu-blue-soft); border-color: #bcd7f7; color: var(--pmu-blue-deep); }
.pmu-platform__symbol { font-size: 15px; font-style: normal; }

.pmu-services { background: #f9fcff; padding: 85px 0; }
.pmu-section-head { margin: 0 auto 35px; max-width: 680px; text-align: center; }
.pmu-kicker { align-items: center; color: var(--pmu-blue-deep); display: flex; font-size: 13px; font-weight: 850; gap: 7px; justify-content: center; letter-spacing: .04em; margin: 0 0 11px; }
.pmu-kicker::before { background: var(--pmu-blue); border-radius: 50%; content: ""; height: 7px; width: 7px; }
.pmu-section-head h2 { color: var(--pmu-navy); font-size: clamp(27px, 3.35vw, 42px); font-weight: 850; letter-spacing: -.045em; line-height: 1.18; margin: 0; }
.pmu-section-head p:not(.pmu-kicker) { color: var(--pmu-muted); font-size: 16px; margin: 13px 0 0; }

.pmu-service-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pmu-service-card {
  background: var(--pmu-surface);
  border: 1px solid var(--pmu-blue-line);
  border-radius: var(--pmu-radius);
  display: flex;
  flex-direction: column;
  min-height: 274px;
  padding: 21px;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.pmu-service-card:hover { border-color: #aacdf5; box-shadow: var(--pmu-shadow); transform: translateY(-4px); }
.pmu-service-card.is-hidden { display: none; }
.pmu-service-card__top { align-items: flex-start; display: flex; justify-content: space-between; }
.pmu-service-icon { align-items: center; background: var(--pmu-blue-soft); border-radius: 14px; color: var(--pmu-blue-deep); display: flex; font-size: 24px; height: 51px; justify-content: center; width: 51px; }
.pmu-service-badge { background: #e9f8f2; border-radius: 999px; color: var(--pmu-success); font-size: 11px; font-weight: 800; padding: 5px 8px; }
.pmu-service-card h3 { color: var(--pmu-navy); font-size: 18px; letter-spacing: -.02em; margin: 18px 0 8px; }
.pmu-service-card > p { color: var(--pmu-muted); font-size: 13px; margin: 0; }
.pmu-service-list { color: #4f6b88; font-size: 12px; list-style: none; margin: 14px 0; padding: 0; }
.pmu-service-list li { margin: 6px 0; padding-left: 16px; position: relative; }
.pmu-service-list li::before { color: var(--pmu-blue); content: "✓"; font-weight: 900; left: 0; position: absolute; }
.pmu-service-card__bottom { align-items: end; border-top: 1px solid #eef5fd; display: flex; justify-content: space-between; margin-top: auto; padding-top: 14px; }
.pmu-price { color: var(--pmu-muted); font-size: 11px; }.pmu-price strong { color: var(--pmu-navy); display: block; font-size: 16px; }.pmu-service-link { color: var(--pmu-blue-deep); font-size: 13px; font-weight: 850; }
.pmu-no-services { color: var(--pmu-muted); display: none; grid-column: 1 / -1; padding: 25px; text-align: center; }.pmu-no-services.is-visible { display: block; }

/* Existing benefit cards become the "why choose us" section */
#block_82 { background: linear-gradient(180deg, #fff 0%, #f4f9ff 100%); padding: 84px 0; }
#block_82 .pmu-section-head { margin-bottom: 32px; }
#block_82 .col-ed.card {
  background: rgba(255, 255, 255, .86) !important;
  border: 1px solid var(--pmu-blue-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(12, 48, 91, .05) !important;
  padding: 23px !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

#block_82 .col-ed.card:hover { border-color: #aacdf5 !important; box-shadow: var(--pmu-shadow) !important; transform: translateY(-4px); }
#block_82 .features-block__header-preview {
  align-items: center;
  background: var(--pmu-blue-soft) !important;
  border-radius: 13px !important;
  color: var(--pmu-blue-deep) !important;
  display: inline-flex;
  font-size: 26px !important;
  height: 55px !important;
  justify-content: center;
  margin-bottom: 16px !important;
  width: 55px !important;
}

#block_82 .features-block__header-title { color: var(--pmu-navy); font-size: 16px; }
#block_82 .features-block__body-description { color: var(--pmu-muted); font-size: 13px; }

/* Existing how-it-works block */
#block_85 { background: var(--pmu-navy); color: #fff; overflow: hidden; padding: 82px 0; position: relative; }
#block_85::after { background: radial-gradient(circle, rgba(188, 215, 247, .38), transparent 57%); content: ""; height: 620px; position: absolute; right: -225px; top: -330px; width: 620px; }
#block_85 .container { position: relative; z-index: 1; }
#block_85 .pmu-section-head h2 { color: #fff; }
#block_85 .pmu-section-head p:not(.pmu-kicker) { color: #d8e8fa; }
#block_85 .pmu-kicker { color: #bcd7f7; }#block_85 .pmu-kicker::before { background: #bcd7f7; }
#block_85 .how-it-works-arrow-top, #block_85 .how-it-works-arrow-bottom { display: none; }
#block_85 .how-it-works-card { background: transparent !important; color: #fff; height: 100%; padding: 4px 14px 0 !important; text-align: center; }
#block_85 .how-it-works-number { align-items: center; background: var(--pmu-blue) !important; box-shadow: 0 10px 20px rgba(0, 0, 0, .18) !important; color: #fff !important; display: flex; font-size: 22px !important; font-weight: 850; height: 58px !important; justify-content: center; width: 58px !important; }
#block_85 .how-it-works-title { color: #fff; font-size: 16px; margin-top: 15px; }
#block_85 .how-it-works-description { color: #d8e8fa; font-size: 13px; }

/* JS-injected article cards */
.pmu-articles { background: #fff; padding: 84px 0; }
.pmu-article-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pmu-article { background: #fff; border: 1px solid var(--pmu-blue-line); border-radius: 17px; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.pmu-article:hover { box-shadow: var(--pmu-shadow); transform: translateY(-3px); }
.pmu-article-banner { background: linear-gradient(130deg, var(--pmu-blue-deep), #5d85b4); height: 122px; position: relative; }
.pmu-article:nth-child(2) .pmu-article-banner { background: linear-gradient(130deg, #4b96ec, #8fc2f2); }.pmu-article:nth-child(3) .pmu-article-banner { background: linear-gradient(130deg, #1e79e4, #74b0ec); }
.pmu-article-banner::before { border: 1px solid rgba(255, 255, 255, .72); border-radius: 14px; bottom: 18px; color: #fff; content: "运营指南"; font-size: 13px; font-weight: 850; left: 19px; padding: 7px 10px; position: absolute; }
.pmu-article-copy { padding: 18px; }.pmu-article-meta { color: #8298b2; font-size: 11px; font-weight: 750; }.pmu-article h3 { color: var(--pmu-navy); font-size: 16px; line-height: 1.45; margin: 9px 0; }.pmu-article p { color: var(--pmu-muted); font-size: 13px; margin: 0; }

/* Existing reviews and FAQ */
#block_89, #block_87 { background: #eef6ff; }
#block_89 { padding: 82px 0 12px; }#block_89 h2 { color: var(--pmu-navy); font-size: clamp(27px, 3.25vw, 41px); font-weight: 850; letter-spacing: -.04em; }#block_89 .text-block__description { color: var(--pmu-muted); font-size: 16px; }
#block_87 { padding: 18px 0 72px; }#block_87 .block-divider-bottom { display: none; }
#block_87 .reviews-slider__slide .card { background: #fff !important; border: 1px solid var(--pmu-blue-line) !important; border-radius: 16px !important; box-shadow: 0 10px 26px rgba(12, 48, 91, .07) !important; color: var(--pmu-text); min-height: 220px; padding: 23px !important; }
#block_87 .reviews-slider__slide-name { color: var(--pmu-navy); font-size: 16px; }#block_87 .reviews-slider__slide-description { color: var(--pmu-muted); font-size: 14px; line-height: 1.65; }#block_87 .reviews-slider__slide-avatar { background-color: var(--pmu-blue); border: 2px solid #bcd7f7; }#block_87 .slick-dots li button::before { color: var(--pmu-blue); }

#block_90 { background: #fff; padding: 82px 0; }#block_90 .pmu-section-head { margin-bottom: 31px; }
#block_90 .w-100.card { border: 1px solid var(--pmu-blue-line) !important; border-radius: 14px !important; box-shadow: none !important; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
#block_90 .w-100.card.pmu-faq-open { border-color: #aacdf5 !important; box-shadow: 0 10px 23px rgba(12, 48, 91, .08) !important; }
#block_90 .faq-block__header { align-items: center; cursor: pointer; display: flex; gap: 18px; min-height: 68px; padding: 18px 20px; }#block_90 .faq-block__header-title { flex: 1; }#block_90 .faq-block__header h4 { color: var(--pmu-navy); font-size: 16px; line-height: 1.4; margin: 0; }
#block_90 .faq-block__header-icon { align-items: center; background: var(--pmu-blue-soft); border-radius: 50%; color: var(--pmu-blue-deep) !important; display: flex; height: 30px; justify-content: center; transition: background-color .2s ease, transform .2s ease; width: 30px; }#block_90 .faq-block__header.pmu-faq-open .faq-block__header-icon { background: var(--pmu-blue); color: #fff !important; transform: rotate(45deg); }#block_90 .faq-block__body-description { border-top: 1px solid #eef5fd; color: var(--pmu-muted); padding: 3px 20px 20px !important; }

/* Footer and JS-injected controls */
#block_44 { background: var(--pmu-navy); color: #d8e8fa; padding: 24px 0; }#block_44 a { color: #e4f0ff; }
.pmu-fab { bottom: 19px; display: flex; flex-direction: column; gap: 9px; position: fixed; right: 19px; z-index: 1050; }.pmu-fab a, .pmu-fab button { align-items: center; background: linear-gradient(135deg, var(--pmu-blue-deep), var(--pmu-blue)); border: 0; border-radius: 999px; box-shadow: 0 10px 21px rgba(12, 48, 91, .22); color: #fff !important; display: inline-flex; font-size: 13px; font-weight: 850; justify-content: center; min-height: 43px; padding: 0 15px; text-decoration: none !important; }.pmu-fab button { align-self: flex-end; background: #fff; color: var(--pmu-blue-deep) !important; font-size: 19px; opacity: 0; padding: 0; pointer-events: none; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; width: 43px; }.pmu-fab button.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

.pmu-reveal { opacity: 0; transform: translateY(15px); transition: opacity .45s ease, transform .45s ease; }.pmu-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 991px) {
  #block_48 .navbar { min-height: 63px; }#block_48 .navbar-collapse { background: rgba(255, 255, 255, .98); border-radius: 14px; box-shadow: var(--pmu-shadow); margin-top: 10px; padding: 10px; }
  #block_81 { padding: 43px 0; }#block_81 .component_card { margin-top: 28px; }#block_81 h1 { font-size: clamp(34px, 9vw, 48px); }
  .pmu-services, #block_82, #block_85, .pmu-articles, #block_89, #block_90 { padding-bottom: 55px; padding-top: 55px; }.pmu-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pmu-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pmu-article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 580px) {
  .pmu-container { padding-left: 18px; padding-right: 18px; }.pmu-announcement { font-size: 12px; padding: 8px 15px; }.pmu-service-grid, .pmu-article-grid { grid-template-columns: 1fr; }.pmu-article:last-child { grid-column: auto; }#block_82 .grid-ed { --gapSizeX: 14px !important; --gapSizeY: 14px !important; }#block_85 .how-it-works-row { row-gap: 25px; }#block_87 .reviews-slider__slide .card { min-height: 0; }.pmu-fab { bottom: 14px; right: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.pmu-reveal, .pmu-reveal.is-visible { opacity: 1; transform: none; transition: none; }*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
