/* JP 2_5_2 composites surfboard BS3 -> BS5 v1 minimal B-only patch.
   Content source: Japanese BS3 same-name page.
   Golden geometry: Chinese BS5 same-name standard-correct page.
   Frozen: navbar/footer, mobile shell, B DOM/img src/text/href, all image files. */

body.jp-bs5-2-5-2-page .thumbnail{
  border:0!important;
  border-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
body.jp-bs5-2-5-2-page img.img-thumbnail{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* B links: no underline. Right glyph = 1.5x + visual gap. */
body.jp-bs5-2-5-2-page .more a,
body.jp-bs5-2-5-2-page .more a:hover,
body.jp-bs5-2-5-2-page .more a:focus,
body.jp-bs5-2-5-2-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-2-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;
}

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

/* B2-1 = left image/right text; B2-2 = left text/right image. */
@media (min-width:768px){
  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_02_composites_surfboard.jpg"]),
  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_05_composites_surfboard.jpg"]){
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
  }
  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_02_composites_surfboard.jpg"]) > .col-sm-6,
  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_05_composites_surfboard.jpg"]) > .col-sm-6{
    float:none!important;
    flex:0 0 50%!important;
    width:50%!important;
    max-width:50%!important;
  }
  body.jp-bs5-2-5-2-page img[src="img/2_5_2_02_composites_surfboard.jpg"],
  body.jp-bs5-2-5-2-page img[src="img/2_5_2_05_composites_surfboard.jpg"]{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    object-fit:initial!important;
  }
}

/* Bottom dual images: desktop 50/50, no gutter/seam; mobile same width stacked. */
body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.jpg"]){
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.jpg"]) .row,
body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.jpg"]) [class*="col-"]{
  --bs-gutter-x:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.jp-bs5-2-5-2-page img[src="img/2_5_2_03_composites_surfboard.jpg"],
body.jp-bs5-2-5-2-page img[src="img/2_5_2_04_composites_surfboard.jpg"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  float:none!important;
  object-fit:initial!important;
}
@media (min-width:768px){
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.jpg"]) > .row > .col-sm-12 > .row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
  }
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.jpg"]) .col-sm-6{
    float:none!important;
    flex:0 0 50%!important;
    width:50%!important;
    max-width:50%!important;
  }
}

/* Shared B4-GRAY freeze rule. This page has no actual .back-gray B DOM, so this is defensive only and adds no DOM. */
body.jp-bs5-2-5-2-page .back-gray,
body.jp-bs5-2-5-2-page .back-gray *{
  background-color:#f2f2f2!important;
}
body.jp-bs5-2-5-2-page .back-gray .thumbnail,
body.jp-bs5-2-5-2-page .back-gray img{
  border-color:transparent!important;
  box-shadow:none!important;
}

@media (max-width:767.98px){
  /* No extra 50px white gap: only the frozen fixed-top height is reserved. */
  body.jp-bs5-2-5-2-page{
    padding-top:50px!important;
    background:#fff!important;
  }

  /* B1 mobile 100% x 400px; swipe and release recenter. */
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_01_composites_surfboard.jpg"]){
    width:100%!important;
    max-width:100%!important;
    height:400px!important;
    padding:0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
  }
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_01_composites_surfboard.jpg"])::-webkit-scrollbar{display:none!important;}
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_01_composites_surfboard.jpg"]) > .row,
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_01_composites_surfboard.jpg"]) > .row > [class*="col-"],
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_01_composites_surfboard.jpg"]) > .row > [class*="col-"] > .row{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    height:400px!important;
    min-height:400px!important;
    margin:0!important;
    padding:0!important;
    flex-wrap:nowrap!important;
  }
  body.jp-bs5-2-5-2-page img[src="img/2_5_2_01_composites_surfboard.jpg"]{
    display:block!important;
    width:auto!important;
    min-width:100vw!important;
    max-width:none!important;
    height:400px!important;
    min-height:400px!important;
    object-fit:cover!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
    user-select:none!important;
    -webkit-user-drag:none!important;
  }

  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_02_composites_surfboard.jpg"]),
  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_05_composites_surfboard.jpg"]),
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.jpg"]){
    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-2-page .container:has(img[src="img/2_5_2_02_composites_surfboard.jpg"]) > [class*="col-"],
  body.jp-bs5-2-5-2-page .container:has(img[src="img/2_5_2_05_composites_surfboard.jpg"]) > [class*="col-"],
  body.jp-bs5-2-5-2-page .container-fluid:has(img[src="img/2_5_2_03_composites_surfboard.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-2-page img[src="img/2_5_2_02_composites_surfboard.jpg"],
  body.jp-bs5-2-5-2-page img[src="img/2_5_2_05_composites_surfboard.jpg"],
  body.jp-bs5-2-5-2-page img[src="img/2_5_2_03_composites_surfboard.jpg"],
  body.jp-bs5-2-5-2-page img[src="img/2_5_2_04_composites_surfboard.jpg"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    float:none!important;
    object-fit:initial!important;
  }
}
