/* 禁漫天堂 H5 — 对齐 UI 稿（浅粉底、FAQ 卡片、胶囊邮箱、白圆社交、页脚） */

:root {
  --ui-page-bg: #fff9fb;
  --ui-border: #e8b4c8;
  --ui-border-strong: rgba(255, 143, 194, 1);
  --ui-text: #1a1a1a;
  --ui-text-body: #444444;
  --ui-text-muted: #252525;
  --ui-pink: #e91e63;
  --ui-heading-pink: #ff0073;
  --ui-pink-soft: #ff5a8a;
  --ui-mail-bg: #ffffff;
  --ui-mail-link: #e91e63;
  /* 线路卡片文案：稿图 2 / 稿图 3 */
  --line-title-color: #252525;
  --line-url-color: #ff41a0;
  /* 线路卡片：稿图多为手机比例，PC 不拉满宽，居中窄条 + 底图完整显示 */
  --line-card-max-pc: 406px;
  --line-card-h-mobile: 68px;
  --line-card-h-pc: 80px;
  /* btn-bg.png 资源比例（如 540×228 → 45:19） */
  --btn-bg-aspect-w: 45;
  --btn-bg-aspect-h: 19;
}

html,
body {
  color: var(--ui-text);
}

body {
  min-height: 100vh;
  /* 整页：浅粉底 + 大图轻铺（不用 fixed，避免 H5 视口异常） */
  background-color: var(--ui-page-bg);
  background-image: linear-gradient(
      180deg,
      rgba(255, 249, 251, 0.82) 0%,
      rgba(255, 249, 251, 0.78) 40%,
      rgba(255, 245, 250, 0.85) 100%
    ),
    url("../images/web-bg.png");
  background-size: auto, cover;
  background-position: center top, center 28%;
  background-repeat: no-repeat, no-repeat;
  background-attachment: scroll, scroll;
}

.page-header-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  font-weight: 600;
  background: linear-gradient(90deg, #ff5f8f 0%, #ff7aa8 50%, #ff5f8f 100%);
  box-shadow: none;
}

main#content {
  padding-top: 0px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  main#content {
    max-width: 560px;
  }
}

.hero-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 8px;
}

.title-wrap {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

#content img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.title-wrap img {
  width: 90% !important;
  display: block;
  object-fit: contain;
}

.intro-block {
  padding:8px 4px 0;
  text-align: center;
}

.intro-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--ui-text);
  line-height: 1.45;
}

.intro-desc {
  font-size: 14px;
  font-weight: 500;
  color: var(--ui-text-muted);
}

.lines-section {
  margin-top: 4px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#list-wrap {
  gap: 12px;
}

@media (min-width: 768px) {
  #list-wrap {
    justify-items: center;
  }
}

#list-wrap a.line-item {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 329px;
  margin-left: auto;
  margin-right: auto;
  min-height: 0;
  height: var(--line-card-h-mobile);
  padding: 10px 14px;
  border: none;
  border-radius: 14px;
  overflow: hidden;
  /* contain 时两侧/上下留白用底色接 */
  background-color: transparent;
  color: var(--ui-text);
  box-shadow: none;
}

/* 线路底图：contain 整张入框，不拉伸、不裁切丢内容 */
#list-wrap a.line-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: url("../images/line-bg.png") center / contain no-repeat;
}

#list-wrap a.line-item > * {
  position: relative;
  z-index: 1;
}

/* 第一行：稿图 2 — PingFang SC Semibold 20px / 行高 120% / #252525 */
#list-wrap .btnTitle {
  font-family: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: var(--line-title-color);
  letter-spacing: 0;
}

/* 第二行：稿图 3 — PingFang SC Medium 20px / 行高 140% / #FF41A0 */
#list-wrap .btnLink {
  margin-top: 2px;
  font-family: "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.2px;
  text-align: center;
  word-break: break-all;
  color: var(--line-url-color);
}

.sub-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 8px;
}

.sub-nav-2 {
  margin-top: 4px;
}

/* 按钮底图与资源同比例，避免 contain 在格子里「扁/挤」 */
.sub-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  aspect-ratio: var(--btn-bg-aspect-w) / var(--btn-bg-aspect-h);
  height: auto;
  padding: 0px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ui-pink);
  background-color: #fef6fa;
  background-image: url("../images/btn-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border: none;
  box-shadow: none;
  text-align: center;
  line-height: 1;
  text-decoration: none;
}

.sub-nav a:hover {
  opacity: 0.92;
}

/* 快捷入口与邮箱之间的说明文案 */
.sub-nav-lede {
  margin-top: 0px;
  margin-bottom: 2px;
  padding: 0 2px;
  text-align: center;
}

.sub-nav-lede__line {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--ui-text-muted);
}

.sub-nav-lede__line + .sub-nav-lede__line {
  margin-top: 8px;
}

/* 分区标题（稿图红框文案） */
.section-heading {
  margin: 8px 0 0;
  padding: 0 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
  color: var(--ui-heading-pink);
}



.contact-lede {
  margin: 0;
  padding: 0 4px;
  font-size: 14px;
  font-weight: 500; 
  text-align: center;
  color: var(--ui-text-body);
}

/* 邮箱：全圆角胶囊 + 浅粉底 + 粉细边框 */
.mail-banner {
  margin-top: 10px;
  margin-bottom: 4px;
  padding: 12px 16px;
  border-radius: 999px;
  font-size: 14px;
  text-align: center;
  font-weight: 500;
  color: var(--ui-text-body);
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid var(--ui-border-strong);
  box-shadow: none;
}

.mail-banner__text {
  margin: 0;
  line-height: 1.65;
}

.mail-banner a {
  color: var(--ui-mail-link); 
  text-decoration: none;
  font-weight: 500;
}

.mail-banner a:hover {
  text-decoration: underline;
}

/* FAQ：白底、粉边框、标题栏 + 右侧圆形粉按钮白箭头、展开时标题下粉分隔线 */
.faq-wrap {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.faq-item {
  border-radius: 14px;
  border: 1px solid var(--ui-border);
  background: #fff;
  overflow: hidden;
  box-shadow: none;
}

.faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px 13px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: var(--ui-text);
  line-height: 1.45;
  -webkit-tap-highlight-color: transparent;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-summary-text {
  flex: 1;
  min-width: 0;
  text-align: left;
  font-size: 16px;
  color: #2A2A2A;
}

.faq-summary-ctrl {
  display: inline-block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(131, 73, 104, 1);
  box-shadow: none;
  position: relative;
  vertical-align: middle;
}

.faq-summary-ctrl::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: 0;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.2s ease;
}

.faq-item[open] summary {
  border-bottom: 1px solid #f0c4d4;
  padding-bottom: 12px;
}

.faq-item[open] .faq-summary-ctrl::after {
  transform: translate(-50%, -50%) rotate(-135deg);
}

.faq-body {
  padding: 12px;
  font-size: 14px; 
  color: var(--ui-text-body);
  text-align: center;
}

.faq-body a {
  color: var(--ui-mail-link);
  font-weight: 600;
  text-decoration: none;
}

.faq-body a:hover {
  text-decoration: underline;
}

/* 底部 4 图标：与 FAQ 同宽，图标下带文案 */
.social-strip {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-top: 14px;
  margin-bottom: 14px;
  padding: 0;
  width: 100%;
  max-width: 100%;
}

.social-item {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.15s ease;
}

.social-item:hover {
  opacity: 0.88;
}

.social-bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: clamp(44px, calc(100% / 4 * 0.95), 57.6px);
  aspect-ratio: 1;
  height: auto;
  min-width: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
}

.social-bubble img {
  width: 100%;
  height: 100%;
  max-width: 57.6px;
  max-height: 57.6px;
  object-fit: contain;
  pointer-events: none;
}

.social-label {
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  text-align: center;
  color: #6a6a6a;
  white-space: nowrap;
}

.page-footer {
  margin-top: 20px;
  color: var(--ui-text-body);
  font-size: 11px;
}

@media (min-width: 400px) {
  .page-footer {
    font-size: 12px;
  }
}

.page-footer__line {
  margin: 0;
  line-height: 1.45;
}



@media (min-width: 768px) {
  .title-wrap {
    max-width: 420px;
  }

  .faq-summary-text {
    font-size: 20px;
  }

  .sub-nav a {
    font-size: 16px;
    padding: 10px 12px;
    line-height: 1.35;
    border-radius: 14px;
    width: 90%;
  }

  #list-wrap a.line-item {
    width: 100%;
    max-width: var(--line-card-max-pc);
    height: var(--line-card-h-pc);
    padding: 8px 14px;
  }


  #list-wrap .btnLink {
    font-size: 16px;
    margin-top: 2px;
  }

  .social-bubble {
    width: 52.8px;
    height: 52.8px;
  }

  .social-bubble img {
    width: 52.8px;
    height: 52.8px;
    max-width: 52.8px;
    max-height: 52.8px;
  }

  .social-label {
    font-size: 13px;
  }

  .social-strip {
    gap: 28px;
    justify-content: center;
  }

  .section-heading {
    font-size: 16px;
    font-weight: 600;
    margin-top: 8px;
  }
}

@media (max-width: 767px) {
  main#content {
    padding-top: 10px;
  }

  /* 线路区 H5 满宽：抵消 main 左右 padding */
  .lines-section {
    width: calc(100%);
  }

  #list-wrap a.line-item::before {
    background-size: 100% 100%;
  }

  .mail-banner {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .hero-brand{
        transform: scale(0.85);
  }
  .title-wrap {
    max-width: 320px;

    transform-origin: center top;
  }

  .intro-block {
    margin-top: 0;
    padding-top: 0;
  }

  .intro-desc {
    margin-top: 0;
    padding-top: 0; 
  }

  .section-heading--contact {
    margin-top: 0px;
  }
}
