/* Reference design layer for the Jachtar Blue child theme. */
:root {
  --jb-bg: #fff;
  --jb-text: #092244;
  --jb-navy-950: #06172f;
  --jb-navy-900: #092244;
  --jb-navy-800: #103964;
  --jb-blue-700: #126cc0;
  --jb-blue-600: #2185d2;
}
body { background: #fff; color: var(--jb-text); font-family: Arial, Helvetica, sans-serif; }
.jb-wide { width: 100%; max-width: 1280px; padding-inline: 38px; }
#header { box-shadow: none; }
#header .jb-topbar { background: #092647; }
#header .jb-topbar__inner { min-height: 38px; }
#header .jb-topbar__message { font-size: 14px; font-weight: 400; }
#header .jb-topbar__message-copy { display: inline; color: #fff; background: none; box-shadow: none; }
#header .jb-topbar__links { align-items: center; gap: 28px; font-size: 14px; }
.jb-topbar__shipping { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
#header .jb-topbar .jb-language-switcher__toggle { min-height: 30px; padding-block: 0; border: 0; background: transparent; color: #fff; box-shadow: none; }
#header .jb-header-main { padding: 0; background: #fff; border: 0; }
#header .jb-header-main__inner { display: grid; grid-template-columns: 190px minmax(180px, 1fr) auto auto; min-height: 84px; gap: 26px; }
#header .jb-header-main__logo img { width: 175px; max-width: 100%; height: auto; max-height: 56px; object-fit: contain; }
#header .jb-header-main__search #search_widget form { min-height: 52px; border: 1px solid #bfccdd; border-radius: 9px; background: #f5f7fa; box-shadow: none; }
#header .jb-header-main__search #search_widget .js-search-input { font-size: 16px; }
#header .jb-header-main__search #search_widget .jb-search-submit { color: #09346a; background: transparent; box-shadow: none; border: 0; }
#header .jb-account-pill { padding: 0; gap: 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none; min-height: 44px; }
#header .jb-account-pill strong { font-size: 15px; font-weight: 400; }
#header .jb-account-pill .material-icons { color: #092244; background: none; font-size: 28px; }
#header .jb-header-cart__link { display: flex; gap: 9px; width: auto; min-width: 0; min-height: 44px; height: auto; padding: 0 0 0 20px; border: 0; border-left: 1px solid #e7ebf0; border-radius: 0; background: transparent; box-shadow: none; color: #092244; }
#header .jb-header-cart__label { font-size: 15px; }
#header .jb-header-cart__badge { position: static; display: inline-flex; align-items: center; justify-content: center; min-width: 25px; height: 25px; padding: 3px; border: 0; border-radius: 50%; background: #126cc0; color: white; font-size: 13px; transform: none; }
#header .jb-header-nav { border-top: 1px solid #f0f2f5; border-bottom: 1px solid #e8edf3; background: #fff; }
#header .jb-header-nav__inner { display: flex; gap: 25px; min-height: 46px; padding: 0; }
#header .jb-header-nav__catalog { min-height: 44px; padding: 0; background: transparent; color: #092244; border: 0; border-radius: 0; box-shadow: none; font-size: 15px; white-space: nowrap; }
#header .jb-header-nav__catalog > .material-icons { display: none; }
#header .jb-header-nav__menu { flex: 1; min-width: 0; }
#header .jb-header-nav__menu .main-menu__tree { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0; margin: 0; list-style: none; }
#header .jb-header-nav__menu .main-menu__tree__link { display: flex; align-items: center; min-height: 44px; padding: 0; color: #092244; font-size: 15px; font-weight: 600; white-space: nowrap; }
#header .jb-header-nav__tags { gap: 28px; padding-left: 30px; border-left: 1px solid #bfc9d7; }
#header .jb-header-nav__tag { min-height: auto; padding: 0; border: 0; background: none; box-shadow: none; font-size: 15px; }
#header .jb-header-nav__tag:last-child { color: #f34424; }
.jb-catalog-mobile, .jb-hero__mobile, .jb-category-picks__mobile { display: none; }
body#index #wrapper { padding-top: 0; background: #fff; }
#index .jb-home { margin: 0; padding: 0; background: #fff; }
.jb-hero { position: relative; isolation: isolate; overflow: hidden; background: #030f23; color: #fff; }
.jb-hero__image { position: absolute; z-index: -2; top: -12%; right: max(5%, calc((100% - 1280px) / 2 + 50px)); width: auto; max-width: none; height: 185%; object-fit: contain; }
.jb-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #031126 0%, #031126 36%, rgba(3,17,38,.65) 49%, transparent 68%); }
.jb-hero__inner { display: flex; align-items: center; min-height: 350px; padding-block: 34px; }
.jb-hero__copy { max-width: 66%; }
.jb-hero h1 { margin: 0 0 12px; color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: clamp(38px, 4.7vw, 64px); font-weight: 800; line-height: 1.02; letter-spacing: -1.8px; }
.jb-hero h1 span { font: inherit; letter-spacing: inherit; }
.jb-hero p { margin: 0 0 26px; font-size: clamp(18px, 2vw, 27px); line-height: 1.4; }
.jb-hero__actions { display: flex; align-items: center; gap: 30px; }
.jb-hero__button { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 56px; padding: 14px 30px; border-radius: 21px; background: linear-gradient(135deg,#258ddd,#1674c2); color: #fff; font-size: 19px; font-weight: 700; text-decoration: none; }
.jb-hero__button:hover { background: #126cc0; color: #fff; }
.jb-hero__secondary { padding-block: 5px; border-bottom: 1px solid #fff; color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; }
.jb-hero__secondary:hover { color: #a6d8ff; }
.jb-hero__secondary span { padding-left: 12px; }
#index .jb-home__trust { padding: 0; background: #f6f8fa; border: 0; }
#index .jb-trustbar { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; min-height: 80px; padding: 15px 0; background: none; border: 0; box-shadow: none; border-radius: 0; }
#index .jb-trustbar__item { display: flex; justify-content: center; gap: 18px; padding: 0 16px; font-weight: 400; }
#index .jb-trustbar__item + .jb-trustbar__item { border-left: 1px solid #dde3ec; }
#index .jb-trustbar__icon { width: 44px; height: 44px; flex: 0 0 44px; background: none; box-shadow: none; color: #0b376d; font-size: 32px; }
.jb-trustbar strong, .jb-trustbar small { display: block; }
.jb-trustbar strong { font-size: 16px; font-weight: 700; line-height: 1.4; }
.jb-trustbar small { margin-top: 2px; color: #626974; font-size: 13px; line-height: 1.4; }
.jb-category-picks { padding-top: 22px; padding-bottom: 12px; }
.jb-category-picks h2, .jb-popular h2 { margin: 0 0 16px; color: #092244; font-family: Arial, Helvetica, sans-serif; font-size: 28px; font-weight: 800; line-height: 1.2; letter-spacing: -.6px; }
.jb-category-picks__list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 15px; }
.jb-category-picks__card { display: block; min-width: 0; overflow: hidden; border-radius: 7px; background: #f3f5f8; color: #092244; text-align: center; text-decoration: none; }
.jb-category-picks__visual { height: 150px; overflow: hidden; background: #e9ebee; }
.jb-category-picks__card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 16%; transform: scale(1); transform-origin: center 20%; mix-blend-mode: multiply; transition: transform .2s; }
.jb-category-picks__card:hover img { transform: scale(1.04); }
.jb-category-picks__card span { display: block; padding: 10px 5px; background: #f6f7f9; font-size: 16px; font-weight: 700; }
#index .jb-home__feed { padding-top: 12px; }
:is(#index, .page-product) .jb-popular { margin: 0 0 32px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.jb-popular__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.jb-popular__heading > a { color: #126cc0; font-size: 14px; text-decoration: underline; white-space: nowrap; }
:is(#index, .page-product) .jb-popular .products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0; }
:is(#index, .page-product) .jb-popular .product-miniature { width: auto; max-width: none; padding: 0; margin: 0; }
:is(#index, .page-product) .jb-popular .product-miniature .card { height: 100%; overflow: hidden; border: 1px solid #e1e7ef; border-radius: 9px; background: #fff; box-shadow: none; }
:is(#index, .page-product) .jb-popular .product-miniature__image-wrap { padding: 0; border-radius: 0; background: #f7f8fa; }
:is(#index, .page-product) .jb-popular .product-miniature__image-container { height: 190px; min-height: 0; padding: 6px; aspect-ratio: auto; border-radius: 0; background: #f7f8fa; }
:is(#index, .page-product) .jb-popular .product-miniature__image-container picture { display: block; width: 100%; height: 100%; }
:is(#index, .page-product) .jb-popular .product-miniature__image { object-fit: contain; mix-blend-mode: multiply; }
:is(#index, .page-product) .jb-popular .product-miniature__infos { height: auto; padding: 10px 12px 12px; gap: 5px; }
:is(#index, .page-product) .jb-popular .product-miniature__title { min-height: 0; font-size: 14px; font-weight: 400; line-height: 1.35; }
:is(#index, .page-product) .jb-popular .product-miniature__infos__bottom { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: baseline; gap: 5px; }
:is(#index, .page-product) .jb-popular .product-miniature__price { color: #092244; font-size: 19px; font-weight: 800; }
:is(#index, .page-product) .jb-popular .product-miniature__brand,
:is(#index, .page-product) .jb-popular .product-miniature__sizes,
:is(#index, .page-product) .jb-popular .product-miniature__variants,
:is(#index, .page-product) .jb-popular .product-miniature__actions { display: none; }
.jb-product-stock { color: #008744; font-size: 13px; font-weight: 400; white-space: nowrap; }
:is(#index, .page-product) .jb-popular .wishlist-button-add { top: 8px; right: 8px; min-width: 30px; width: 30px; height: 30px; border: 0; background: transparent; box-shadow: none; }
a:focus-visible, button:focus-visible { outline: 3px solid #2185d2; outline-offset: 4px; }
@media (min-width: 768px) and (max-width: 1199.98px) {
  #header .jb-header-main__inner { grid-template-columns: 150px minmax(140px,1fr) auto auto auto; gap: 16px; }
  #header .jb-header-nav__menu-desktop { display: block !important; }
  #header .jb-header-nav__menu-mobile { position: absolute; }
  #header .jb-header-nav__menu-mobile > .main-menu { display: none; }
  #header .jb-header-nav__inner { gap: 18px; overflow-x: auto; }
  #header .jb-header-nav__menu .main-menu__tree { gap: 18px; }
  #header .jb-header-nav__menu .main-menu__tree__link { font-size: 13px; }
  .jb-wide { padding-inline: 28px; }
  .jb-trustbar small { font-size: 11px; }
}
@media (max-width: 767.98px) {
  .jb-wide { padding-inline: 16px; }
  #header .jb-topbar { display: none; }
  #header .jb-header-main__inner { grid-template-columns: minmax(0,1fr) 36px 40px 36px; grid-template-areas: 'logo account cart menu' 'search search search search'; min-height: 0; gap: 12px; padding-block: 18px 14px; }
  #header .jb-header-main__logo { grid-area: logo; }
  #header .jb-header-main__logo img { width: 130px; max-height: 42px; }
  #header .jb-header-main__search { grid-area: search; display: block; width: 100%; margin: 0; }
  #header .jb-header-main__search #search_widget form { min-height: 46px; border-radius: 28px; padding-inline: 16px 9px; }
  #header .jb-header-main__search #search_widget .js-search-input { font-size: 14px; }
  #header .jb-header-main__mobile-icon { grid-area: account; display: flex; justify-content: center; align-items: center; width: 36px; height: 40px; padding: 0; border: 0; background: none; color: #092244; box-shadow: none; }
  #header .jb-header-main__mobile-icon--menu { grid-area: menu; }
  #header .jb-header-main__cart-shell { grid-area: cart; }
  #header .jb-header-cart__link { position: relative; justify-content: center; padding: 0; border: 0; }
  #header .jb-header-cart__label { display: none; }
  #header .jb-header-cart__badge { position: absolute; top: 0; right: -3px; min-width: 18px; height: 18px; font-size: 11px; }
  #header .jb-header-nav__inner { min-height: 44px; gap: 24px; overflow-x: auto; scrollbar-width: none; }
  #header .jb-header-nav__catalog { gap: 8px; font-size: 14px; }
  #header .jb-header-nav__catalog > .material-icons { display: inline; font-size: 19px; }
  .jb-catalog-desktop { display: none; }
  .jb-catalog-mobile { display: inline; }
  #header .jb-header-nav__menu-desktop { display: block !important; }
  #header .jb-header-nav__menu-mobile { position: absolute; }
  #header .jb-header-nav__menu-mobile > .main-menu { display: none; }
  #header .jb-header-nav__menu .main-menu__tree { justify-content: flex-start; gap: 24px; }
  #header .jb-header-nav__menu .main-menu__tree__link { font-size: 14px; font-weight: 400; }
  .jb-hero { margin: 12px 12px 0; border-radius: 12px; }
  .jb-hero__inner { min-height: 265px; padding: 28px 20px; }
  .jb-hero__image { top: -8%; right: -27%; width: auto; height: 155%; object-fit: contain; }
  .jb-hero::after { background: linear-gradient(90deg,#030f23 0%,rgba(3,15,35,.9) 25%,rgba(3,15,35,.35) 49%,transparent 73%); }
  .jb-hero__copy { max-width: 74%; }
  .jb-hero__desktop, .jb-hero p, .jb-hero__secondary { display: none; }
  .jb-hero__mobile { display: inline; }
  .jb-hero h1 { margin-bottom: 22px; font-size: clamp(28px,8vw,38px); line-height: 1.04; letter-spacing: -.7px; }
  .jb-hero__button { min-height: 49px; padding: 12px 21px; gap: 14px; border-radius: 20px; font-size: 16px; }
  #index .jb-trustbar { grid-template-columns: repeat(2,minmax(0,1fr)); min-height: 80px; padding-block: 14px; }
  #index .jb-trustbar__item { padding: 0 6px; gap: 8px; }
  #index .jb-trustbar__item:last-child { display: none; }
  #index .jb-trustbar__icon { width: 38px; height: 38px; flex-basis: 38px; border-radius: 50%; background: #e8eff7; font-size: 26px; }
  .jb-trustbar strong { font-size: 12px; }
  .jb-trustbar small { max-width: 125px; font-size: 10px; }
  .jb-category-picks { padding-top: 20px; padding-bottom: 15px; }
  .jb-category-picks h2, .jb-popular h2 { font-size: 24px; letter-spacing: -.5px; }
  .jb-category-picks__desktop { display: none; }
  .jb-category-picks__mobile { display: inline; }
  .jb-category-picks__list { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 20px)/3); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .jb-category-picks__card { scroll-snap-align: start; }
  .jb-category-picks__visual { height: 108px; }
  .jb-category-picks__card span { padding-block: 9px; font-size: 13px; }
  #index .jb-home__feed { padding-top: 10px; }
  :is(#index, .page-product) .jb-popular .products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  :is(#index, .page-product) .jb-popular .product-miniature__image-container { height: 165px; }
  :is(#index, .page-product) .jb-popular .product-miniature__infos { padding: 9px; }
  :is(#index, .page-product) .jb-popular .product-miniature__title { font-size: 13px; }
  :is(#index, .page-product) .jb-popular .product-miniature__price { font-size: 17px; }
  .jb-popular__heading > a { font-size: 11px; }
  .jb-product-stock { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .jb-category-picks__card img { transition: none; }
}

/* Compact cards for every native homepage product feed. */
:is(#index, .page-product) .jb-popular .product-miniature .card:hover { transform: none; box-shadow: 0 3px 12px rgba(9,34,68,.07); }
:is(#index, .page-product) .jb-popular .product-miniature__link:hover .product-miniature__image-container { border-radius: 0; }
:is(#index, .page-product) .jb-popular .product-miniature__infos__top,
:is(#index, .page-product) .jb-popular .product-miniature__infos__bottom { min-height: 0; padding: 0; margin: 0; }
:is(#index, .page-product) .jb-popular .product-miniature__prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; margin: 0; padding: 0; }
:is(#index, .page-product) .jb-popular .product-miniature__discount-price { font-size: 12px; }
:is(#index, .page-product) .jb-popular .product-flags { top: 8px; left: 8px; }
:is(#index, .page-product) .jb-popular .product-flags .badge { padding: 4px 7px; font-size: 10px; letter-spacing: 0; }
:is(#index, .page-product) .jb-popular .product-flags .new { display: none; }
:is(#index, .page-product) .jb-popular .product-miniature__image { transform: scale(1.1); }
:is(#index, .page-product) .jb-popular .product-miniature__link:hover .product-miniature__image { transform: scale(1.14); }
:is(#index, .page-product) .jb-popular .product-miniature__title { font-family: Arial, Helvetica, sans-serif; font-weight: 400; }
:is(#index, .page-product) .jb-popular .product-miniature__price { font-family: Arial, Helvetica, sans-serif; font-weight: 700; }
@media (max-width: 767.98px) {
  :is(#index, .page-product) .jb-popular .product-miniature__prices { flex-basis: 100%; }
}

/* Product detail: a quiet gallery and a compact, native purchase form. */
.page-product .jb-product-page { max-width: 1280px; margin-inline: auto; }
.page-product .jb-product-hero { --bs-gutter-x: 36px; align-items: start; }
.page-product .jb-product-hero > .product__left { width: 58%; }
.page-product .jb-product-hero > .product__col { width: 42%; }
.page-product .jb-product-gallery,
.page-product .jb-product-buybox,
.page-product .jb-product-description-card,
.page-product .jb-product-infos-card,
.page-product .jb-product-reassurance { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-product .jb-product-gallery { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 16px; }
.page-product .jb-product-gallery__stage { grid-column: 2; grid-row: 1; padding: 0; border-radius: 5px; background: #f1f2f4; }
.page-product .jb-product-gallery .carousel { border-radius: 5px; background: #f1f2f4; }
.page-product .jb-product-gallery__media { aspect-ratio: 1 / 1.12; padding: 8px; background: #f1f2f4; }
.page-product .jb-product-gallery__media picture { display: block; width: 100%; height: 100%; }
.page-product .jb-product-gallery__slide img { mix-blend-mode: multiply; }
.page-product .jb-product-gallery__thumbs { grid-column: 1; grid-row: 1; margin: 0; padding: 0; }
.page-product .jb-product-gallery .thumbnails__list { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.page-product .jb-product-gallery .thumbnail { width: 100%; padding: 0; }
.page-product .jb-product-gallery .thumbnail img { width: 100%; border-radius: 4px; background: #f1f2f4; }
.page-product .jb-product-gallery .product-flags, .page-product .jb-product-kicker { display: none; }
.page-product .jb-product-buybox { position: static; }
.page-product .jb-product-buybox__inner { padding: 0; gap: 14px; }
.page-product .jb-product-brand { margin: 0 0 8px; color: #416b9e; font-size: 12px; font-weight: 700; letter-spacing: 1px; }
.page-product .product__name.jb-product-title { margin: 0 0 12px; font-family: Arial, Helvetica, sans-serif; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -.6px; }
.page-product .product-prices { margin: 12px 0; padding: 0; border: 0; background: none; }
.page-product .product-prices .current-price { font-size: 29px; font-weight: 700; }
.page-product .jb-product-summary { margin: 0 0 18px; padding: 0; border: 0; background: none; font-size: 15px; line-height: 1.5; }
.page-product .jb-product-variant { padding: 0; margin-bottom: 16px; border: 0; border-radius: 0; background: none; gap: 8px; }
.page-product .jb-product-variant__label { justify-content: flex-start; gap: 5px; font-size: 14px; }
.page-product .jb-product-variant__name { color: #092244; font-size: 14px; letter-spacing: 0; text-transform: none; }
.page-product .jb-product-variant__selected { font-size: 14px; }
.page-product .jb-product-variant__radios { gap: 8px; }
.page-product .jb-product-variant__radio-item { flex: 1; padding: 0; }
.page-product .jb-product-variant__radio-label .radio-label { display: block; min-width: 48px; padding: 10px 12px; border: 1px solid #dce2eb; border-radius: 4px; text-align: center; font-size: 13px; }
.page-product .jb-product-variant__radio-label input:checked + .radio-label { background: #104f8c; border-color: #104f8c; color: #fff; }
.page-product .jb-product-purchase { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.page-product .jb-product-stock { display: flex; align-items: center; padding: 0; margin: 0 0 12px; border: 0; background: none; box-shadow: none; border-radius: 0; font-size: 14px; white-space: normal; }
.page-product .jb-product-stock__copy strong { font-size: 14px; font-weight: 400; }
.page-product .jb-product-purchase__main { display: flex; flex-wrap: nowrap; gap: 10px; margin: 0; }
.page-product .jb-product-purchase .product-actions__quantity { flex: 0 0 112px; width: 112px !important; margin: 0 !important; padding: 0; }
.page-product .jb-product-purchase .product-actions__quantity .input-group { width: 112px !important; min-height: 48px; margin: 0; border-radius: 5px; box-shadow: none; }
.page-product .jb-product-purchase .product-actions__quantity input { flex: 1; min-width: 24px; max-width: 40px; font-size: 15px; }
.page-product .jb-product-purchase .product-actions__quantity .btn { padding-inline: 8px; }
.page-product .jb-product-purchase__cta { min-height: 48px; width: 100%; border-radius: 5px; background: #0865c7; box-shadow: none; font-size: 16px; }
.page-product .jb-product-service-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; padding-bottom: 16px; font-size: 13px; }
.jb-product-service-strip > div { display: flex; align-items: center; gap: 10px; }
.jb-product-service-strip .material-icons { font-size: 28px; }
.page-product .jb-product-information { margin-top: 28px; border-top: 1px solid #e3e8ef; }
.jb-product-information details { border-bottom: 1px solid #e3e8ef; }
.jb-product-information summary { padding: 15px 10px; cursor: pointer; font-size: 15px; font-weight: 700; }
.page-product .jb-product-description-card { padding: 12px 10px 22px; font-size: 15px; line-height: 1.6; }
.page-product .jb-product-description-card__title { display: none; }
.jb-product-information__shipping { padding: 10px; }
.page-product .jb-product-infos-card .accordion-button { padding: 16px 10px; background: transparent; font-size: 15px; box-shadow: none; }
.page-product .jb-product-infos-card .accordion-item { border-radius: 0; box-shadow: none; }
.jb-product-mobile-heading { display: none; }
@media (max-width: 991.98px) {
 .page-product .jb-product-hero > .product__left, .page-product .jb-product-hero > .product__col { width: 100%; }
 .jb-product-mobile-heading { display: block; padding-bottom: 16px; }
 .jb-product-mobile-heading__name { margin: 0; color: #092244; font-size: 23px; line-height: 1.2; font-weight: 700; }
 .page-product .jb-product-buybox .jb-product-brand, .page-product .product__name.jb-product-title { display: none; }
 .page-product .jb-product-gallery { display: flex; flex-direction: column; gap: 10px; }
 .page-product .jb-product-gallery__media { aspect-ratio: 1 / 1; }
 .page-product .jb-product-gallery__thumbs { margin-top: 0; }
 .page-product .jb-product-gallery .thumbnails__list { flex-direction: row; justify-content: center; gap: 8px; }
 .page-product .jb-product-gallery .thumbnail { width: 48px; }
 .page-product .jb-product-buybox__inner { padding: 0; }
 .page-product .jb-product-summary { font-size: 14px; }
 .page-product .jb-product-information { margin-top: 16px; }
}

.page-product .jb-product-prices { margin: 12px 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.page-product .jb-product-prices__current { font-size: 29px; font-weight: 700; line-height: 1.2; }
.page-product .jb-product-prices__taxes { font-size: 12px; }
.jb-product-sticky { display: none; }
@media (max-width: 991.98px) {
 .page-product { padding-bottom: 80px; }
 .jb-product-sticky { position: fixed; z-index: 30; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #e3e8ef; background: #fff; box-shadow: 0 -3px 12px rgba(9,34,68,.06); }
 .jb-product-sticky strong { font-size: 23px; }
 .jb-product-sticky .btn { display: flex; align-items: center; gap: 10px; border-radius: 5px; background: #0865c7; }
}

/* Product gallery fills its stage even when the source image is smaller. */
.page-product .jb-product-gallery__media { position: relative; padding: 0; overflow: hidden; }
.page-product .jb-product-gallery__media > picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.page-product .jb-product-gallery__media > picture > img { display: block; width: 100% !important; height: 100% !important; max-width: none; max-height: none; margin: 0; object-fit: contain; }
.page-product .jb-product-variant__radios { display: grid; grid-template-columns: repeat(auto-fit,minmax(48px,1fr)); width: 100%; gap: 8px; }
.page-product .jb-product-variant__radio-item { min-width: 0; margin: 0; padding: 0; }
.page-product .jb-product-variant__radio-label { display: block; width: 100%; }
.page-product .jb-product-variant__radio-label .radio-label { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-width: 0; height: 36px; min-height: 36px; padding: 0 8px; border-radius: 4px; font-size: 13px; font-weight: 400; line-height: 1; }
.page-product .jb-product-variant__radio-label:hover .radio-label,
.page-product .jb-product-variant__radio-label input:checked + .radio-label { transform: none; }
.page-product .jb-product-variant__radio-label input:focus-visible + .radio-label { outline: 2px solid #126cc0; outline-offset: 3px; }
.page-product .product__additional-info { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 12px 20px; width: 100%; margin-top: 16px; }
.page-product .product-comments-additional-info { display: flex; flex: 0 1 auto; flex-wrap: wrap; width: auto; max-width: 100%; margin: 0; }
.page-product .product-comments-additional-info .additional-links { display: flex; flex-wrap: wrap; gap: 10px; }
.page-product .product-comments-additional-info .post-product-comment { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 7px; width: auto; min-width: 0; max-width: 100%; height: auto; min-height: 36px; padding: 8px 12px; border: 1px solid #dce2eb; border-radius: 5px; background: white; color: #126cc0; font-size: 13px; line-height: 1.3; white-space: nowrap; box-shadow: none; }
.page-product .product-comments-additional-info .post-product-comment .material-icons { width: auto; height: auto; margin: 0; font-size: 17px; line-height: 1; }
.page-product .product__additional-info .social-sharing { flex: 0 1 auto; margin: 0; }
.page-product .jb-product-prices__tax-label { padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 12px; font-weight: 400; }

/* Fill the gallery stage instead of retaining an intrinsic picture width. */
.page-product .jb-product-gallery__media > picture { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; padding: 0 !important; margin: 0 !important; }
.page-product .jb-product-gallery__media > picture > img { object-fit: cover; object-position: center; transform: scale(1.12); }

#header .jb-language-switcher__flag { width: 24px; height: 16px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(128,145,165,.2); }
#header .jb-language-switcher__flag img { object-fit: contain; }

/* Clothing navigation follows category 3; keep every child reachable on narrow screens. */
#header .jb-header-nav__menu .main-menu__tree { justify-content: flex-start; gap: 24px; overflow-x: auto; scrollbar-width: thin; }
#header .jb-header-nav__menu .main-menu__tree__item { flex: 0 0 auto; }
#index .jb-category-picks .jb-subcategories { margin-top: 0; margin-bottom: 12px; }

/* PapaSailor charter banner: live text, translated with the theme. */
.page-product .jb-charter-banner { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 210px; overflow: hidden; margin-top: 20px; padding: 24px 26px; border: 1px solid #123b60; border-radius: 9px; background: linear-gradient(115deg,#061e38,#0d3b60); color: #fff; text-decoration: none; }
.jb-charter-banner__copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; max-width: 74%; }
.jb-charter-banner__brand { margin-bottom: 14px; font-size: 21px; line-height: 1; font-weight: 800; letter-spacing: -.7px; }
.jb-charter-banner__brand > span { color: #ff990a; }
.jb-charter-banner__title { max-width: 320px; font-size: 24px; line-height: 1.12; letter-spacing: -.5px; }
.jb-charter-banner__text { margin-top: 9px; color: #d2e2ef; font-size: 13px; line-height: 1.5; }
.jb-charter-banner__button { display: inline-flex; align-items: center; gap: 18px; margin-top: 16px; padding: 10px 16px; border-radius: 5px; background: #ff990a; color: #061e38; font-size: 14px; font-weight: 700; }
.jb-charter-banner__boat { position: absolute; z-index: 0; right: 4px; bottom: 8px; width: 34%; max-width: 210px; height: auto; }
.page-product .jb-charter-banner:hover { border-color: #ff990a; color: #fff; }
.jb-charter-banner:hover .jb-charter-banner__button { background: #ffb43b; }
@media (max-width: 767.98px) {
 .page-product .jb-charter-banner { min-height: 180px; margin-top: 14px; padding: 20px; }
 .jb-charter-banner__copy { max-width: 78%; }
 .jb-charter-banner__brand { font-size: 18px; margin-bottom: 12px; }
 .jb-charter-banner__title { font-size: 21px; }
 .jb-charter-banner__boat { right: -8px; width: 34%; opacity: .7; }
}


/* Let the photo define the stage height: no separate square canvas or zoom. */
body.page-product .jb-product-gallery__stage,
body.page-product .jb-product-gallery .carousel,
body.page-product .jb-product-gallery .carousel-inner,
body.page-product .jb-product-gallery__slide { padding: 0 !important; background: transparent !important; }
body.page-product .jb-product-gallery__media { position: relative; display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; padding: 0 !important; background: transparent !important; overflow: hidden; }
body.page-product .jb-product-gallery__media > picture { position: static !important; display: block !important; width: 100% !important; height: auto !important; max-width: none !important; max-height: none !important; padding: 0 !important; margin: 0 !important; }
body.page-product .jb-product-gallery__media > picture > img { position: static !important; display: block !important; width: 100% !important; height: auto !important; max-width: none !important; max-height: none !important; padding: 0 !important; margin: 0 !important; aspect-ratio: auto !important; object-fit: initial !important; transform: none !important; mix-blend-mode: normal !important; }
#header .jb-language-switcher__flag { width: 24px; height: 16px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(128,145,165,.2); }
#header .jb-language-switcher__flag img { object-fit: contain; }
#header .jb-header-nav__menu .main-menu__tree { justify-content: flex-start; gap: 24px; overflow-x: auto; scrollbar-width: thin; }
#header .jb-header-nav__menu .main-menu__tree__item { flex: 0 0 auto; }
#index .jb-category-picks .jb-subcategories { margin-top: 0; margin-bottom: 12px; }

/* Use the original photo without the padding added by generated square thumbnails. */
body.page-product .jb-product-gallery__media { aspect-ratio: 1 / 1.05 !important; height: auto !important; }
body.page-product .jb-product-gallery__media > picture { position: absolute !important; inset: 0 !important; height: 100% !important; }
body.page-product .jb-product-gallery__media > picture > img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; transform: none !important; }

/* Upscale small originals to fill the same viewport as large originals. */
body.page-product .jb-product-gallery__media { aspect-ratio: 1 / 1 !important; }
body.page-product .jb-product-gallery__media > picture { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
body.page-product .jb-product-gallery__media > picture > img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-width: 100% !important; min-height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: center !important; }

/* Listing cards: a full-size picture box also upscales small originals. */
#js-product-list .product-miniature__image-container { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; padding: 0; overflow: hidden; background: #f5f6f8; }
#js-product-list .product-miniature__image-container > picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
#js-product-list .product-miniature__image-container > picture > img { display: block; width: 100% !important; height: 100% !important; max-width: none; max-height: none; margin: 0; padding: 0; object-fit: contain; object-position: center; transform: none; }
#js-product-list .product-miniature__link:hover .product-miniature__image { transform: none; }
/* Card content must contribute to height, including the stock line on iOS. */
:is(#index,.page-product) .jb-popular .product-miniature .card { display: flex; flex-direction: column; height: auto; min-height: 100%; }
:is(#index,.page-product) .jb-popular .product-miniature__link { flex: 0 0 auto; }
:is(#index,.page-product) .jb-popular .product-miniature__infos { flex: 1 0 auto; height: auto; min-height: 0; padding-bottom: 14px; overflow: visible; }
:is(#index,.page-product) .jb-popular .product-miniature__infos__bottom { flex: 0 0 auto; height: auto; min-height: 0; padding-bottom: 2px; }
:is(#index,.page-product) .jb-popular .jb-product-stock { display: block; flex: 0 0 100%; margin: 0; padding: 2px 0; line-height: 1.5; white-space: normal; }
@media (max-width: 767.98px) {
 #header .jb-header-nav__inner { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; align-items: center; }
 #header .jb-header-nav__catalog { flex: 0 0 auto; }
 #header .jb-header-nav__menu { flex: 0 0 auto; width: auto; }
 #header .jb-header-nav__menu .main-menu__tree { display: flex; flex-wrap: nowrap; width: max-content; overflow: visible; }
 #header .jb-header-nav__menu .main-menu__tree__item { flex: 0 0 auto; width: auto; }
}
