/* Match Vue's responsive branches before JavaScript runs. */
@media (min-width: 992px) {
  .search--mob { display: none; }
}
@media (max-width: 991px) {
  div#search { display: none; }
}
.header .wrapper {
  background-image: url('/image/header_bg.png');
  background-image: image-set(url('/image/header-bg-20260927.webp') type('image/webp'), url('/image/header_bg.png') type('image/png'));
}
/* app.css has a universal transition; carousel sizing must be immediate.
   Swiper continues to control the wrapper's transform animation. */
.swiper-container, .swiper-slide, .swiper-slide img {
  transition-property: opacity, color, background-color;
}
.srel .swiper-slide { width: calc((100% - 60px) / 4); margin-right: 20px; }
@media (max-width: 719px) { .srel .swiper-slide { width: calc((100% - 40px) / 3); } }
@media (max-width: 575px) { .srel .swiper-slide { width: calc((100% - 14px) / 1.7); } }
.product--block-image > img { height: auto; }
#slideshow--card .slide--card-one { aspect-ratio: 1; }
#slideshow--card .slide--card-one a { display: block; width: 100%; height: 100%; }
#slideshow--card .slide--card-one img { width: 100%; height: 100%; object-fit: contain; }
.slider--home .slide--one img.home-banner { display: block; }
.slider--home .swiper-slide { width: 100%; }
@media (max-width: 680px) { .slider--home .swiper-slide { width: calc((100% - 1px) / 1.1); margin-right: 10px; } }

.product--items-grid .image img { height: auto; }

.page-text img[width][height] { height: auto; }
#apptabs .tabs a { text-decoration: none; }
#apptabs .tabs li:not(.is-active):not(:hover) a { color: inherit; }
