body.shangzuo-solution-page { background: var(--cream, #f8f0e7) !important; color: var(--ink, #1f201f) !important; font-family: RobotoLocal, Arial, sans-serif !important; }
body.shangzuo-solution-page .wp-site-blocks { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
body.shangzuo-solution-page .shangzuo-solution-main { padding-top:96px; background:var(--cream,#f8f0e7); font-family:RobotoLocal,Arial,sans-serif; overflow:hidden; }
body.shangzuo-solution-page .main { background:var(--cream,#f8f0e7)!important; }
body.shangzuo-solution-page .btn { background:var(--orange,#fa5a14)!important; border-color:var(--orange,#fa5a14)!important; color:#fff!important; }
body.shangzuo-solution-page .btn:hover { background:var(--brown-deep,#2b211c)!important; border-color:var(--brown-deep,#2b211c)!important; }
@media (max-width:900px) { body.shangzuo-solution-page .shangzuo-solution-main { padding-top:68px; } }

/* Solutions hero heading and purchasing-needs tagline. */
body.shangzuo-solution-page #solution-page .page_banner,
body.shangzuo-solution-page #solution-page .page_banner .sectionImg,
body.shangzuo-solution-page #solution-page .page_banner .sectionImg>img { min-height:260px; }
body.shangzuo-solution-page #solution-page .page_banner .sectionImg>img { width:100%; object-fit:cover; }
body.shangzuo-solution-page #solution-page .page_banner .sectionTxt {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; padding:24px 20px; box-sizing:border-box; text-align:center;
}
body.shangzuo-solution-page #solution-page .page_banner .sz-solution-hero-copy {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:clamp(18px,1.45vw,30px); width:min(100%,1400px); max-width:100%; margin:0 auto; padding:0; box-sizing:border-box;
}
body.shangzuo-solution-page #solution-page .page_banner .sz-solution-hero-copy>.sectionTit {
  width:100%; margin:0; padding:0; color:#fff; font-family:RobotoLocal,Arial,sans-serif;
  font-size:clamp(32px,3.125vw,72px); font-weight:400; line-height:1.125; text-align:center;
}
body.shangzuo-solution-page #solution-page .page_banner .sz-solution-hero-tagline {
  max-width:1100px; width:100%; margin:0; padding:0; color:#fff;
  font-family:RobotoLocal,Arial,sans-serif; font-size:clamp(16px,1.25vw,28px); font-weight:400;
  line-height:1.5; letter-spacing:0; text-align:center; white-space:normal; text-wrap:balance; overflow-wrap:break-word;
}

/* Shared navigation: live homepage-solution titles and permalinks. */
body.shangzuo-solution-page #solution-page .sz-solution-tabs { position:relative; top:auto; width:100%; height:auto; margin:0; padding:0; border-bottom:1px solid #e2d9d0; background:var(--cream,#f8f0e7); }
body.shangzuo-solution-page #solution-page .sz-solution-tabs>.container { width:min(1600px,calc(100% - 64px)); max-width:100%; margin:0 auto; padding:0; }
body.shangzuo-solution-page #solution-page .sz-solution-tabs .pageTabBox { height:auto; margin:0; padding:0; overflow:visible; }
body.shangzuo-solution-page #solution-page .sz-solution-tabs .list { display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:0 clamp(20px,3vw,76px); width:100%; height:auto; margin:0; padding:0; }
body.shangzuo-solution-page #solution-page .sz-solution-tabs .item { position:relative; display:flex; align-items:center; justify-content:center; flex:0 1 auto; min-width:0; max-width:100%; height:auto; min-height:72px; margin:0; padding:18px 12px 22px; border:0; border-radius:0; background:transparent; color:#111; font:400 18px/1.4 RobotoLocal,Arial,sans-serif; text-align:center; white-space:normal; overflow:visible; text-decoration:none; }
body.shangzuo-solution-page #solution-page .sz-solution-tabs .item::before,body.shangzuo-solution-page #solution-page .sz-solution-tabs .item::after { content:none; }
body.shangzuo-solution-page #solution-page .sz-solution-tab-label { position:relative; display:inline-block; max-width:100%; overflow-wrap:break-word; }
body.shangzuo-solution-page #solution-page .sz-solution-tab-label::after { content:""; position:absolute; left:0; right:0; bottom:-22px; height:3px; background:#ff6a00; transform:scaleX(0); transform-origin:center; }
body.shangzuo-solution-page #solution-page .sz-solution-tabs .is-active .sz-solution-tab-label::after { transform:scaleX(1); }
body.shangzuo-solution-page #solution-page .sz-solution-tabs a:hover { color:#ff6a00; }
body.shangzuo-solution-page #solution-page .sz-solution-tabs a:focus-visible { outline:2px solid #ff6a00; outline-offset:-4px; }
body.shangzuo-solution-page #solution-page.sz-home-solution-detail .page_banner { position:relative; }
body.shangzuo-solution-page #solution-page.sz-home-solution-detail .page_banner .sectionImg>img { display:block; width:100%; height:clamp(280px,32.8125vw,760px); object-fit:cover; }
body.shangzuo-solution-page #solution-page.sz-home-solution-detail .page_banner .sectionTit { visibility:visible !important; animation:none !important; }
#solution-page .sz-solution-detail-content { width:min(1300px,calc(100% - 64px)); margin:0 auto; padding:72px 0 96px; font:400 17px/1.6 RobotoLocal,Arial,sans-serif; overflow-wrap:break-word; }
#solution-page .sz-solution-detail-content * { box-sizing:border-box; min-width:0; }
#solution-page .sz-solution-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:50px; }
#solution-page .sz-solution-detail-content h1 { margin:0 0 24px; font-size:clamp(30px,2.8vw,48px); line-height:1.15; font-weight:600; }
#solution-page .sz-solution-detail-content h2 { margin:0 0 20px; font-size:clamp(26px,2.2vw,36px); line-height:1.2; font-weight:600; }
#solution-page .sz-solution-detail-content h3 { margin:0 0 12px; font-size:22px; line-height:1.3; font-weight:500; }
#solution-page .sz-solution-detail-content p { margin:0 0 18px; }
#solution-page .sz-solution-detail-content img { display:block; width:100%; max-width:100%; height:auto; border-radius:12px; }
#solution-page .sz-solution-detail-section { margin-top:72px; }
#solution-page .sz-solution-section-lead { color:#6f665f; }
#solution-page .sz-solution-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
#solution-page .sz-solution-info-card { padding:28px; border-radius:12px; background:#fff; }
#solution-page .sz-solution-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
#solution-page .sz-solution-photo-card { overflow:hidden; border-radius:12px; background:#fff; }
#solution-page .sz-solution-photo-card>img { aspect-ratio:4/3; object-fit:cover; border-radius:0; }
#solution-page .sz-solution-photo-card>div { padding:24px; }
@media(max-width:900px){#solution-page .sz-solution-detail-content { width:calc(100% - 36px); padding-top:44px; }#solution-page .sz-solution-intro { grid-template-columns:minmax(0,1fr); gap:30px; }#solution-page .sz-solution-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:600px){body.shangzuo-solution-page #solution-page .sz-solution-tabs>.container { width:calc(100% - 28px); }body.shangzuo-solution-page #solution-page .sz-solution-tabs .list { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }body.shangzuo-solution-page #solution-page .sz-solution-tabs .item { min-height:52px; padding:14px 12px; font-size:16px; }body.shangzuo-solution-page #solution-page .sz-solution-tab-label::after { bottom:-14px; }#solution-page .sz-solution-info-grid,#solution-page .sz-solution-photo-grid { grid-template-columns:minmax(0,1fr); }#solution-page .sz-solution-detail-section { margin-top:46px; }}

/* Purchasing-requirements form; scoped to the former image CTA on Solutions. */
body.shangzuo-solution-page #solution-requirements {
  position:relative; display:block; box-sizing:border-box; height:auto; min-height:0; margin:0; padding:clamp(48px,5vw,90px) 0;
  background:#fff !important; background-image:none !important; color:#191919; text-align:center;
}
body.shangzuo-solution-page #solution-requirements::before,
body.shangzuo-solution-page #solution-requirements::after { content:none !important; display:none !important; }
#solution-requirements .szreq-container { position:relative; width:min(1040px,calc(100% - 64px)); max-width:100%; margin:0 auto; padding:0; box-sizing:border-box; }
#solution-requirements h2.szreq-title { margin:0; padding:0; color:#191919; font:600 clamp(30px,2.5vw,48px)/1.2 RobotoLocal,Arial,sans-serif; text-align:center; text-wrap:balance; }
#solution-requirements .szreq-lead { width:min(100%,820px); margin:18px auto 36px; padding:0; color:#555; font:400 18px/1.5 RobotoLocal,Arial,sans-serif; text-align:center; text-wrap:balance; }
#solution-requirements .wpcf7 { width:100%; min-width:0; margin:0; padding:0; }
#solution-requirements .wpcf7-form { display:block; width:100%; margin:0; padding:0; }
#solution-requirements .wpcf7-form p { margin:0; padding:0; }
#solution-requirements .wpcf7-form br { display:none; }
#solution-requirements .szreq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:22px 26px; text-align:left; }
#solution-requirements .szreq-field { width:100%; min-width:0; }
#solution-requirements .szreq-field label { display:block; margin:0 0 8px; color:#222; font:500 15px/1.4 RobotoLocal,Arial,sans-serif; }
#solution-requirements .szreq-star { color:#d95713; }
#solution-requirements .szreq-optional { color:#777; font-size:13px; font-weight:400; }
#solution-requirements .wpcf7-form-control-wrap { display:block; width:100%; min-width:0; }
#solution-requirements input:not([type=hidden]):not([type=submit]),
#solution-requirements select,
#solution-requirements textarea {
  display:block; box-sizing:border-box; width:100%; max-width:100%; min-width:0; height:52px; margin:0; padding:12px 15px;
  border:1px solid #d8d3ce; border-radius:6px; background:#fff; color:#222; box-shadow:none;
  font:400 16px/26px RobotoLocal,Arial,sans-serif; letter-spacing:0; text-align:left;
}
#solution-requirements input::placeholder,#solution-requirements textarea::placeholder { color:#888; opacity:1; }
#solution-requirements select { cursor:pointer; padding-right:30px; }
#solution-requirements .szreq-field-message { grid-column:1 / -1; }
#solution-requirements textarea { height:140px; min-height:120px; resize:vertical; }
#solution-requirements input:focus-visible,#solution-requirements textarea:focus-visible,#solution-requirements select:focus-visible { outline:2px solid #fa5a14; outline-offset:2px; }
#solution-requirements .szreq-actions { margin-top:32px; text-align:center; }
#solution-requirements .szreq-submit-wrap { position:relative; display:inline-block; width:min(320px,100%); max-width:100%; }
#solution-requirements input.szreq-submit {
  display:block; box-sizing:border-box; width:100%; max-width:100%; height:54px; min-height:54px; margin:0; padding:0 28px;
  border:0; border-radius:7px; background:#fa5a14; color:#fff; box-shadow:none;
  font:500 18px/54px RobotoLocal,Arial,sans-serif; text-align:center; cursor:pointer;
}
#solution-requirements input.szreq-submit:hover { background:#e9500d; }
#solution-requirements .wpcf7-spinner { position:absolute; top:15px; right:12px; margin:0; }
#solution-requirements .wpcf7-not-valid-tip { display:block; margin-top:6px; color:#b43821; font:400 13px/18px RobotoLocal,Arial,sans-serif; }
#solution-requirements .wpcf7-response-output { margin:22px 0 0; padding:12px 16px; color:#333; font-size:15px; line-height:1.5; }
@media(max-width:600px) {
  #solution-requirements .szreq-container { width:calc(100% - 36px); }
  #solution-requirements .szreq-lead { margin-top:16px; margin-bottom:28px; font-size:16px; }
  #solution-requirements .szreq-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  #solution-requirements .szreq-field-message { grid-column:auto; }
  #solution-requirements textarea { height:150px; }
  #solution-requirements .szreq-actions { margin-top:26px; }
  #solution-requirements input.szreq-submit { font-size:16px; }
}


/* Dynamic recommendation copy stays smaller than the project title and remains readable on mobile. */
#solution-page .page-projectCases .itemHTit { display:flex; flex-direction:column; align-items:center; gap:8px; }
#solution-page .page-projectCases .itemHTit small { display:block; max-width:92%; color:#555; font:400 14px/1.5 RobotoLocal,Arial,sans-serif; text-align:center; }
#solution-page .page-projectCases .more .btn { background:#ff6a00; color:#fff; }
@media(max-width:600px){#solution-page .page-projectCases .itemHTit small{font-size:13px;max-width:100%;}}

/* Stable project carousel sizing while Swiper initializes. */
#solution-page .swiperProjectCases .swiper-wrapper { display:flex; align-items:stretch; }
#solution-page .swiperProjectCases .swiper-slide { flex-shrink:0; }
#solution-page .swiperProjectCases .swiperImg { min-height:0; overflow:hidden; }
#solution-page .swiperProjectCases .swiperImg img { display:block; width:100%; height:100%; object-fit:cover; }

/* Our Support active state: keep text and arrow in the site orange. */
#solution-page .page-ourService .list .item:hover .itemTit,
#solution-page .page-ourService .list .item.active .itemTit { color:#ff6a00!important; }
#solution-page .page-ourService .list .item:hover .itemIco svg,
#solution-page .page-ourService .list .item.active .itemIco svg { fill:#ff6a00!important; color:#ff6a00!important; }
