/* ==========================================================================
   GENIE TOUR — WordPress 版補充樣式
   頁面版面與配色都寫在 Elementor 元件設定裡；這裡只處理 Elementor 免費版做不到的部分：
   懸浮固定頁首、UAE 選單樣式、行動版選單、焦點樣式與減少動態效果。
   ========================================================================== */

:root {
  --gt-ink: #141414;
  --gt-paper: #fbf9f5;
  --gt-ivory: #f4efe6;
  --gt-sand: #c8b08a;
  --gt-sand-ink: #76593a;
  --gt-muted: #5c5852;
  --gt-line: rgba(20, 20, 20, 0.14);
  --gt-header-h: 84px;
}
@media (max-width: 1024px) { :root { --gt-header-h: 72px; } }

body.gt-site { background: var(--gt-paper); -webkit-font-smoothing: antialiased; }
html { scroll-padding-top: calc(var(--gt-header-h) + 16px); }

/* ---------- 懸浮固定頁首（UAE 輸出的 #masthead） ---------- */
body.gt-site #masthead { position: sticky; top: 0; z-index: 100; }
body.gt-site.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { body.gt-site.admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { body.gt-site.admin-bar #masthead { top: 0; } }

.gt-header { min-height: var(--gt-header-h); }
.gt-header > .e-con-inner { align-items: center; }
.gt-logo img { display: block; width: 210px; height: auto; }
@media (max-width: 1024px) { .gt-logo img { width: 168px; } }

/* ---------- UAE 選單 ---------- */
.gt-nav { flex: 1 1 auto; }
.gt-nav .hfe-nav-menu .menu-item a.hfe-menu-item {
  font-family: "Noto Sans TC", "Montserrat", sans-serif;
  font-size: 15px; font-weight: 400; letter-spacing: 0.1em;
  color: var(--gt-ink); padding: 10px 0; min-height: 44px; position: relative;
}
.gt-nav .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li { margin: 0 0 0 clamp(20px, 2.4vw, 40px) !important; }
.gt-nav .hfe-nav-menu__layout-horizontal .hfe-menu-item::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: left; transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.gt-nav .hfe-nav-menu__layout-horizontal .hfe-menu-item:hover::after,
.gt-nav .hfe-nav-menu__layout-horizontal .current-menu-item > .hfe-menu-item::after { transform: scaleX(1); }
.gt-nav .hfe-nav-menu .current-menu-item > a.hfe-menu-item { color: var(--gt-sand-ink); }
.gt-nav .hfe-nav-menu__toggle { margin-left: auto; color: var(--gt-ink); }
.gt-nav .hfe-nav-menu-icon, .gt-nav .hfe-nav-menu-icon svg { color: var(--gt-ink) !important; fill: currentColor !important; font-size: 24px; }

@media (max-width: 1024px) {
  .gt-header, .gt-header > .e-con-inner, .gt-nav, .gt-nav .elementor-widget-container, .gt-nav .hfe-nav-menu { position: static !important; }
  .gt-header { position: relative !important; }
  .gt-nav { flex: 0 0 auto !important; width: auto !important; margin-left: auto; }
  .gt-nav nav.hfe-dropdown { position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important; }
  .gt-nav nav.hfe-dropdown { background: var(--gt-paper) !important; box-shadow: 0 16px 32px rgba(20, 20, 20, 0.08); border-top: 1px solid var(--gt-line); }
  .gt-nav nav.hfe-dropdown .menu-item a.hfe-menu-item {
    font-family: "Noto Serif TC", serif; font-size: 20px; letter-spacing: 0.08em;
    padding: 18px 24px !important; min-height: 56px; border-bottom: 1px solid var(--gt-line);
  }
  .gt-nav nav.hfe-dropdown .hfe-menu-item::after { display: none; }
}

/* ---------- 頁尾 ---------- */
.gt-footer a { transition: color 0.18s; }
.gt-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--gt-sand-ink) !important; }

/* ---------- 共用 ---------- */
.elementor-button { transition: background-color 0.3s, color 0.3s, border-color 0.3s; }
.elementor-widget-image a img, .elementor-widget-image img { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); }
.elementor-widget-image a:hover img { transform: scale(1.03); }
.elementor-widget-image a { display: block; overflow: hidden; }
a:focus-visible, button:focus-visible, .elementor-button:focus-visible { outline: 2px solid var(--gt-sand-ink); outline-offset: 3px; }
.elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ---------- WPForms（配合網站：黑色按鈕、直角、米白欄位） ---------- */
.gt-site .wpforms-container {
  --wpforms-field-border-radius: 0px;
  --wpforms-field-background-color: #fbf9f5;
  --wpforms-field-border-color: rgba(20, 20, 20, 0.3);
  --wpforms-field-text-color: #141414;
  --wpforms-label-color: #141414;
  --wpforms-label-sublabel-color: #5c5852;
  --wpforms-button-border-radius: 0px;
  --wpforms-button-background-color: #141414;
  --wpforms-button-text-color: #fbf9f5;
  --wpforms-button-size-height: 52px;
  --wpforms-button-size-padding-h: 32px;
}
.gt-site .wpforms-container .wpforms-form button[type="submit"],
.gt-site .wpforms-container .wpforms-form .wpforms-submit {
  background: #141414 !important; color: #fbf9f5 !important; border: 1px solid #141414 !important;
  border-radius: 0 !important; min-height: 52px; padding: 14px 32px !important;
  font-family: "Montserrat", "Noto Sans TC", sans-serif; font-weight: 500; letter-spacing: 0.08em;
}
.gt-site .wpforms-container .wpforms-form button[type="submit"]:hover { background: #2b2926 !important; }
.gt-site .wpforms-container input[type="text"], .gt-site .wpforms-container input[type="email"],
.gt-site .wpforms-container input[type="number"], .gt-site .wpforms-container input[type="tel"],
.gt-site .wpforms-container select, .gt-site .wpforms-container textarea { border-radius: 0 !important; min-height: 48px; }
.gt-site .wpforms-container input[type="checkbox"], .gt-site .wpforms-container input[type="radio"] { accent-color: #141414; }
.gt-site .wpforms-container .wpforms-field-label { font-weight: 500; }
.gt-site .wpforms-confirmation-container-full { background: #eef3ee; border-color: #2f5d3a; color: #141414; }

/* ---------- 目的地卡片：標題連結延伸成整張卡片可點（卡片本身不是 <a>，避免連結巢狀跑版） ---------- */
/* isolation 讓卡片自成一層；漸層遮罩（::before）放到最底，文字一律在遮罩之上 */
.gt-tile { position: relative; overflow: hidden; isolation: isolate; }
.gt-tile::before { z-index: -1 !important; }
.gt-tile .gt-tile-link, .gt-tile .gt-tile-link .elementor-widget-container, .gt-tile .gt-tile-link .elementor-heading-title { position: static !important; }
.gt-tile .gt-tile-link a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.gt-tile .gt-tile-link a:focus-visible { outline: none; }
.gt-tile:has(.gt-tile-link a:focus-visible) { outline: 2px solid var(--gt-sand); outline-offset: 3px; }
/* 卡片上的文字一律白色（含標題連結，不受全站連結顏色影響） */
.gt-tile .elementor-heading-title, .gt-tile .elementor-heading-title a,
.gt-tile .elementor-heading-title a:hover, .gt-tile .elementor-heading-title a:visited { color: #ffffff !important; }
