.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 32px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.row-container {
  max-width: 1210px;
  margin-right: auto;
  margin-left: auto;
  *zoom: 1;
}
.row-container:before,
.row-container:after {
  display: table;
  content: "";
  line-height: 0;
}
.row-container:after {
  clear: both;
}

/* Dropdown visibility for navigation */
.sf-menu li { position: relative; }
.sf-menu li ul { display: none; position: absolute; top: 100%; left: 0; z-index: 9999; background: #262626; }
.sf-menu li:hover > ul { display: block; }
.sf-menu li ul li a { display: block; padding: 12px 18px; color: #9de7d0; }
.sf-menu li ul li a:hover { background: #121212; color: #9de7d0; }

/* Product detail layout */
.product-hero { display: flex; gap: 32px; align-items: center; padding: 24px 0; }
.product-hero .product-icon { width: 128px; height: 128px; border-radius: 16px; background: #51ae97; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-hero .product-icon img { width: 100%; height: 100%; object-fit: cover; }
.product-hero .product-meta h2 { margin: 0 0 8px; color: #9de7d0; font-size: 30px; line-height: 2em; }
.product-hero .product-meta h2, .product-hero .product-meta h2 a { text-transform: none !important; }
.product-hero .product-meta p { color: #999; line-height: 32px; margin: 0; font-size: 18px; }
.product-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px; }
.product-gallery img { width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; border: 0; border-radius: 10px; background: #ffffff; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }

/* Portrait screenshot gallery: show full image without裁切 */
.product-gallery--portrait img { aspect-ratio: 9 / 16; object-fit: contain; background: #0b0b0b; }

/* Icon container: transparent (no white background around app icon) */
.product-hero .product-icon { border-radius: 0; background: transparent; box-shadow: none; padding: 0; }
.product-hero .product-icon img { display: block; border-radius: 0; }
@media (max-width: 979px) { .product-gallery { grid-template-columns: repeat(2, 1fr); } }

/* Ensure main content has comfortable vertical spacing */
#content-row { padding: 20px 0 80px; }
.bg_cont { padding: 20px 0 40px; }

/* Center the four service icons row on homepage */
#list_carousel_91 .caroufredsel_wrapper { width: 100% !important; height: auto !important; overflow: visible !important; margin: 0 auto; }
#caroufredsel_91 { position: relative !important; width: auto !important; margin: 0 auto; left: 0 !important; right: 0 !important; display: flex !important; justify-content: center; gap: 140px; flex-wrap: nowrap; align-items: flex-start; }
#caroufredsel_91 > li { float: none !important; width: 300px !important; }
#list_carousel_91 { margin-top: 360px; }
#caroufredsel_91 .item_content { text-align: center; }
#caroufredsel_91 .item_content p { max-width: 500px; margin: 12px auto 30px; color: #e9fffa; line-height: 1.8; font-size: 15px; display: block; overflow: visible; white-space: normal; min-height: 0;}
#caroufredsel_91 .item_title__services { display: block; white-space: normal; line-height: 1.3; margin-top: 8px; }
.services .item_content { padding-top: 280px; }