/* The shared stylesheet already reserves header space; a second offset would leave a blank strip. */
.repair-page{--repair-side-gap:clamp(80px,8.333333vw,160px);padding-top:0;color:#666;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:14px;line-height:1.7}
.repair-page *{box-sizing:border-box}.repair-page [hidden]{display:none!important}.repair-page button,.repair-page select{font:inherit}.repair-page button{cursor:pointer}.repair-page a{color:inherit}.repair-container{width:min(1200px,84%);margin:0 auto}
/* 三个主内容区共享边界：桌面每侧 80–160px，1920px 屏幕每侧 160px。
   限定为概览模块，避免改变修缮详情页的原有容器宽度。 */
.repair-service>.repair-container,.repair-systems>.repair-container,.repair-cases.repair-container{width:calc(100% - var(--repair-side-gap) * 2);max-width:none}
/* Keep the shared mobile contact bar, while redundant desktop rails must not cover result text. */
@media(max-width:991px){.repair-page~.cbl,.repair-page~.cbl1{display:none}}
.repair-banner{position:relative;background:#bd0018}.repair-banner .swiper-slide img{display:block;width:100%;height:auto}.repair-banner .swiper-slide picture{display:block}.repair-banner .swiper-pagination-bullet-active{background:#fff}.repair-banner-prev,.repair-banner-next{position:absolute;z-index:2;top:45%;width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.25);font-size:32px!important;line-height:1}.repair-banner-prev{left:8%}.repair-banner-next{right:8%}
/* 查询按钮宽度和列间距共用变量，让结果框右边缘始终对齐城市框。 */
.repair-service{--repair-query-button-width:190px;--repair-query-gap:25px;padding:48px 0 56px;background:#f8f8f8 url("../images/repair/service-background.jpg") center center/cover no-repeat}/* 对齐参考站服务页主标题的字号、细字重、字体顺序与深灰色，保留本页文案。 */
.repair-service h1,.repair-heading{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:40px;font-weight:290;line-height:1.5;text-align:center;color:#333;margin:0 0 50px}.repair-query{display:grid;grid-template-columns:44% minmax(0,1fr) var(--repair-query-button-width);gap:var(--repair-query-gap);margin-bottom:20px}.repair-query label{display:block;min-width:0;margin:0}.repair-query select{display:block;width:100%;height:46px;padding:0 42px 0 18px;border:1px solid #d0d0d0;border-radius:4px;color:#777;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23999' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.repair-query select:hover:not(:disabled){border-color:#aaa}.repair-query select:focus{border-color:#e60012;outline:none;box-shadow:0 0 0 3px rgba(230,0,18,.08)}.repair-query select:disabled{background-color:#fafafa;color:#aaa;cursor:not-allowed}.repair-query select option{color:#666;background:#fff}.repair-query button{border:0;border-radius:28px;background:#e60012;color:#fff;font-weight:600}.repair-query button:focus-visible,.repair-page button:focus-visible{outline:3px solid #9c2430;outline-offset:3px}
.repair-service-body{width:calc(100% - var(--repair-query-button-width) - var(--repair-query-gap))}.repair-results{border:1px solid #ccc;border-radius:5px;background:#fff;padding:22px}.repair-count{font-size:18px;margin:0 0 12px;color:#999}.repair-count strong{color:#e60012;font-weight:400}.repair-center-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start;height:380px;overflow:auto;scrollbar-color:#e60012 #eee;scrollbar-width:thin;padding-right:18px}.repair-center{min-width:0;overflow-wrap:anywhere;padding:18px 12px;border-bottom:1px solid #ef001b;background:#fafafa url("../images/repair/center-background.jpg") center center/cover no-repeat;margin-bottom:0}.repair-center h2{font-size:15px;color:#555;font-weight:600;margin-bottom:18px}.repair-center p{font-size:12px;color:#888;line-height:1.9;overflow-wrap:anywhere}.repair-center a:hover{color:#e60012}.repair-empty{padding:35px 15px;text-align:center;color:#888}
.repair-systems{padding:45px 0 22px;background:#fff}.repair-system-tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:0}.repair-system-tabs button{flex:1;min-width:0;background:transparent;border:0;border-bottom:2px solid #d00015;padding:16px 8px;color:#666;font-size:clamp(14px,1.6vw,22px);line-height:1.5;white-space:nowrap}.repair-system-tabs button:nth-child(2){border-color:#80af62}.repair-system-tabs button:nth-child(3){border-color:#9365a5}.repair-system-tabs button:nth-child(4){border-color:#39b4b5}.repair-system-tabs button:nth-child(5){border-color:#318ccd}.repair-system-tabs button[aria-selected=true]{font-weight:600;color:#e60012;background:#fafafa}.repair-system-image{width:100%;max-width:none;margin:0 auto;overflow:hidden}.repair-system-image img{display:block;width:100%;max-width:100%;min-width:0;height:auto}
/* 场景图通屏；五张详情图在各自 slide 内留白，避免切换时改变轮播容器宽度。 */
.repair-system-image .swiper-slide>img{width:calc(100% - var(--repair-side-gap) * 2);margin:0 auto}.repair-system-image .swiper-slide{height:auto}.repair-system-image .repair-system-pagination{position:static;display:flex;justify-content:center;gap:10px;padding:16px 0 8px;line-height:1}.repair-system-pagination .swiper-pagination-bullet{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#bbb;opacity:1;margin:0!important}.repair-system-pagination .swiper-pagination-bullet-active{background:#e60012}.repair-system-hint{text-align:center;color:#999;font-size:13px;margin:0}.repair-scene-reset{display:block;margin:20px auto 0;border:0;background:transparent;color:#999}
/* 独立于共用悬浮栏，只有本页模板包含热线入口，避免影响其他页面。 */
.repair-page .repair-hotline{position:fixed;right:0;top:calc(50% - 88px);z-index:56;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:68px;height:80px;border-radius:5px 0 0 5px;background:#e50011;color:#fff;box-shadow:0 4px 16px rgba(181,0,20,.16);text-decoration:none;transition:background .2s}
.repair-hotline-icon{display:block;width:28px;height:28px;flex-shrink:0}.repair-hotline-label{font-size:12px;line-height:20px}
.repair-hotline-card{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);width:224px;padding:16px 20px;border:1px solid #f2d8dc;border-radius:8px;background:#fff;box-shadow:0 6px 24px rgba(60,20,25,.12);visibility:hidden;opacity:0;transition:opacity .2s;pointer-events:none;text-align:left}
.repair-hotline-card:after{content:"";position:absolute;right:-6px;top:calc(50% - 6px);width:10px;height:10px;background:#fff;border-top:1px solid #f2d8dc;border-right:1px solid #f2d8dc;transform:rotate(45deg)}
.repair-hotline-title{display:block;color:#888;font-size:13px;line-height:22px}.repair-hotline-card strong{display:block;color:#e50011;font-family:Arial,sans-serif;font-size:23px;font-weight:600;line-height:32px;white-space:nowrap}
.repair-page .repair-hotline:hover,.repair-page .repair-hotline:focus-visible{background:#c90010}.repair-hotline:hover .repair-hotline-card,.repair-hotline:focus .repair-hotline-card{visibility:visible;opacity:1}.repair-hotline:focus-visible{outline:2px solid #9c2430;outline-offset:3px}
@media(max-width:991px){.repair-page .repair-hotline{position:static;flex-direction:row;gap:16px;width:90%;height:auto;min-height:88px;margin:0 auto 32px;padding:15px 20px;justify-content:flex-start;border:1px solid #e50011;border-radius:8px;background:#e50011;color:#fff;box-shadow:0 4px 16px rgba(181,0,20,.06)}.repair-page .repair-hotline:hover,.repair-page .repair-hotline:focus-visible{background:#c90010}.repair-hotline-icon{width:30px;height:30px}.repair-hotline-label{display:none}.repair-hotline-card{position:static;transform:none;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;visibility:visible;opacity:1}.repair-hotline-card:after{display:none}.repair-hotline-title,.repair-hotline-card strong{color:#fff}}
@media(prefers-reduced-motion:reduce){.repair-page .repair-hotline,.repair-hotline-card{transition:none}}
/* 单排轨道由现有 Swiper 克隆首尾卡片衔接，避免滚到末尾后倒放。 */
.repair-cases{padding:35px 0 75px}.repair-case-track{overflow:hidden;padding-bottom:12px;cursor:grab}.repair-case-track:focus-visible{outline:2px solid #e60012;outline-offset:5px}.repair-case-list{display:flex;gap:18px;align-items:stretch}.repair-case-track.swiper-container-horizontal .repair-case-list{gap:0}.repair-case{position:relative;min-width:0;flex-shrink:0;width:calc((100% - 54px)/3.2);height:auto}.repair-case-visual{position:relative;overflow:hidden;border-radius:3px}.repair-case img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.repair-case h3{position:absolute;left:0;bottom:12px;width:fit-content;max-width:85%;margin:0;padding:4px 8px;background:#e60012;color:#fff;font-size:12px;font-weight:400;line-height:18px;overflow-wrap:anywhere}.repair-case p{font-size:13px;color:#888;margin-top:12px}.repair-case p:empty{display:none}.repair-case a{display:block}.repair-case a:hover img{filter:brightness(.94)}.repair-item{padding:70px 0;min-height:500px}.repair-item h1{font-size:30px;margin-bottom:24px}.repair-item a{color:#e60012}.repair-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:991px){.repair-page{--repair-side-gap:clamp(16px,5vw,48px);padding-top:0}.repair-container{width:90%}.repair-service{--repair-query-button-width:140px;--repair-query-gap:12px}.repair-query{grid-template-columns:55% minmax(0,1fr) var(--repair-query-button-width)}.repair-service h1,.repair-heading{margin-bottom:32px}.repair-system-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.repair-system-tabs button{min-width:0;font-size:16px;white-space:nowrap}.repair-case-list{gap:12px}.repair-case{width:calc((100% - 24px)/2.2)}.repair-case h3{left:0px;bottom:10px;font-size:11px;line-height:17px;padding:3px 7px}.repair-case img{aspect-ratio:2/1}}
@media(max-width:600px){.repair-page{padding-top:0}.repair-service{padding:28px 0}.repair-service h1,.repair-heading{margin-bottom:24px}.repair-query{grid-template-columns:1fr 1fr;gap:10px}.repair-query select{font-size:13px;padding:0 34px 0 12px;background-position:right 12px center}.repair-query button{grid-column:1/-1;height:43px}.repair-service-body{width:100%}.repair-center-list{height:335px;gap:10px;padding-right:8px}.repair-center{padding:12px 8px}.repair-results{padding:16px}.repair-banner-prev,.repair-banner-next{width:30px;height:30px;font-size:24px!important}.repair-banner-prev{left:3%}.repair-banner-next{right:3%}.repair-system-tabs button{padding:12px 4px;font-size:clamp(12px,3.6vw,15px)}.repair-cases{padding:25px 0 45px}.repair-case{width:calc((100% - 12px)/1.18)}.repair-systems{padding-top:30px}}

/* 标题定位在独立图片容器内，后台填写简介时也不会把标题移出图片。 */
.repair-case a:focus-visible{outline:2px solid #9c2430;outline-offset:-2px}

/* 主标题沿用参考页的响应式字号，保证三个区块始终保持同一层级。 */
@media(max-width:1680px){.repair-service h1,.repair-heading{font-size:32px}}
@media(max-width:1440px){.repair-service h1,.repair-heading{font-size:28px}}
@media(max-width:1199px){.repair-service h1,.repair-heading{font-size:24px}}
@media(max-width:767px){.repair-service h1,.repair-heading{font-size:20px;font-weight:400}}

/* 与共用底栏的显示断点一致；仅提升本页底栏，防止 Swiper 层级覆盖导航。 */
@media(max-width:1200px){.repair-page~.xdbdh{z-index:60}}

/* 背景和文字层共享网格但各自参与高度计算，替换图片后不会溢出下一模块。
   文字图以背景实际高宽比限制高度，两个方向均等比缩放，不依赖固定设计稿尺寸。 */
.repair-scene{position:relative;display:grid;width:100%;isolation:isolate}
.repair-scene>#repair-system-image{grid-area:1/1;align-self:start;width:100%;height:auto}
.repair-scene-labels{grid-area:1/1;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) minmax(0,1fr);align-content:start;align-items:start;gap:clamp(12px,2vw,36px);padding:2vw var(--repair-side-gap)}
.repair-scene .repair-scene-label{position:static;width:auto;max-width:100%;min-width:0;height:auto;max-height:min(960px,var(--repair-scene-label-height,52vw));margin:0;object-fit:contain;object-position:center top;pointer-events:none}
.repair-scene .repair-scene-label-left{grid-column:1;justify-self:start}
.repair-scene .repair-scene-label-right{grid-column:3;justify-self:end}
/* 横版或极长文字图让出场景主体，改为下方独立图文区，保持内容完整。 */
.repair-scene-separated{display:block}
.repair-scene-separated .repair-scene-labels{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding:clamp(24px,3vw,48px) var(--repair-side-gap);background:#fafafa}
.repair-scene-separated .repair-scene-label{grid-column:auto;justify-self:center;width:auto;max-width:min(100%,560px);max-height:none}
@media(max-width:991px){.repair-scene{display:block}.repair-scene .repair-scene-labels{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px var(--repair-side-gap);background:#fafafa}.repair-scene .repair-scene-label{grid-column:auto;justify-self:center;width:auto;max-width:100%;max-height:none}}
@media(max-width:600px){.repair-scene .repair-scene-labels{grid-template-columns:minmax(0,1fr);gap:28px;padding:24px var(--repair-side-gap)}.repair-scene .repair-scene-label{max-width:min(100%,420px)}}

/* 点击后显示的放大层不接收鼠标事件，拖动继续交给底下的轮播。
   悬停范围由 JS 坐标判断，保留同一过渡完成放大与缩回。 */
.repair-case.repair-case-preview{position:fixed;z-index:57;margin:0;pointer-events:none;transform-origin:top left;transition:transform 240ms cubic-bezier(.2,.7,.3,1),left 240ms cubic-bezier(.2,.7,.3,1),top 240ms cubic-bezier(.2,.7,.3,1),box-shadow 240ms ease}
.repair-case-preview.is-expanded{box-shadow:0 6px 24px rgba(0,0,0,.2)}
.repair-case-preview.is-closing{pointer-events:none}
.repair-case-preview a:hover img{filter:none}
@media(prefers-reduced-motion:reduce){.repair-case.repair-case-preview{transition:none}}

/* 避免原生图片拖拽或文字选中干扰鼠标左右滑动。 */
.repair-case-track .repair-case-visual{user-select:none;-webkit-user-select:none}
.repair-case-track .repair-case-visual img{-webkit-user-drag:none}
