/* JP 2_5_1 BS3 -> BS5 minimal B-only patch.
   Frozen: B DOM, img/src, text, href, all image files, navbar/mobile shell/footer. */
body.jp-bs5-2-5-1-page .thumbnail{
  border:0!important;border-color:transparent!important;border-radius:0!important;
  box-shadow:none!important;outline:0!important;
}
body.jp-bs5-2-5-1-page img.img-thumbnail{
  padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body.jp-bs5-2-5-1-page .more a,
body.jp-bs5-2-5-1-page .more a:hover,
body.jp-bs5-2-5-1-page .more a:focus,
body.jp-bs5-2-5-1-page .more a:active{
  text-decoration:none!important;text-decoration-line:none!important;border-bottom:0!important;box-shadow:none!important;
}
body.jp-bs5-2-5-1-page .more .glyphicon-menu-right{
  display:inline-block!important;font-size:1.5em!important;line-height:1!important;
  margin-left:.25em!important;vertical-align:-.08em!important;
}
body.jp-bs5-2-5-1-page h5{
  font-size:.875em!important;
}

/* B1 and B2 full-width image: no gutters, natural ratio on desktop. */
body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_01_composites_bicycle.jpg"]),
body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]){
  padding-left:0!important;padding-right:0!important;overflow:hidden;
}
body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_01_composites_bicycle.jpg"]) [class*="col-"],
body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]) [class*="col-"]{
  padding-left:0!important;padding-right:0!important;
}
body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_01_composites_bicycle.jpg"]) .row,
body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]) .row{
  --bs-gutter-x:0!important;margin-left:0!important;margin-right:0!important;
}
body.jp-bs5-2-5-1-page img[src="img/2_5_1_01_composites_bicycle.jpg"],
body.jp-bs5-2-5-1-page img[src="img/2_5_1_03_composites_bicycle.jpg"]{
  display:block!important;width:auto!important;max-width:100%!important;height:auto!important;
  margin-left:auto!important;margin-right:auto!important;object-fit:initial!important;
}

/* B3 is one uninterrupted #f2f2f2 field; its text/card remains transparent. */
body.jp-bs5-2-5-1-page .back-gray,
body.jp-bs5-2-5-1-page .back-gray>.container,
body.jp-bs5-2-5-1-page .back-gray>.container>[class*="col-"],
body.jp-bs5-2-5-1-page .back-gray .thumbnail,
body.jp-bs5-2-5-1-page .back-gray h2,
body.jp-bs5-2-5-1-page .back-gray p,
body.jp-bs5-2-5-1-page .back-gray .more,
body.jp-bs5-2-5-1-page .back-gray .more a{
  background-color:transparent!important;
}
body.jp-bs5-2-5-1-page .back-gray{background-color:#f2f2f2!important;}

@media (min-width:768px){
  /* Chinese-approved B2 geometry: 1/3 text + 2/3 image. */
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"]){
    display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
    width:calc(100% + 6px)!important;max-width:1176px!important;
    padding-left:0!important;padding-right:0!important;
  }
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"])>.col-sm-5{
    float:none!important;flex:0 0 33.33333333%!important;width:33.33333333%!important;max-width:33.33333333%!important;
  }
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"])>.col-sm-7{
    float:none!important;flex:0 0 66.66666667%!important;width:66.66666667%!important;max-width:66.66666667%!important;
  }
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"])>.col-sm-12{
    float:none!important;flex:0 0 calc(100% - 30px)!important;width:calc(100% - 30px)!important;
    max-width:calc(100% - 30px)!important;margin-left:15px!important;margin-right:15px!important;
  }
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_02_composites_bicycle.jpg"]{
    display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin:0!important;object-fit:initial!important;
  }

  /* Chinese-approved B3 geometry: image/text 50/50, lower image 100%. */
  body.jp-bs5-2-5-1-page .back-gray>.container{
    display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  }
  body.jp-bs5-2-5-1-page .back-gray>.container>.col-sm-6{
    float:none!important;flex:0 0 50%!important;width:50%!important;max-width:50%!important;
  }
  body.jp-bs5-2-5-1-page .back-gray>.container>.col-sm-12{
    float:none!important;flex:0 0 100%!important;width:100%!important;max-width:100%!important;
  }
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_04_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_05_composites_bicycle.jpg"]{
    display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin:0!important;object-fit:initial!important;
  }

  /* Chinese-approved B4 geometry: title/text 50/50. */
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"]) +
  .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]) + .back-gray + .container{
    display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;
  }
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"]) +
  .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]) + .back-gray + .container>.col-sm-6{
    float:none!important;flex:0 0 50%!important;width:50%!important;max-width:50%!important;
  }

  /* B5 columns remain 50/50. Images shrink proportionally and meet at center. */
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]){
    width:100%!important;max-width:100%!important;padding:0!important;overflow:hidden!important;
  }
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]) .row{
    --bs-gutter-x:0!important;margin:0!important;padding:0!important;
  }
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"])>.row>[class*="col-"]{
    padding-left:0!important;padding-right:0!important;
  }
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"])
  .row:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]){
    display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;
  }
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]) .col-sm-6{
    float:none!important;flex:0 0 50%!important;width:50%!important;max-width:50%!important;margin:0!important;padding:0!important;
  }
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_06_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_07_composites_bicycle.jpg"]{
    display:block!important;width:92%!important;max-width:92%!important;height:auto!important;
    padding:0!important;border:0!important;box-shadow:none!important;object-fit:initial!important;
  }
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_06_composites_bicycle.jpg"]{margin-left:auto!important;margin-right:0!important;}
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_07_composites_bicycle.jpg"]{margin-left:0!important;margin-right:auto!important;}
}

@media (max-width:767.98px){
  /* Frozen mobile header occupies 50px; B1 starts immediately below it. */
  body.jp-bs5-2-5-1-page{padding-top:50px!important;background:#fff!important;}

  /* B1: 400px, cover, centered, horizontal swipe; JS recenters on release. */
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_01_composites_bicycle.jpg"]){
    width:100%!important;height:400px!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
  }
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_01_composites_bicycle.jpg"])::-webkit-scrollbar{display:none!important;}
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_01_composites_bicycle.jpg"]{
    width:auto!important;min-width:100vw!important;max-width:none!important;height:400px!important;
    object-fit:cover!important;object-position:center center!important;scroll-snap-align:center!important;margin:0!important;
  }

  /* All content sections use the same 15px mobile baseline. */
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"]),
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]),
  body.jp-bs5-2-5-1-page .back-gray>.container,
  body.jp-bs5-2-5-1-page .container:has(+ .container-fluid img[src="img/2_5_1_06_composites_bicycle.jpg"]),
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]){
    display:block!important;width:100%!important;max-width:100%!important;
    padding-left:15px!important;padding-right:15px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
  }
  body.jp-bs5-2-5-1-page .back-gray>.container{
    padding-left:0!important;padding-right:0!important;
  }
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"])>[class*="col-"],
  body.jp-bs5-2-5-1-page .back-gray>.container>[class*="col-"],
  body.jp-bs5-2-5-1-page .container:has(+ .container-fluid img[src="img/2_5_1_06_composites_bicycle.jpg"])>[class*="col-"],
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]) [class*="col-"]{
    float:none!important;display:block!important;width:100%!important;max-width:100%!important;flex:0 0 100%!important;
    padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
  }
  body.jp-bs5-2-5-1-page .container:has(img[src="img/2_5_1_02_composites_bicycle.jpg"]) .thumbnail,
  body.jp-bs5-2-5-1-page .back-gray .thumbnail,
  body.jp-bs5-2-5-1-page .container:has(+ .container-fluid img[src="img/2_5_1_06_composites_bicycle.jpg"]) .thumbnail{
    display:block!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
  }
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_03_composites_bicycle.jpg"]) .row,
  body.jp-bs5-2-5-1-page .container-fluid:has(img[src="img/2_5_1_06_composites_bicycle.jpg"]) .row{
    width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
    padding-left:0!important;padding-right:0!important;--bs-gutter-x:0!important;box-sizing:border-box!important;
  }
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_02_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_03_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_04_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_05_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_06_composites_bicycle.jpg"],
  body.jp-bs5-2-5-1-page img[src="img/2_5_1_07_composites_bicycle.jpg"]{
    display:block!important;width:100%!important;max-width:100%!important;height:auto!important;
    margin-left:0!important;margin-right:0!important;padding:0!important;border:0!important;box-shadow:none!important;object-fit:initial!important;
  }
}
