/*
 * Guowei EVA motion system.
 * Progressive enhancement only: content stays visible until motion.js adds
 * .gw-motion-ready to the root element.
 */

:root {
  --gw-motion-duration: 560ms;
  --gw-motion-fast: 220ms;
  --gw-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --gw-motion-shadow: 0 18px 40px rgba(0, 51, 102, 0.12);
}

/* Shared intrinsic-sizing guardrails for icons and localized content. */
.material-symbols-outlined {
  display: inline-block;
  width: 1em;
  min-width: 1em;
  max-width: 1em;
  height: 1em;
  flex: 0 0 1em;
  font-family: "Material Symbols Outlined", sans-serif !important;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  unicode-bidi: isolate;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

main,
main .container,
main .grid,
main .flex {
  min-width: 0;
  max-width: 100%;
}

main .grid > *,
main .flex > * {
  min-width: 0;
}

.gw-responsive-cta,
.gw-responsive-cta > *,
.gw-responsive-cta-actions {
  min-width: 0;
  max-width: 100%;
}

.gw-responsive-cta {
  display: flex;
  flex-wrap: wrap;
}

.gw-responsive-cta > a,
.gw-responsive-cta-actions > a {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  flex: 0 1 auto;
  flex-wrap: wrap;
}

.gw-responsive-cta > a > .material-symbols-outlined {
  min-width: 0;
  max-width: 1em;
  flex: 0 1 auto;
}

.gw-responsive-cta-actions {
  display: flex;
  flex-wrap: wrap;
}

/* Batch 2: keep long localized labels inside their owning components. */
.gw-product-parameters h3 {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.gw-product-meta-row {
  min-width: 0;
  max-width: 100%;
}

.gw-product-meta-item {
  min-width: 0;
  max-width: 100%;
  flex: 1 1 12rem;
  overflow-wrap: anywhere;
}

.gw-product-specs-row,
.gw-product-specs-row > div,
.gw-product-specs-link,
.gw-home-card-cta {
  min-width: 0;
  max-width: 100%;
}

.gw-product-specs-row {
  flex-wrap: wrap;
}

.gw-product-specs-link,
.gw-home-card-cta {
  overflow-wrap: anywhere;
}

.gw-home-card-cta {
  flex-wrap: wrap;
}

.gw-product-specs-link > .material-symbols-outlined,
.gw-home-card-cta > .material-symbols-outlined {
  min-width: 0;
  max-width: 1em;
  flex: 0 1 auto;
  overflow-wrap: anywhere;
}

html[dir="rtl"] .gw-header-inner,
html[dir="rtl"] .gw-desktop-nav-list,
html[dir="rtl"] .gw-header-actions {
  direction: rtl;
}

html[dir="rtl"] .gw-technical-ltr,
html[dir="rtl"] [dir="ltr"],
html[dir="rtl"] a[href^="mailto:"],
html[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] a[href^="https://wa.me/"] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
}

html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="url"] {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: left;
}

@media (max-width: 767px) {
  .gw-responsive-cta > a,
  .gw-responsive-cta-actions > a {
    flex-basis: 100%;
    width: 100%;
  }
}

.gw-reveal {
  transition:
    opacity var(--gw-motion-duration) var(--gw-motion-ease),
    transform var(--gw-motion-duration) var(--gw-motion-ease),
    clip-path var(--gw-motion-duration) var(--gw-motion-ease);
  transition-delay: var(--gw-delay, 0ms);
  will-change: opacity, transform;
}

.gw-motion-ready .gw-reveal:not(.gw-visible) {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
}

.gw-motion-ready .gw-reveal[data-gw-reveal="left"]:not(.gw-visible) {
  transform: translate3d(-24px, 0, 0);
}

.gw-motion-ready .gw-reveal[data-gw-reveal="right"]:not(.gw-visible) {
  transform: translate3d(24px, 0, 0);
}

.gw-motion-ready .gw-reveal[data-gw-reveal="scale"]:not(.gw-visible) {
  transform: scale(0.975);
}

.gw-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.gw-card-motion {
  transition:
    transform var(--gw-motion-fast) var(--gw-motion-ease),
    box-shadow var(--gw-motion-fast) var(--gw-motion-ease),
    border-color var(--gw-motion-fast) var(--gw-motion-ease),
    background-color var(--gw-motion-fast) var(--gw-motion-ease);
}

.gw-card-motion img {
  transition: transform 620ms var(--gw-motion-ease), filter 620ms var(--gw-motion-ease);
}

@media (hover: hover) and (pointer: fine) {
  .gw-card-motion:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 51, 102, 0.45);
    box-shadow: var(--gw-motion-shadow);
  }

  .gw-card-motion:hover img {
    transform: scale(1.035);
  }

  .gw-button-motion:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 51, 102, 0.16);
  }

  .gw-button-motion:hover .material-symbols-outlined:last-child {
    transform: translateX(4px);
  }
}

.gw-button-motion {
  transition:
    transform var(--gw-motion-fast) var(--gw-motion-ease),
    box-shadow var(--gw-motion-fast) var(--gw-motion-ease),
    background-color var(--gw-motion-fast) var(--gw-motion-ease),
    color var(--gw-motion-fast) var(--gw-motion-ease),
    border-color var(--gw-motion-fast) var(--gw-motion-ease);
}

.gw-button-motion .material-symbols-outlined:last-child {
  transition: transform var(--gw-motion-fast) var(--gw-motion-ease);
}

.gw-form-motion input,
.gw-form-motion select,
.gw-form-motion textarea {
  transition:
    border-color var(--gw-motion-fast) var(--gw-motion-ease),
    box-shadow var(--gw-motion-fast) var(--gw-motion-ease),
    background-color var(--gw-motion-fast) var(--gw-motion-ease);
}

.gw-form-motion input:focus,
.gw-form-motion select:focus,
.gw-form-motion textarea:focus {
  border-color: #003366;
  box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.12);
  outline: none;
}

.gw-header-motion {
  transition:
    box-shadow var(--gw-motion-fast) var(--gw-motion-ease),
    background-color var(--gw-motion-fast) var(--gw-motion-ease),
    border-color var(--gw-motion-fast) var(--gw-motion-ease);
}

.gw-header-motion.gw-scrolled {
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.08);
}

.gw-count {
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .gw-reveal,
  .gw-card-motion,
  .gw-card-motion img,
  .gw-button-motion,
  .gw-button-motion .material-symbols-outlined:last-child,
  .gw-header-motion,
  .gw-form-motion input,
  .gw-form-motion select,
  .gw-form-motion textarea {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
    clip-path: none !important;
    scroll-behavior: auto !important;
  }
}

[data-gallery-prev],
[data-gallery-next],
[data-gallery-prev]:hover,
[data-gallery-next]:hover,
[data-gallery-prev]:focus,
[data-gallery-next]:focus,
[data-gallery-prev]:focus-visible,
[data-gallery-next]:focus-visible,
[data-gallery-prev]:active,
[data-gallery-next]:active {
  transform: translateY(-50%) !important;
}

[data-gallery-prev] .material-symbols-outlined,
[data-gallery-next] .material-symbols-outlined {
  transition: transform var(--gw-motion-fast) var(--gw-motion-ease);
}

@media (hover: hover) and (pointer: fine) {
  [data-gallery-prev]:hover .material-symbols-outlined {
    transform: translateX(-4px) !important;
  }

  [data-gallery-next]:hover .material-symbols-outlined {
    transform: translateX(4px) !important;
  }
}
