/* Shared locale support. Existing zh/en/es typography remains in style.css. */
.navbar .dropdown-menu .dropdown-item { direction: ltr; text-align: start; }
@media (min-width: 1200px) {
  .navbar .dropdown-menu { max-height: min(75vh, 36rem); overflow-y: auto; }
  .navbar .dropdown-menu[data-bs-popper] { left: auto; right: 0; }
}
.international { font-family: Arial, "Noto Sans", "Noto Sans Arabic", "Noto Sans Thai", "Yu Gothic", sans-serif; }
.international body { font-family: inherit; }
.international h1, .international h2, .international h3, .international p,
.international .card-title, .international .nav-item { overflow-wrap: break-word; }
.international .navbar .container-fluid .navbar-nav { gap: 1.2rem; }
.international .navbar .nav-item > a { font-size: 1rem; }
.international .indexBannerSwiper .swiper-slide .slogan { width: 86%; max-width: 62rem; left: 50%; top: 42%; margin: 0; transform: translate(-50%, -50%); }
.international .indexBannerSwiper .swiper-slide .slogan .hero-title { font-size: clamp(1.8rem, 3.2vw, 3rem); line-height: 1.35; letter-spacing: .03em; }
.international .indexBannerSwiper .swiper-slide .slogan .hero-title::before { left: 0; }
.international .indexBannerSwiper .swiper-slide .slogan h5 { font-size: clamp(1rem, 1.6vw, 1.4rem); line-height: 1.6; letter-spacing: .12em; margin-top: 1rem; }
.international .mega-menu .card .title { font-size: 1rem !important; line-height: 1.5; }
.international .indexproductSwiper .card .card-title,
.international .productpageswiper .card .card-title { font-size: 1.2rem; line-height: 1.5; }
.international .card-content { line-height: 1.6; }
.international .index-block-title { white-space: normal; gap: .75rem; }
.international .index-block-title::before { flex: 0 0 1.5rem; }
.international .index-block-title::after { flex: 1 1 2rem; min-width: 1.5rem; }
.international .pagetitlebar { white-space: normal; overflow-wrap: anywhere; }
.international .pagetitlebar::before { flex-shrink: 0; }
/* Leave room for localized headings before the decorative rule expands. */
html[lang="th"] .pagetitlebar::after,
html[lang="ja"] .pagetitlebar::after,
html[lang="vi"] .pagetitlebar::after,
html[lang="pt"] .pagetitlebar::after,
html[lang="it"] .pagetitlebar::after,
html[lang="id"] .pagetitlebar::after,
html[lang="tr"] .pagetitlebar::after,
html[lang="pl"] .pagetitlebar::after { flex: 1 1 2rem; min-width: 1rem; }
.international .product-title { line-height: 1.4; }
.international .product-title, .international .article-title, .international .breadCrumb li { hyphens: auto; }
.international .breadCrumb ul { flex-wrap: wrap; row-gap: .5rem; }
.international .breadCrumb li:last-child { min-width: 0; overflow: visible; overflow-wrap: anywhere; }
.international .coffee-valve-guide-page .list li,
.international .coffee-valve-guide-page .list .card-info { min-width: 0; }
.international .coffee-valve-guide-page .list .card-img { max-width: 100%; }
.international .illustration-guide { margin: 2rem auto 3rem; max-width: 70rem; line-height: 1.8; }
.international .illustration-guide h3 { margin-top: 1.5rem; }
.international .illustration-guide dt { margin-top: .8rem; }
.international .illustration-guide dd { margin-inline-start: 0; }
.international .footmenu a { overflow-wrap: anywhere; }
/* Give translated desktop footer sections a shared row, including Contact. */
@media (min-width: 1200px) {
  html[lang]:not([lang|="zh"]) footer .footmenu { padding-left: clamp(1.5rem, 3vw, 4rem); padding-right: 0; }
  html[lang]:not([lang|="zh"]) footer .footmenu > .row {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .65fr) minmax(0, 1.4fr);
    gap: clamp(1rem, 1.5vw, 2rem);
    margin: 0;
  }
  html[lang]:not([lang|="zh"]) footer .footmenu > .row > .footmenublock { width: auto; min-width: 0; padding: 0; }
  html[lang]:not([lang|="zh"]) footer .footmenu a { overflow-wrap: anywhere; }
}
/* Arabic keeps the shared layout order; only left-aligned copy moves right.
   Existing centered and justified text retains its component alignment. */
html[lang="ar"] body { direction: ltr; text-align: right; }
html[lang="ar"] :is(p, h1, h2, h3, h4, h5, h6, dt, dd, li, td, th) { unicode-bidi: plaintext; }
/* Retained English company and contact details keep their original alignment. */
html[lang="ar"] footer .logo-text,
html[lang="ar"] footer .company-info { direction: ltr; text-align: left; }
html[lang="ar"] .productpageswiper .productpageswipermain .swiper-wrapper .swiper-slide .card { text-align: right; }
@media (max-width: 1199.98px) {
  .international .navbar .offcanvas .navbar-nav { gap: 1rem; }
}
@media (max-width: 767.98px) {
  .international .indexBannerSwiper .swiper-slide .slogan { max-width: 88%; }
  .international .indexBannerSwiper .swiper-slide .slogan .hero-title { font-size: clamp(1.2rem, 6vw, 1.5rem); }
  .international .product-title { font-size: 1.8rem; }
  .international .index-block-title { font-size: 1.5rem; }
  .international .pagetitlebar { font-size: 1.5rem; }
  .international .breadCrumb li:last-child { flex-basis: 100%; }
  .international .coffee-valve-guide-page .list li { flex-basis: 100%; }
  .international .coffee-valve-guide-page main .gap { --bs-gutter-x: 2rem; }
}
