/* Broadband product page rebuilt from the Lanhu 1920px design export. */
.product-design-page { color: #000; background: #fff; }
.product-design-page h1, .product-design-page h2, .product-design-page h3, .product-design-page p, .product-design-page dl, .product-design-page dd { margin: 0; }
.product-hero { height: 448px; padding: 24px 0; background: #fff; }
.product-hero .home-container { height: 400px; overflow: hidden; border-radius: 0; }
.product-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }

.product-offers-section { margin-top: 48px; padding: 72px 0; background: #fef7f5; }
.product-section-heading h1, .comparison-section h2 { color: #000; font-family: "PingFang SC-Semibold", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 32px; font-weight: 600; line-height: 44px; }
.product-section-heading p { margin-top: 12px; color: #000; font-family: "PingFang SC-Regular", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 20px; line-height: 24px; }
.term-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 24px; }
.term-card { position: relative; min-height: 216px; overflow: hidden; padding: 31px 30px; border: 0; border-radius: 16px; color: #333; background: url("assets/lanhu-hd/bg_product1@2x.png") center / 100% 100% no-repeat; transition: box-shadow .18s ease; }
.term-card::after { content: none; }
.term-card:hover { box-shadow: 0 10px 22px -18px rgba(183, 70, 34, .42); }
.term-card > span, .term-card > small, .term-card > strong, .term-card > em { position: relative; z-index: 1; }
.term-card > span { display: block; color: #333; font-family: "PingFang SC-Medium", "PingFang SC", sans-serif; font-size: 14px; font-weight: 500; line-height: 18px; }
.term-card small { display: block; margin-top: 32px; color: #777; font-size: 14px; line-height: 20px; }
.term-card small b { color: #e9472b; font-family: "D-DIN Pro", Arial, sans-serif; font-size: 20px; font-weight: 500; }
.term-card strong { display: block; margin-top: 8px; color: #e9472b; font-family: "D-DIN Pro", Arial, sans-serif; font-size: 52px; font-weight: 500; line-height: 56px; }
.term-card strong i { margin-left: 7px; color: #e9472b; font-family: "PingFang SC-Medium", "PingFang SC", sans-serif; font-size: 16px; font-style: normal; font-weight: 500; }
.term-card-featured > em { position: absolute; z-index: 2; top: 24px; right: -1px; display: block; box-sizing: border-box; width: 61px; height: 28px; padding: 4px 0 0 12px; border-radius: 14px 0 0 14px; color: #fff; background: #e9472b; font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-size: 11px; font-style: normal; font-weight: 600; letter-spacing: 1px; line-height: 19px; white-space: nowrap; }

.fusion-panel { box-sizing: border-box; height: 308px; margin-top: 24px; padding: 24px; border: 1px solid #fbd3ca; border-radius: 32px; background: #ffefea; }
.fusion-row { display: flex; box-sizing: border-box; align-items: flex-start; width: 100%; height: 121px; padding: 0; border-radius: 16px; background: #fff; transition: box-shadow .2s ease; }
.fusion-row + .fusion-row { margin-top: 16px; }
.fusion-row:hover { box-shadow: 0 10px 22px rgba(139, 71, 35, .1); }
.fusion-price { flex: 0 0 99px; width: 99px; margin: 14px 0 0 30px; }
.fusion-price b { display: block; color: #000; font-family: "PingFang SC-Medium", "PingFang SC", sans-serif; font-size: 14px; font-weight: 500; line-height: 18px; white-space: nowrap; }
.fusion-price > div { display: flex; align-items: flex-end; height: 60px; margin-top: 16px; }
.fusion-price strong { color: #e9472b; font-family: "D-DIN Pro", Arial, sans-serif; font-size: 60px; font-weight: 500; line-height: 60px; }
.fusion-price span { margin: 0 0 4px 7px; color: #e9472b; font-family: "PingFang SC-Medium", "PingFang SC", sans-serif; font-size: 16px; font-weight: 500; line-height: 20px; white-space: nowrap; }
.fusion-row > p { margin: 0; color: #57514b; font-family: "PingFang SC-Regular", "PingFang SC", sans-serif; font-size: 14px; line-height: 24px; }
.fusion-row > p:not(.fusion-summary):not(.fusion-term) { flex: 0 0 172px; width: 172px; margin: 25px 0 0 56px; }
.fusion-row p b { color: #141210; font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-weight: 600; }
.fusion-row-79 .fusion-summary { flex: 0 0 173px; width: 173px; margin: 37px 0 0 159px; }
.fusion-row-79 .fusion-term { flex: 0 0 134px; width: 134px; margin: 24px 170px 0 157px; }
.fusion-row-89 .fusion-price { flex-basis: 101px; width: 101px; }
.fusion-row-89 .fusion-summary { flex: 0 0 154px; width: 154px; margin: 37px 0 0 158px; }
.fusion-row-89 .fusion-term { flex: 0 0 141px; width: 141px; margin: 24px 162px 0 176px; }
.fusion-term { padding: 0; font-size: 13px !important; line-height: 24px !important; white-space: nowrap; }
.fusion-term b { color: #d63c00 !important; font-family: "D-DIN Pro", Arial, sans-serif !important; font-size: 15px; font-weight: 500 !important; }
.fusion-term small { display: block; color: #57514b; font-size: 13px; line-height: 24px; }

.comparison-section { padding: 72px 0; background: #fef7f5; }
.comparison-scroll { margin-top: 32px; overflow-x: auto; border: 1.5px solid #fbd3ca; border-radius: 32px; background: #fff; box-shadow: 0 16px 48px -20px rgba(59,42,30,.2); }
.comparison-table { width: 100%; min-width: 1200px; border-spacing: 0; border-collapse: separate; color: #666; font-family: "PingFang SC-Regular", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 24px; text-align: left; }
.comparison-table th, .comparison-table td { box-sizing: border-box; height: 50px; padding: 0; border: 0; border-bottom: 1px solid #fbefe0; font: inherit; }
.comparison-table thead th { height: 54px; border-bottom: 0; color: #fff; background: linear-gradient(154deg, #ff761c, #ff5e1f); font-family: "PingFang SC-Semibold", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 600; line-height: 24px; }
.comparison-table thead th:first-child { width: 117px; padding-left: 30px; border-top-left-radius: 30px; }.comparison-table thead th:not(:first-child) { width: 270px; padding-left: 18px; }.comparison-table thead th:last-child { border-top-right-radius: 30px; }
.comparison-table tbody th { width: 117px; padding-left: 30px; color: #333; background: #fff7ee; font-family: "PingFang SC-Semibold", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 600; line-height: 24px; }
.comparison-table tbody td { width: 270px; padding-left: 20px; color: #666; font-family: "PingFang SC-Regular", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 24px; }
.comparison-table tr:last-child th, .comparison-table tr:last-child td { border-bottom: 0; }.comparison-price { color: #e9472b !important; font-family: "D-DIN Pro", Arial, sans-serif !important; font-size: 18px !important; font-weight: 500 !important; line-height: 30px !important; }
.recommendation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 32px; }
.recommendation-grid article { box-sizing: border-box; height: 261px; padding: 26px; border: 1.5px solid #fbd3ca; border-radius: 32px; background: #fff; box-shadow: 0 14px 32px -16px rgba(59,42,30,.2); }
.recommendation-icon { display: block; width: 34px; height: 34px; object-fit: contain; image-rendering: auto; }
.recommendation-grid h3 { margin-top: 16px; color: #3b2a1e; font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-size: 18px; font-weight: 600; line-height: 24px; }
.recommendation-grid b { display: grid; place-items: center; box-sizing: border-box; height: 32px; margin-top: 16px; padding: 0; border-radius: 999px; color: #f2670c; background: #ffe9d8; font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-size: 14px; font-weight: 600; line-height: 20px; text-align: center; }
.recommendation-grid p { margin-top: 16px; color: #666; font-family: "PingFang SC-Regular", "PingFang SC", sans-serif; font-size: 14px; line-height: 24px; }

.product-consult-section { padding: 72px 0; background: #fff; }
.consult-card { display: grid; justify-items: center; min-height: 352px; padding: 48px 24px; border-radius: 32px; background: linear-gradient(164deg, #ff9a4d 0%, #ff7a1e 45%, #f2670c 100%); box-shadow: 0 24px 48px -20px rgba(242,103,12,.6); color: #fff; text-align: center; }
.consult-card > span { font-size: 80px; line-height: 80px; }.consult-card h2 { margin-top: 32px; color: #fff; font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-size: 40px; font-weight: 600; line-height: 48px; }
.consult-card a { display: grid; place-items: center; width: 220px; height: 64px; margin-top: 32px; border-radius: 999px; color: #f2670c; background: #fff; box-shadow: 0 16px 32px -12px rgba(233,51,0,.4); font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-size: 20px; font-weight: 600; letter-spacing: 2px; transition: transform .2s ease, box-shadow .2s ease; }.consult-card a:hover { transform: translateY(-2px); box-shadow: 0 19px 34px -12px rgba(164,60,0,.5); }
.product-design-page .product-notice { position: relative; left: 50%; display: flex; justify-content: space-between; width: 522px; max-width: 100%; height: 64px; margin: 48px 0 0; padding: 0; border-radius: 12px; transform: translateX(-50%); color: #000; background: #ffe9d8; font-family: "PingFang SC-Regular", "PingFang SC", sans-serif; font-size: 14px; line-height: 24px; }.product-notice b { display: grid; flex: 0 0 48px; place-items: center; width: 48px; height: 48px; margin: 8px 0 0 8px; border-radius: 8px; color: #fff; background: linear-gradient(90deg, #e93300, #f96100); font-family: "PingFang SC-Semibold", "PingFang SC", sans-serif; font-size: 16px; font-weight: 600; line-height: 20px; text-align: center; }.product-notice span { display: block; flex: 0 0 448px; width: 448px; height: 48px; margin: 8px 8px 0 0; padding: 0; }

@media (max-width: 1240px) and (min-width: 761px) {
  .term-card { padding-right: 22px; padding-left: 22px; }.fusion-panel { height: auto; }.fusion-row { display: grid; grid-template-columns: 140px 175px minmax(130px, 1fr) 160px; align-items: center; height: 121px; padding-right: 22px; padding-left: 22px; }.fusion-price, .fusion-row-89 .fusion-price { width: auto; margin: 0; }.fusion-row > p:not(.fusion-summary):not(.fusion-term), .fusion-row-79 .fusion-summary, .fusion-row-89 .fusion-summary, .fusion-row-79 .fusion-term, .fusion-row-89 .fusion-term { width: auto; margin: 0; }.fusion-term { padding-left: 0; }.recommendation-grid { gap: 20px; }.recommendation-grid article { padding: 22px; }
}
@media (max-width: 760px) {
  .product-hero { height: auto; padding: 16px 0; }.product-hero .home-container { height: auto; border-radius: 10px; aspect-ratio: 3 / 1; }.product-hero img { object-fit: contain; }
  .product-offers-section { margin-top: 24px; padding: 48px 0; }.product-section-heading h1, .comparison-section h2 { font-size: 25px; line-height: 34px; }.product-section-heading p { margin-top: 9px; font-size: 14px; line-height: 22px; }.term-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }.term-card { min-height: 182px; padding: 20px 16px; border-radius: 12px; }.term-card > span { font-size: 12px; line-height: 17px; }.term-card small { margin-top: 24px; font-size: 12px; }.term-card small b { font-size: 17px; }.term-card strong { margin-top: 5px; font-size: 42px; line-height: 48px; }.term-card strong i { margin-left: 3px; font-size: 12px; }.term-card-featured > em { top: 16px; right: -1px; width: 50px; height: 23px; padding: 3px 0 0 9px; border-radius: 11px 0 0 11px; font-size: 10px; letter-spacing: 0; line-height: 17px; }
  .fusion-panel { height: auto; margin-top: 18px; padding: 12px; border-radius: 18px; }.fusion-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; height: auto; min-height: 0; padding: 18px 16px; border-radius: 11px; }.fusion-row + .fusion-row { margin-top: 12px; }.fusion-price, .fusion-row-89 .fusion-price { width: auto; margin: 0; }.fusion-price > div { height: 44px; margin-top: 6px; }.fusion-price strong { font-size: 42px; line-height: 44px; }.fusion-price span { margin: 0 0 2px 4px; font-size: 13px; line-height: 17px; }.fusion-row > p:not(.fusion-summary):not(.fusion-term), .fusion-row-79 .fusion-summary, .fusion-row-89 .fusion-summary, .fusion-row-79 .fusion-term, .fusion-row-89 .fusion-term { width: auto; margin: 0; }.fusion-row p { font-size: 12px; line-height: 19px; }.fusion-term { padding-left: 0; font-size: 12px !important; line-height: 19px !important; white-space: normal; }.fusion-term small { font-size: 12px; line-height: 19px; }
  .comparison-section { padding: 48px 0; }.comparison-scroll { margin-top: 22px; border-radius: 18px; }.comparison-table { min-width: 850px; }.comparison-table th, .comparison-table td { height: 45px; padding: 0 12px; font-size: 12px; line-height: 18px; }.comparison-table th:first-child { width: 100px; }.comparison-table th:not(:first-child), .comparison-table td { width: 188px; }.comparison-table thead th { height: 48px; }.recommendation-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 22px; }.recommendation-grid article { height: auto; min-height: 0; padding: 20px; border-radius: 20px; }.recommendation-icon { width: 28px; height: 28px; }.recommendation-grid h3 { margin-top: 12px; font-size: 16px; }.recommendation-grid b { margin-top: 12px; font-size: 12px; }.recommendation-grid p { margin-top: 12px; font-size: 13px; line-height: 21px; }
  .product-consult-section { padding: 48px 0; }.consult-card { min-height: 248px; padding: 30px 18px; border-radius: 20px; }.consult-card > span { font-size: 52px; line-height: 52px; }.consult-card h2 { margin-top: 18px; font-size: 23px; line-height: 32px; }.consult-card a { width: 170px; height: 48px; margin-top: 20px; font-size: 16px; }.product-design-page .product-notice { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; width: min(522px, 100%); height: auto; min-height: 64px; margin-top: 26px; padding: 8px; font-size: 12px; line-height: 19px; }.product-notice b { width: auto; height: auto; min-height: 42px; margin: 0; font-size: 13px; line-height: 17px; }.product-notice span { width: auto; height: auto; margin: 0; padding: 3px 0; }
}
@media (max-width: 420px) { .term-card-grid { grid-template-columns: 1fr; }.term-card { min-height: 164px; }.term-card::after { right: -48px; bottom: -126px; }.fusion-row { grid-template-columns: 1fr; gap: 7px; }.fusion-price { display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; column-gap: 4px; }.fusion-price b { grid-column: 1 / -1; }.fusion-price span { margin: 0; }.fusion-summary { display: none; } }
@media (max-width: 760px) { .comparison-table thead th:first-child, .comparison-table tbody th { width: 100px; padding-left: 12px; }.comparison-table thead th:not(:first-child), .comparison-table tbody td { width: 188px; padding-left: 12px; } }
