/**
 * Aixin shared Header v3 / Footer v2 shell.
 * Figma source: Header 46118:159; Footer 46118:786.
 * Version: 1.3.6
 * Created: 2026-09-08; Modified: 2026-09-10
 *
 * Elementor owns the editable Image, Pro WordPress Menu, Text, Icon List and
 * Button widgets. This stylesheet only supplies the Figma geometry and visual
 * tokens that the Elementor controls cannot express consistently at all three
 * breakpoints.
 */

:root {
  --ax-pink: #b93672;
  --ax-pink-soft: #fff0f5;
  --ax-pink-line: #f1c6d6;
  --ax-blue: #3b728c;
  --ax-blue-line: #b9e3f4;
  --ax-ink: #614f49;
  --ax-shell-shadow: 0 12px 20px rgba(97, 79, 73, 0.08);
  /* Global site content width. Change this single value to resize every
   * Desktop Header, page-content and Footer container site-wide. */
  --ax-site-content-max: 1200px;
}

/* A1: scope Pro dropdown positioning above legacy homepage selectors.
 * Native Elementor/SmartMenus retains open, close and keyboard handling. */
.elementor-43388 .ax-nav .elementor-nav-menu--main > .elementor-nav-menu {
  justify-content: center;
}
@media (max-width: 1180px) {
  .elementor-43388 .ax-nav.elementor-widget-nav-menu {
    flex: 0 0 44px !important;
    width: 44px !important;
    max-width: 44px !important;
  }
  .elementor-43388 .ax-nav > nav.elementor-nav-menu--dropdown {
    position: fixed !important;
    top: calc(var(--ax-menu-header-height, 88px) + var(--ax-menu-admin-offset, 0px)) !important;
    right: 0 !important;
    left: auto !important;
    width: min(420px, 100vw) !important;
    margin: 0 !important;
    max-height: calc(100dvh - var(--ax-menu-header-height, 88px) - var(--ax-menu-admin-offset, 0px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .elementor-43388 .ax-nav nav.elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .elementor-43388 .ax-nav nav.elementor-nav-menu--dropdown a {
    justify-content: center;
    text-align: center;
    min-height: 48px;
  }
}
@media (max-width: 767px) {
  .elementor-43388 .ax-nav > nav.elementor-nav-menu--dropdown {
    left: 0 !important;
    width: 100% !important;
  }
}

.ax-header,
.ax-header *,
.ax-footer,
.ax-footer * { box-sizing: border-box; }

.ax-header {
  position: relative;
  z-index: 100;
  width: 100%;
  min-height: 88px;
  border: 0;
  background: #fff;
  box-shadow: var(--ax-shell-shadow);
}

.ax-header > .elementor-element,
.ax-header-inner {
  width: min(var(--ax-site-content-max), 100%) !important;
  min-height: 88px;
  margin-inline: auto !important;
  overflow: visible !important;
}

.ax-header-inner { gap: 20px !important; }

.ax-logo,
.ax-logo .elementor-widget-container { flex: 0 0 160px; }

.ax-logo img {
  display: block;
  width: 160px !important;
  max-width: 160px !important;
  height: auto !important;
  margin: 0 !important;
}

.ax-nav { flex: 1 1 auto; min-width: 0; }
.ax-nav .elementor-widget-container { overflow: visible !important; }
.ax-nav .elementor-widget-cmsmasters-nav-menu__main.cmsmasters-layout-horizontal > ul,
.ax-nav .elementor-nav-menu { gap: 12px !important; }

.ax-nav .elementor-item,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top {
  position: relative;
  min-height: 44px;
  padding: 12px 10px !important;
  color: var(--ax-ink) !important;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.ax-nav .elementor-item::after,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 3px;
  left: 10px;
  height: 3px;
  border-radius: 999px;
  background: currentColor !important;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.ax-nav .elementor-item:hover,
.ax-nav .elementor-item:focus-visible,
.ax-nav .elementor-item.elementor-item-active,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top:hover,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top:focus-visible,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top.elementor-widget-cmsmasters-nav-menu__item-active {
  color: var(--ax-pink) !important;
}

.ax-nav .elementor-item:hover::after,
.ax-nav .elementor-item:focus-visible::after,
.ax-nav .elementor-item.elementor-item-active::after,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top:hover::after,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top:focus-visible::after,
.ax-nav .elementor-widget-cmsmasters-nav-menu__item-link-top.elementor-widget-cmsmasters-nav-menu__item-active::after {
  transform: scaleX(1);
}

.ax-header-cta { flex: 0 0 164px; width: 164px !important; }
.ax-header-cta .elementor-button {
  display: inline-flex;
  width: 164px;
  min-width: 164px;
  min-height: 48px;
  padding: 14px 24px !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--ax-pink) !important;
  box-shadow: none !important;
  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown,
.ax-nav .elementor-nav-menu--dropdown,
.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown-submenu {
  z-index: 110;
  border: 1px solid var(--ax-blue-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 20px 60px rgba(97, 79, 73, 0.12) !important;
  overflow: hidden;
}

.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown-item,
.ax-nav .elementor-sub-item {
  min-height: 44px;
  padding: 10px 16px !important;
  color: var(--ax-ink) !important;
  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
}

.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown-item:hover,
.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown-item:focus-visible,
.ax-nav .elementor-sub-item:hover,
.ax-nav .elementor-sub-item:focus-visible {
  color: var(--ax-pink) !important;
  background: var(--ax-pink-soft) !important;
}

/* Keep native current, expanded and focus states as readable color pairs. */
.elementor-43388 .ax-nav .elementor-sub-item:is(.elementor-item-active, .highlighted, :hover, :focus),
.elementor-43388 .ax-nav > nav.elementor-nav-menu--dropdown .elementor-item:is(.elementor-item-active, .highlighted, :hover, :focus) {
  color: var(--ax-pink) !important;
  background: var(--ax-pink-soft) !important;
}

/* Native fragment navigation must clear the fixed mobile/tablet header. */
@media (max-width: 1180px) {
  #media-categories {
    scroll-margin-top: calc(var(--ax-menu-header-height, 88px) + var(--ax-menu-admin-offset, 0px) + 16px);
  }
}

.ax-nav .elementor-widget-cmsmasters-nav-menu__toggle-container { margin-left: auto; }
.ax-nav .elementor-widget-cmsmasters-nav-menu__toggle,
.ax-nav .elementor-menu-toggle {
  display: grid;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin-left: auto;
  padding: 0 !important;
  place-items: center;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--ax-pink) !important;
  background: var(--ax-pink-soft) !important;
}

.ax-nav .elementor-widget-cmsmasters-nav-menu__toggle svg,
.ax-nav .elementor-menu-toggle svg { width: 20px; height: 20px; fill: currentColor; }

.ax-nav .elementor-widget-cmsmasters-nav-menu__arrow {
  display: inline-flex;
  margin-left: 7px;
  align-items: center;
  justify-content: center;
  color: currentColor;
}

.ax-nav .elementor-widget-cmsmasters-nav-menu__arrow svg {
  display: block;
  width: 11px;
  height: 11px;
  fill: currentColor;
  transition: transform 0.2s ease;
}

.ax-nav li.menu-item-has-children:hover > a .elementor-widget-cmsmasters-nav-menu__arrow svg,
.ax-nav li.menu-item-has-children:focus-within > a .elementor-widget-cmsmasters-nav-menu__arrow svg,
.ax-nav li.menu-item-has-children.active > a .elementor-widget-cmsmasters-nav-menu__arrow svg {
  transform: rotate(180deg);
}

/* Defensive fallback for cached CMSMasters markup rendered before the native
 * indicator setting is regenerated. It disappears automatically once the
 * widget outputs its own arrow element. */
.ax-nav li.menu-item-has-children > a:not(:has(.elementor-widget-cmsmasters-nav-menu__arrow))
  .elementor-widget-cmsmasters-nav-menu__item-text::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 0 3px 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.ax-nav li.menu-item-has-children:hover > a:not(:has(.elementor-widget-cmsmasters-nav-menu__arrow))
  .elementor-widget-cmsmasters-nav-menu__item-text::after,
.ax-nav li.menu-item-has-children:focus-within > a:not(:has(.elementor-widget-cmsmasters-nav-menu__arrow))
  .elementor-widget-cmsmasters-nav-menu__item-text::after,
.ax-nav li.menu-item-has-children.active > a:not(:has(.elementor-widget-cmsmasters-nav-menu__arrow))
  .elementor-widget-cmsmasters-nav-menu__item-text::after {
  transform: rotate(225deg);
}

@media (min-width: 1181px) {
  .ax-nav .elementor-widget-cmsmasters-nav-menu__main > ul > li >
  .elementor-widget-cmsmasters-nav-menu__dropdown-submenu {
    top: 70px !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
    padding: 8px !important;
  }

  .ax-nav .elementor-widget-cmsmasters-nav-menu__main > ul > li >
  .elementor-widget-cmsmasters-nav-menu__dropdown-submenu > li {
    width: 100%;
  }

  .ax-nav .elementor-widget-cmsmasters-nav-menu__main > ul > li >
  .elementor-widget-cmsmasters-nav-menu__dropdown-submenu > li > a {
    white-space: nowrap;
  }
}

.ax-footer {
  width: 100%;
  padding: 72px 0 26px !important;
  color: #fff;
  background: var(--ax-blue) !important;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
}

.ax-footer > .ax-inner,
.ax-footer > .elementor-element.ax-inner {
  width: min(var(--ax-site-content-max), 100%) !important;
  margin-inline: auto !important;
}

/* Canonical page-width utility for every current and future Elementor page. */
.ax-site-container,
.aixin-home-v1 .ax-inner,
.aixin-home-v1 .ax-wide {
  width: min(var(--ax-site-content-max), 100%) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

/* W02 predates the utility class. Its native first-level Elementor content is
 * bound here to the same global variable without converting it to HTML/PHP. */
@media (min-width: 1181px) {
  .aixin-about-v1 > .elementor-element:not(.ax-about-shared-template) {
    padding-right: 0 !important;
    padding-left: 0 !important;
    --padding-right: 0 !important;
    --padding-left: 0 !important;
  }

  .aixin-about-v1 > .elementor-element:not(.ax-about-shared-template) > .elementor-element {
    width: min(var(--ax-site-content-max), 100%) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }
}

.ax-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr) minmax(0, 0.85fr) minmax(210px, 1.35fr);
  gap: 40px !important;
  width: 100%;
}

.ax-footer-grid > .elementor-element {
  min-width: 0;
  align-content: flex-start !important;
  gap: 16px !important;
}

.ax-footer-logo,
.ax-footer-logo .elementor-widget-container {
  align-self: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

.ax-footer-logo img {
  display: block;
  width: 160px !important;
  max-width: 160px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ax-footer-title .elementor-heading-title {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.ax-footer-text,
.ax-footer-text p,
.ax-footer .elementor-icon-list-text {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
}

.ax-footer .elementor-icon-list-items { margin: 0; padding: 0; list-style: none; }
.ax-footer .elementor-icon-list-item { margin: 5px 0 !important; }
.ax-footer .elementor-icon-list-icon { display: none !important; }

.ax-footer-line-cta,
.ax-footer-line-cta .elementor-widget-container { width: 210px !important; max-width: 210px; }
.ax-footer-line-cta .elementor-button {
  display: inline-flex;
  width: 210px;
  min-height: 48px;
  padding: 14px 20px !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: var(--ax-pink) !important;
  box-shadow: none !important;
  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.ax-footer-bottom {
  width: 100%;
  margin-top: 22px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  color: rgba(255, 255, 255, 0.74) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

.ax-footer-bottom p { margin: 0 !important; }
.ax-footer-legal-row {
  display: flex !important;
  width: 100%;
  margin-top: 42px !important;
  padding-top: 20px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.ax-footer-legal-row p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

.ax-footer-notice { text-align: right; }

@media (max-width: 1180px) {
  .ax-site-container,
  .aixin-home-v1 .ax-inner,
  .aixin-home-v1 .ax-wide {
    width: calc(100% - 96px) !important;
  }

  .ax-header > .elementor-element,
  .ax-header-inner {
    width: min(var(--ax-site-content-max), calc(100% - 96px)) !important;
  }

  .ax-header-cta { display: none !important; }
  .ax-nav { flex: 0 0 44px; width: 44px !important; max-width: 44px; }

  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown,
  .ax-nav .elementor-nav-menu--dropdown {
    position: fixed !important;
    top: 88px !important;
    right: 0 !important;
    left: auto !important;
    width: min(420px, 100vw) !important;
    max-height: calc(100dvh - 88px);
    border-width: 1px 0 0 1px !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
  }

  .ax-footer > .ax-inner,
  .ax-footer > .elementor-element.ax-inner {
    width: min(var(--ax-site-content-max), calc(100% - 96px)) !important;
  }

  .ax-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px !important;
  }

  .ax-footer-legal-row { flex-wrap: wrap; }
}

@media (max-width: 767px) {
  .ax-site-container,
  .aixin-home-v1 .ax-inner,
  .aixin-home-v1 .ax-wide {
    width: calc(100% - 64px) !important;
  }

  .ax-header,
  .ax-header > .elementor-element,
  .ax-header-inner { min-height: 72px; }

  .ax-header > .elementor-element,
  .ax-header-inner {
    width: calc(100% - 64px) !important;
  }

  .ax-logo,
  .ax-logo .elementor-widget-container { flex-basis: 130px; }
  .ax-logo img { width: 130px !important; max-width: 130px !important; }

  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown,
  .ax-nav .elementor-nav-menu--dropdown {
    top: 72px !important;
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 72px);
    border-left: 0 !important;
  }

  .ax-footer { padding: 60px 0 26px !important; }
  .ax-footer > .ax-inner,
  .ax-footer > .elementor-element.ax-inner {
    width: calc(100% - 64px) !important;
  }
  .ax-footer-grid { grid-template-columns: 1fr; gap: 36px !important; }
  .ax-footer-legal-row {
    margin-top: 36px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .ax-footer-notice { text-align: left; }
  .ax-footer-bottom { margin-top: 20px !important; text-align: left !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ax-header *,
  .ax-footer * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .aixin-about-v1 .animated { animation: none !important; }
  .aixin-about-v1 .elementor-invisible { visibility: visible !important; }
}

/* Customer mobile-menu review: keep native links and arrow handlers. */
@media (max-width: 1180px) {
  body { --ax-menu-header-height: 88px; --ax-menu-admin-offset: 0px; }
  body.admin-bar { --ax-menu-admin-offset: 32px; }
  .elementor-43388 { min-height: var(--ax-menu-header-height); }
  .ax-header {
    position: fixed !important;
    top: var(--ax-menu-admin-offset) !important;
    inset-inline: 0 !important;
    z-index: 9998 !important;
  }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown {
    top: calc(var(--ax-menu-header-height) + var(--ax-menu-admin-offset)) !important;
    max-height: calc(100dvh - var(--ax-menu-header-height) - var(--ax-menu-admin-offset)) !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
  }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown > ul {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown > ul > li > a {
    position: relative;
    display: flex !important;
    justify-content: center !important;
    min-height: 56px;
    padding: 12px 64px !important;
    text-align: center !important;
  }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown > ul > li > a > .elementor-widget-cmsmasters-nav-menu__item-text-wrap {
    position: static !important;
    justify-content: center !important;
    width: 100%;
  }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown > ul > li.menu-item-has-children > a .elementor-widget-cmsmasters-nav-menu__arrow {
    position: absolute !important;
    inset-inline-end: 12px;
    top: 4px;
    display: flex !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    border-radius: 10px;
    background: var(--ax-pink-soft);
    color: var(--ax-pink);
    touch-action: manipulation;
  }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown .elementor-widget-cmsmasters-nav-menu__arrow > * { pointer-events: none; }
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown .sub-menu > li > a,
  .ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown .sub-menu > li > a > .elementor-widget-cmsmasters-nav-menu__item-text-wrap {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
  }
}
@media (max-width: 782px) { body.admin-bar { --ax-menu-admin-offset: 46px; } }
@media (max-width: 767px) { body { --ax-menu-header-height: 72px; } }

/* 2026-09-09 customer direction: consistent mobile content alignment. */
@media (max-width: 767px) {
  body .elementor:not(.elementor-43388) .elementor-widget-heading,
  body .elementor:not(.elementor-43388) .elementor-heading-title,
  body .elementor:not(.elementor-43388) .elementor-widget-text-editor,
  body .elementor:not(.elementor-43388) .elementor-widget-text-editor :is(p, h1, h2, h3, h4, li),
  body .elementor:not(.elementor-43388) .elementor-widget-button,
  body .elementor .elementor-widget-image:not(.elementor-43388 *),
  body .elementor:not(.elementor-43388) .elementor-icon-list-item,
  body .elementor:not(.elementor-43388) .elementor-widget-theme-post-content,
  body .elementor:not(.elementor-43388) .elementor-widget-theme-post-content :is(p, h1, h2, h3, h4, li) { text-align: center !important; }
  body .elementor:not(.elementor-43388) .elementor-icon-list-item,
  body .elementor:not(.elementor-43388) .elementor-icon-list-item > a { justify-content: center !important; }
  body .elementor:not(.elementor-43388) .elementor-widget-button,
  body .elementor .elementor-widget-image:not(.elementor-43388 *) { margin-inline: auto !important; }
  body .elementor .elementor-widget-image:not(.elementor-43388 *) img { margin-inline: auto; }
  body .elementor-43390 :is(.e-con, .e-con-inner) { align-items: center !important; }
  body .elementor-43390 :is(.ax-footer-notice, .ax-footer-bottom, .ax-footer-legal-row) { text-align: center !important; align-items: center !important; }
  body .aixin-home-v1 :is(.ax-ai-badge, .ax-process-number, .ax-unit-link) { align-self: center; margin-inline: auto !important; }
  body .aixin-home-v1 .ax-process-marker { justify-content: center !important; }
}

@media (max-width: 767px) {
  body .elementor.elementor-43390 .ax-footer-grid > .elementor-element { width: 100% !important; align-items: center !important; }
  body .elementor.elementor-43390 .elementor-widget-button,
  body .elementor.elementor-43390 .ax-footer-logo { align-self: center !important; margin-left: auto !important; margin-right: auto !important; }
  body .elementor.elementor-43390 .ax-footer-logo img { margin-inline: auto !important; }
}

@media (max-width: 767px) {
  body .elementor.elementor-43388 .ax-logo { margin: 0 !important; align-self: center; }
  body .elementor.elementor-43388 .ax-logo img { margin: 0 !important; }
  body .aixin-home-v1 .ax-hero-points { width: 100% !important; }
  body .aixin-home-v1 .ax-hero-points .elementor-icon-list-items { justify-content: center !important; justify-items: center; }
  body .elementor [data-widget_type="cmsmasters-post-excerpt.default"] { text-align: center !important; }
}

@media (max-width: 767px) {
  body .elementor.elementor-43390 .ax-footer-grid > .elementor-element { flex-wrap: nowrap !important; align-content: center !important; }
  body .elementor.elementor-43390 .ax-footer-grid .elementor-widget:not(.ax-footer-logo):not(.ax-footer-line-cta) { width: 100% !important; }
}

@media (max-width: 767px) {
 body .ax-footer .elementor-icon-list-items,
 body .ax-footer .elementor-icon-list-item { list-style: none !important; }
 body .ax-footer .elementor-icon-list-item::marker { content: ''; }
}

/* Mobile page scroll belongs to the root viewport; avoid inner scrollport desync on iOS Chrome and Safari. */
@media (max-width: 767px) {
 html:not(.elementor-html) {
  height: auto !important;
  min-height: 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
 }
 body:not(.elementor-editor-active) {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
 }
 body:not(.elementor-editor-active) .elementor-widget-shortcode:has(.elementor-43390),
 body:not(.elementor-editor-active) .elementor-widget-shortcode:has(.elementor-43390) > .elementor-widget-container,
 body:not(.elementor-editor-active) .elementor-shortcode:has(.elementor-43390) { display: block; line-height: 0; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
}

@media (max-width: 767px) {
 body:not(.elementor-editor-active) > .elementor-43259,
 body:not(.elementor-editor-active) > .elementor-43254 { display: none !important; }
}

@media (max-width: 767px) {
 body:not(.elementor-editor-active) .elementor-widget-shortcode:has(.elementor-43390) { display: block !important; flex: none !important; }
 body:not(.elementor-editor-active) .e-con[class*="-footer"]:has(.elementor-43390) { display: block !important; height: auto !important; min-height: 0 !important; }
}

/* Current archive/single templates already include the approved native shell. */
body:has(> .elementor-43796) > :is(header#header, footer#footer, .cmsmasters-headline),
body:has(> .elementor-43825) > :is(header#header, footer#footer, .cmsmasters-headline) { display: none !important; }


/* First-paint state: this stylesheet is in <head>; shortcode widget CSS arrives later.
   Keep native inline slideToggle / hover rules in control once initialized. */
.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown { display: none; }
.ax-nav .elementor-widget-cmsmasters-nav-menu__dropdown-submenu { visibility: hidden; opacity: 0; }
.ax-nav .elementor-widget-cmsmasters-nav-menu__toggle-container { display: none; }
@media (max-width: 1180px) {
 .ax-nav .elementor-widget-cmsmasters-nav-menu__main { display: none; }
 .ax-nav .elementor-widget-cmsmasters-nav-menu__toggle-container { display: flex; }
}

/* R10: balanced Chinese heading wraps at tablet and phone widths. */
@media(max-width:1024px){[data-elementor-type="wp-page"] h1,[data-elementor-type="wp-page"] h2,[data-elementor-type="archive"] h1,[data-elementor-type="archive"] h2,[data-elementor-type="single-post"] h1,[data-elementor-type="single-post"] h2{text-wrap:balance}}

/* R10: consistent pointer feedback for native page controls. */
@media(hover:hover){
 [data-elementor-type]:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-button:hover{filter:brightness(.94)}
 [data-elementor-type="wp-page"] a:not(.elementor-button):not(.elementor-item):not(.elementor-sub-item):hover,[data-elementor-type="archive"] a:not(.elementor-button):hover,[data-elementor-type="single-post"] a:not(.elementor-button):hover{text-decoration:underline;text-underline-offset:.2em}
 [data-elementor-type="wp-page"] a:hover>img,[data-elementor-type="archive"] a:hover img{filter:brightness(.94)}
}

/* R11: explicit phrase boundaries remain native heading content. */
.elementor br.ax-r11-mobile,.elementor br.ax-r11-compact{display:none}
@media(max-width:767px){.elementor br.ax-r11-mobile{display:initial}}
@media(max-width:1024px){.elementor br.ax-r11-compact{display:initial}}

/* R12: blend only decorative native artwork with its card surface. */
.elementor .ax-r12-art,.elementor .ax-r12-art img{mix-blend-mode:multiply}

/* R12: archive mobile cards follow the established centered phone layout. */
@media(max-width:767px){.elementor-44039 .elementor-post__text,.elementor-44039 .elementor-post__title,.elementor-44039 .elementor-post__excerpt,.elementor-44039 .elementor-post__read-more{text-align:center}.elementor-44039 .elementor-post__read-more{display:block}}
