:root {
  --tiri-purple: #7d2da8;
  --tiri-purple-dark: #342044;
  --tiri-purple-light: #f4edf8;
  --tiri-ink: #3f3f43;
  --tiri-muted: #73737a;
  --tiri-line: #e4e1e7;
  --tiri-surface: #ffffff;
  --tiri-radius: 4px;
  --tiri-content: 1120px;
  --tiri-shadow: 0 10px 30px rgba(52, 32, 68, 0.08);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--tiri-ink);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.tiri-menu-open {
  overflow: hidden;
}

img,
video,
iframe {
  max-width: 100%;
}

a {
  text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(125, 45, 168, 0.32);
  outline-offset: 3px;
}

.tiri-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000000;
  padding: 10px 14px;
  background: var(--tiri-purple-dark);
  color: #fff;
  transform: translateY(-150%);
  transition: transform 160ms ease;
}

.tiri-skip-link:focus {
  transform: translateY(0);
}

.hamburger,
.mobile-nav-toggle {
  cursor: pointer;
}

.mobile-nav .wsite-menu-wrap.tiri-submenu-open {
  display: block !important;
}

.dusk-header {
  opacity: 1;
}

.dusk-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1180px;
  margin-inline: auto;
}

.dusk-header .logo {
  position: relative;
  z-index: 2;
  display: flex;
  align-self: center;
  align-items: center;
  flex: 0 0 150px;
  width: 150px;
  height: 70px;
  min-width: 150px;
  margin-right: 24px;
}

.dusk-header .logo .wsite-logo,
.dusk-header .logo a {
  position: static;
  display: flex;
  align-items: center;
  height: 70px;
  margin: 0;
  transform: none;
}

.dusk-header .logo img {
  width: 120px;
  height: 70px;
  margin: 0;
  object-fit: contain;
  transform: none;
}

.desktop-nav {
  position: relative;
  min-width: 0;
  flex: 1 1 auto;
  margin-right: 18px;
}

.desktop-nav > .wsite-menu-default {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
  float: none;
  gap: 0;
}

.desktop-nav .wsite-menu-item {
  margin-inline: 0;
  padding: 20px 6px;
  font-size: 13px;
  white-space: nowrap;
}

.tiri-language-duplicate {
  display: none !important;
}

.tiri-language-switch {
  position: static;
  display: inline-flex;
  flex: 0 0 auto;
  align-self: center;
  align-items: center;
  min-height: 44px;
  margin-inline: 10px 8px;
  color: var(--tiri-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1.5px;
  text-decoration: underline;
}

.tiri-language-switch:hover {
  color: var(--tiri-purple);
}

@media (min-width: 768px) {
  .header-page .wsite-header-section.tiri-inline-2,
  .header-page .wsite-header-section.tiri-inline-261 {
    height: 306px !important;
  }

  .header-page .wsite-header-section.tiri-inline-24 {
    height: 304px !important;
  }

  .header-page .wsite-header-section.tiri-inline-82 {
    height: 310px !important;
  }

  .header-page .wsite-header-section.tiri-inline-137 {
    height: 300px !important;
  }

  .header-page .wsite-header-section.tiri-inline-149,
  .header-page .wsite-header-section.tiri-inline-174 {
    height: 303px !important;
  }

  .header-page .wsite-header-section.tiri-inline-212 {
    height: auto !important;
  }

  .header-page .wsite-header-section.tiri-inline-220 {
    height: 320px !important;
  }

  .header-page .wsite-header-section.tiri-inline-287 {
    height: 311px !important;
  }
}

@media (max-width: 767px) {
  body.tiri-menu-open .mobile-nav {
    display: block;
  }

  .wsite-section-elements,
  .container,
  .wsite-content-title,
  .paragraph {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

}

@media (max-width: 1024px) {
  .dusk-header .container {
    position: relative;
  }

  .tiri-language-switch {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 20px;
    z-index: 14;
    margin: 0;
    transform: translateY(-50%);
  }
}

/* 表單提交按鈕：theme.css 經 @import 先載，legacy.css 的舊灰色雪碧圖規則
   會蓋掉紫色背景（變成白字透明底而隱形），在此還原 Weebly 主題按鈕外觀 */
.wsite-button,
.wsite-button-normal {
  background: #8640ae;
  transition: background-color 0.2s ease-out;
  display: inline-block;
  height: auto;
  padding: 0;
  text-align: center;
}

.wsite-button:hover,
.wsite-button:active {
  background: #693289;
}

/* 會員登入先隱藏（2026-07-29 使用者要求，暫時用不到）：
   header 右上人形 icon 鈕（.header-login，內含 #member-login 透明點擊層）
   與行動選單登入項（.mobile-login）。要還原時刪掉這條即可。 */
.header-login,
.mobile-login {
  display: none !important;
}
