/* --------------------------------------------------------------------------
   AnA Travel Club Brand Layer
   Internal theme overlay: color system, typography, and travel-brand polish.
   ------------------------------------------------------------------------- */
:root {
  --ana-mizugame: #81C7D4;
  --ana-hanada: #2775B6;
  --ana-gunjo: #192F60;
  --ana-geppaku: #EEF7F2;
  --ana-torinoko: #FFF1CF;
  --ana-blue-950: var(--ana-gunjo);
  --ana-blue-900: #1e427c;
  --ana-blue-800: #235f9e;
  --ana-blue-700: var(--ana-hanada);
  --ana-blue-600: #3c91c4;
  --ana-blue-500: var(--ana-mizugame);
  --ana-blue-100: #d8eff3;
  --ana-sky-50: #f5fbf9;
  --ana-cloud: var(--ana-geppaku);
  --ana-mist: #e3f3f4;
  --ana-gold: var(--ana-torinoko);
  --ana-gold-dark: #b18a3a;
  --ana-ink: var(--ana-gunjo);
  --ana-ink-soft: #314a73;

  --ed-gray-900: var(--ana-ink);
  --ed-gray-800: #233d70;
  --ed-gray-700: #315181;
  --ed-gray-600: #526b94;
  --ed-gray-500: #7589a9;
  --ed-gray-400: #a5b4c9;
  --ed-gray-300: #cbd7e2;
  --ed-gray-200: #dcecf0;
  --ed-gray-100: #eaf5f3;
  --ed-gray-50: var(--ana-sky-50);

  --ed-paper: var(--ana-cloud);
  --ed-paper-alt: var(--ana-mist);
  --ed-card: rgba(255, 255, 255, .9);
  --ed-card-quiet: rgba(255, 255, 255, .72);
  --ed-card-solid: #ffffff;
  --ed-hairline: rgba(0, 91, 172, .18);

  --ed-ink: var(--ana-ink);
  --ed-ink-soft: var(--ana-ink-soft);
  --ed-muted: #526b83;
  --ed-micro: #6f86a0;
  --ed-link: var(--ana-blue-800);
  --ed-link-hover: var(--ana-blue-950);
  --ed-rule: rgba(39, 117, 182, .2);
  --ed-rule-strong: rgba(39, 117, 182, .34);

  --ed-accent: var(--ana-blue-700);
  --ed-accent-dark: var(--ana-blue-950);
  --ed-secondary: var(--ana-blue-500);
  --ed-focus: var(--ana-mizugame);
  --ed-button-ink: #ffffff;
  --ed-label-bg: rgba(32, 167, 224, .12);
  --ed-label-ink: var(--ana-blue-900);
  --ed-icon-bg: rgba(32, 167, 224, .14);

  --ed-hero-bg: var(--ana-blue-950);
  --ed-hero-ink: #ffffff;
  --ed-hero-deco: var(--ana-blue-500);
  --ed-hero-deco-opacity: .18;
  --ed-hero-tracking: 0;

  --ed-footer-bg: var(--ana-blue-950);
  --ed-footer-text: #f7fbff;

  --ana-font-zh-serif: 'Noto Serif SC', 'Noto Serif TC', 'Source Han Serif SC', 'Source Han Serif TC', 'Source Han Serif CN', 'Source Han Serif', 'Songti SC', 'STSong', 'SimSun', serif;

  --ed-font-display: 'Newsreader', 'Noto Sans JP', Georgia, serif;
  --ed-font-body: 'Source Serif 4', 'Noto Sans JP', Georgia, serif;
  --ed-font-editorial: 'Source Serif 4', 'Noto Sans JP', Georgia, serif;
  --ed-font-ui: 'IBM Plex Mono', 'Noto Sans JP', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --ed-heading-tracking: 0;

  --ed-radius-label: 999px;
  --ed-radius-card: 8px;
  --ed-radius-button: 6px;
  --ed-radius-image: 8px;
  --ed-radius-icon: 8px;
  --ed-soft-shadow: 0 1px 0 rgba(39, 117, 182, .04), 0 16px 36px rgba(25, 47, 96, .09);
  --ed-hover-shadow: 0 1px 0 rgba(39, 117, 182, .05), 0 20px 44px rgba(25, 47, 96, .14);
}

html:lang(zh-CN) {
  --ed-font-display: 'Newsreader', var(--ana-font-zh-serif);
  --ed-font-body: 'Source Serif 4', var(--ana-font-zh-serif);
  --ed-font-editorial: 'Source Serif 4', var(--ana-font-zh-serif);
  --ed-font-ui: var(--ana-font-zh-serif);
  --ed-body-leading: 1.86;
  --ed-heading-tracking: 0;
  --ed-logo-tracking: 0;
}

html:lang(zh-CN) body {
  font-family: var(--ana-font-zh-serif);
  text-rendering: optimizeLegibility;
}

html:lang(zh-CN) .site-logo,
html:lang(zh-CN) .site-logo-text,
html:lang(zh-CN) .footer-brand-name {
  font-family: 'Newsreader', var(--ana-font-zh-serif);
}

html:lang(zh-CN) .primary-menu a,
html:lang(zh-CN) .header-cta,
html:lang(zh-CN) .footer-links a,
html:lang(zh-CN) .footer-nav a,
html:lang(zh-CN) .footer-contact-link,
html:lang(zh-CN) .footer-language-switcher,
html:lang(zh-CN) .ana-front-kicker,
html:lang(zh-CN) .ana-front-product-card__kicker,
html:lang(zh-CN) .ana-front-product-card__meta,
html:lang(zh-CN) .ana-tour-kicker,
html:lang(zh-CN) .ana-tour-meta,
html:lang(zh-CN) .ana-tour-tip,
html:lang(zh-CN) .ana-tour-facts span,
html:lang(zh-CN) .ana-tour-jump a,
html:lang(zh-CN) .ana-tour-button,
html:lang(zh-CN) .ana-standard-page__label {
  font-family: var(--ana-font-zh-serif);
  letter-spacing: 0;
  text-transform: none;
}

html:lang(zh-CN) .ana-front h1,
html:lang(zh-CN) .ana-tour h1 {
  line-height: 1.05;
}

html:lang(zh-CN) .ana-front h2,
html:lang(zh-CN) .ana-tour h2,
html:lang(zh-CN) .ana-standard-page__title {
  line-height: 1.12;
}

html:lang(zh-CN) .ana-front p,
html:lang(zh-CN) .ana-tour p,
html:lang(zh-CN) .ana-standard-page__content {
  line-height: 1.86;
}

body {
  background:
    linear-gradient(180deg, rgba(129, 199, 212, .28), rgba(238, 247, 242, 0) 18rem),
    var(--ed-paper);
}

h1, h2, h3, h4, h5, h6,
.site-logo,
.footer-brand-name {
  font-family: var(--ed-font-display);
}

h1, h2, h3,
.site-logo,
.footer-brand-name {
  font-weight: 600;
}

.entry-content,
.story-body,
.prog-desc,
.founder-bio,
.testimonial-card p,
.section-lead {
  font-family: var(--ed-font-body);
}

::selection {
  background: var(--ana-blue-100);
  color: var(--ana-blue-950);
}

.site-header {
  background: rgba(247, 251, 255, .94);
  border-bottom: 1px solid rgba(39, 117, 182, .16);
  box-shadow: 0 10px 30px rgba(25, 47, 96, .06);
}

.site-logo {
  color: var(--ana-blue-900);
}

.logo-leaf {
  display: inline-block;
  position: relative;
  width: .72rem;
  height: .72rem;
  flex: 0 0 .72rem;
  background: linear-gradient(135deg, var(--ana-blue-500), var(--ana-blue-800));
  border-radius: 2px;
  clip-path: polygon(8% 42%, 100% 0, 66% 100%);
  box-shadow: 0 0 0 5px rgba(129, 199, 212, .18);
}

.logo-leaf::after {
  content: "";
  position: absolute;
  right: -.12rem;
  bottom: -.08rem;
  width: .22rem;
  height: .22rem;
  border-radius: 999px;
  background: var(--ana-gold);
}

.primary-menu a {
  color: var(--ana-ink-soft);
  font-family: var(--ed-font-ui);
  font-weight: 500;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
  color: var(--ana-blue-700);
}

.header-cta,
.btn-primary,
.btn-dark,
.btn-amber,
.element-copy-button,
.search-submit {
  background: linear-gradient(135deg, var(--ana-blue-700), var(--ana-blue-900));
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(39, 117, 182, .26);
  font-family: var(--ed-font-ui);
  font-weight: 500;
}

.header-cta:hover,
.btn-primary:hover,
.btn-dark:hover,
.btn-amber:hover,
.element-copy-button:hover,
.search-submit:hover {
  background: linear-gradient(135deg, var(--ana-blue-600), var(--ana-blue-800));
  color: #ffffff;
  transform: translateY(-1px);
}

.btn-outline-white,
.btn-outline-dark,
.btn-outline-primary {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .64);
  color: #ffffff;
}

.btn-outline-dark,
.btn-outline-primary {
  background: rgba(0, 91, 172, .06);
  border-color: rgba(0, 91, 172, .38);
  color: var(--ana-blue-900);
}

.btn-outline-white:hover,
.btn-outline-dark:hover,
.btn-outline-primary:hover {
  background: var(--ana-gold);
  border-color: var(--ana-gold);
  color: var(--ana-blue-950);
}

.hero,
.page-hero,
.category-hero,
.cta-section,
.editorial-section--dark {
  background:
    linear-gradient(135deg, rgba(25, 47, 96, .96), rgba(39, 117, 182, .9)),
    var(--ana-blue-950);
  color: #ffffff;
}

.hero::before,
.page-hero::before,
.category-hero::before,
.editorial-section--dark::before {
  background:
    radial-gradient(ellipse at 18% 18%, rgba(129, 199, 212, .32), transparent 44%),
    radial-gradient(ellipse at 84% 26%, rgba(255, 241, 207, .22), transparent 36%),
    linear-gradient(115deg, transparent 0 42%, rgba(255, 255, 255, .08) 42% 44%, transparent 44% 100%);
}

.hero-lead,
.page-hero p,
.category-hero p,
.cta-section p {
  color: rgba(255, 255, 255, .84);
}

.badge-pill,
.label-pill,
.editorial-kicker,
.blog-date {
  background: rgba(32, 167, 224, .13);
  border-color: rgba(129, 199, 212, .36);
  color: var(--ana-blue-900);
  font-weight: 800;
}

.hero .badge-pill,
.page-hero .badge-pill,
.category-hero .badge-pill,
.editorial-section--dark .editorial-kicker {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .22);
  color: rgba(255, 255, 255, .9);
}

.stats-card,
.value-card,
.section-card,
.testimonial-card,
.blog-card,
.entry-card,
.topic-card,
.people-card,
.submission-card,
.info-panel,
.notice-panel {
  background: var(--ed-card-solid);
  border-color: rgba(39, 117, 182, .16);
  box-shadow: var(--ed-soft-shadow);
}

.stats-card:hover,
.value-card:hover,
.section-card:hover,
.testimonial-card:hover,
.blog-card:hover,
.entry-card:hover,
.topic-card:hover,
.people-card:hover,
.submission-card:hover {
  border-color: rgba(39, 117, 182, .36);
  box-shadow: var(--ed-hover-shadow);
}

.stat-number,
.story-stat-num,
.editorial-stat strong {
  color: var(--ana-blue-800);
}

.stats-bar {
  background: linear-gradient(180deg, #244a78, var(--ana-blue-950));
}

.stats-bar .stat-item {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .16);
}

.stats-bar .stat-number {
  color: #ffffff;
  text-shadow: 0 10px 24px rgba(0, 20, 50, .3);
}

.stats-bar .stat-label {
  color: rgba(255, 255, 255, .8);
}

.activity-tag,
.tag-cloud-link,
.post-tags a {
  background: #ffffff;
  border-color: rgba(39, 117, 182, .2);
  color: var(--ana-blue-900);
}

.activity-tag:hover,
.tag-cloud-link:hover,
.post-tags a:hover {
  background: var(--ana-blue-700);
  border-color: var(--ana-blue-700);
  color: #ffffff;
}

.read-more,
.entry-title a:hover,
.blog-card h3 a:hover,
.footer-links a:hover,
.footer-contact-link:hover {
  color: var(--ana-blue-700);
}

.footer-main,
.site-footer {
  background: var(--ana-blue-950);
  color: var(--ed-footer-text);
}

.footer-bottom {
  background: #001632;
}

.scroll-top {
  background: var(--ana-blue-700);
  border-color: rgba(255, 255, 255, .2);
  color: #ffffff;
}

.scroll-top:hover {
  background: var(--ana-gold);
  color: var(--ana-blue-950);
}

.mobile-toggle {
  background: #ffffff;
  border-color: rgba(39, 117, 182, .22);
}

.mobile-toggle span {
  background: var(--ana-blue-900);
}

@media (max-width: 959px) {
  .primary-menu {
    background: #ffffff;
    border-color: rgba(0, 91, 172, .16);
    box-shadow: -18px 0 48px rgba(0, 47, 108, .16);
  }
}
