/*
Theme Name: Taulumi Child
Theme URI: https://taulumi.com
Description: Taulumi child theme of Kadence with custom header/footer
Author: Taulumi
Version: 1.2.0
Template: kadence
Text Domain: taulumi-child
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400;1,500&family=Noto+Sans+SC:wght@200;300;400;500&display=swap');

/* ═════════════════════════════════════════════════
   HEADER — Desktop
   ═════════════════════════════════════════════════ */
.tl-wrap { width:100%; box-sizing:border-box; font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif; -webkit-font-smoothing:antialiased; position:relative; background:#FDFCF9; border-bottom:1px solid #F0E8DC; }
.tl-wrap *, .tl-wrap *::before, .tl-wrap *::after { box-sizing:border-box; }
.tl-inner { width:100%; padding:0 52px; height:76px; display:flex; align-items:center; box-sizing:border-box; position:relative; }

.tl-burger { display:none; width:40px; height:40px; background:none; border:none; cursor:pointer; padding:0; flex-direction:column; align-items:center; justify-content:center; gap:5px; flex-shrink:0; -webkit-tap-highlight-color:transparent; }
.tl-burger span { display:block; width:20px; height:1px; background:#1C1814; border-radius:2px; transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s; }
.tl-burger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.tl-burger.open span:nth-child(2) { opacity:0; }
.tl-burger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

.tl-logo { display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; margin-right:auto; max-height:48px; overflow:hidden; }
.tl-logo img { height:32px !important; width:auto !important; max-width:32px !important; max-height:32px !important; object-fit:contain; display:block; flex-shrink:0; }
.tl-logo-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.tl-logo-name { font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:400; font-size:23px; letter-spacing:.08em; color:#1C1814; line-height:1; display:block; white-space:nowrap; }
.tl-logo-sub { font-size:8.5px; letter-spacing:.3em; text-transform:uppercase; color:#D4AA6A; font-weight:400; line-height:1; display:block; margin-left:1px; white-space:nowrap; }

.tl-nav { display:flex; align-items:center; gap:0; margin:0 auto; flex-direction:row; }
.tl-link { position:relative; font-size:12.5px; letter-spacing:.08em; color:#9A8E82; text-decoration:none; padding:6px 14px; display:flex; align-items:center; gap:5px; cursor:pointer; transition:color .2s; white-space:nowrap; user-select:none; font-weight:400; background:none; border:none; }
.tl-link::after { content:''; position:absolute; bottom:0; left:14px; right:14px; height:1px; background:#D4AA6A; transform:scaleX(0); transform-origin:center; transition:transform .25s ease; }
.tl-link:hover { color:#1C1814; }
.tl-link:hover::after { transform:scaleX(1); }
.tl-link-cta { color:#c09850; font-weight:500; margin-left:4px; }
.tl-link-cta:hover { color:#1C1814; }
.tl-cta-glyph { font-size:7px; opacity:.7; }

.tl-caret { transition:transform .2s; flex-shrink:0; }
.tl-drop { position:relative; }
.tl-drop:hover .tl-caret { transform:rotate(180deg); }
.tl-drop-panel { position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(-8px); width:320px; background:#FDFCF9; border:1px solid #E8E0D0; border-top:2px solid #D4AA6A; border-radius:0 0 14px 14px; box-shadow:0 2px 4px rgba(28,24,20,.04),0 20px 48px rgba(28,24,20,.1); padding:0 0 14px; opacity:0; visibility:hidden; transition:opacity .2s,transform .2s,visibility .2s; z-index:9999; }
.tl-drop:hover .tl-drop-panel { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.tl-drop-top { padding:12px 18px 10px; border-bottom:1px solid #F0E8DC; margin-bottom:10px; }
.tl-drop-label { font-size:9px; letter-spacing:.26em; text-transform:uppercase; color:#C8BFB0; }
.tl-drop-all { display:flex; align-items:center; justify-content:space-between; padding:8px 18px; font-size:12.5px; color:#5A5048; text-decoration:none; letter-spacing:.05em; transition:color .15s; margin-bottom:10px; }
.tl-drop-all:hover { color:#D4AA6A; }
.tl-drop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:0 14px; }
.tl-drop-el { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 6px; border-radius:8px; text-decoration:none; border:1px solid transparent; transition:all .18s; min-width:0; }
.tl-ei { font-size:16px; font-family:'Noto Sans SC',sans-serif; font-weight:300; line-height:1; }
.tl-en-name { font-size:10px; letter-spacing:.06em; font-weight:400; text-align:center; line-height:1.3; }
.tl-drop-el.wood { color:#2A5808; } .tl-drop-el.wood:hover { background:#E8F5D4; border-color:#A8CC6A; }
.tl-drop-el.fire { color:#8A2808; } .tl-drop-el.fire:hover { background:#FBE8DC; border-color:#E8A888; }
.tl-drop-el.earth { color:#785808; } .tl-drop-el.earth:hover { background:#FBF0D0; border-color:#E8C870; }
.tl-drop-el.metal { color:#484040; } .tl-drop-el.metal:hover { background:#F0EEE8; border-color:#C8C4B8; }
.tl-drop-el.water { color:#083878; } .tl-drop-el.water:hover { background:#D8EAF8; border-color:#88B8E8; }
.tl-drop-el.bundle { color:#7A6E62; } .tl-drop-el.bundle:hover { background:#F5F0E8; border-color:#DDD5C5; }

.tl-mobile-lang { display:none; }
.tl-mobile-secondary { display:none; }
.tl-nav-close { display:none; }

.tl-right { display:flex; align-items:center; gap:2px; margin-left:auto; flex-shrink:0; }

/* Desktop Language Dropdown */
.tl-lang-wrap { position:relative; margin-right:8px; }
.tl-lang-current { display:inline-flex; align-items:center; justify-content:center; gap:5px; height:32px; padding:0 12px; font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#9A8E82; border:1px solid #E8E0D0; border-radius:16px; background:transparent; cursor:pointer; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; line-height:1; transition:all .18s; }
.tl-lang-current:hover { color:#1C1814; border-color:#D4AA6A; background:rgba(212,170,106,.08); }
.tl-lang-current svg { transition:transform .2s; }
.tl-lang-wrap.open .tl-lang-current svg { transform:rotate(180deg); }
.tl-lang-menu { position:absolute; top:calc(100% + 6px); right:0; min-width:120px; background:#FDFCF9; border:1px solid #E8E0D0; border-radius:8px; box-shadow:0 8px 24px rgba(28,24,20,.1); padding:6px 0; opacity:0; visibility:hidden; transform:translateY(-4px); transition:all .18s; z-index:9999; }
.tl-lang-wrap.open .tl-lang-menu { opacity:1; visibility:visible; transform:translateY(0); }
.tl-lang-menu a { display:block; padding:9px 16px; font-size:12px; letter-spacing:.08em; color:#5A5048; text-decoration:none; transition:all .15s; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; }
.tl-lang-menu a:hover { background:rgba(212,170,106,.1); color:#1C1814; }
.tl-lang-menu a.current { color:#D4AA6A; pointer-events:none; }

.tl-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#9A8E82; background:none; border:none; cursor:pointer; text-decoration:none; transition:color .18s,background .18s; position:relative; flex-shrink:0; padding:0; -webkit-tap-highlight-color:transparent; }
.tl-icon:hover { color:#1C1814; background:rgba(212,170,106,.1); }
.tl-icon svg { width:17px; height:17px; display:block; flex-shrink:0; }
.tl-badge { position:absolute; top:3px; right:3px; background:#D4AA6A; color:#fff; font-size:8px; font-weight:600; min-width:13px; height:13px; border-radius:99px; display:flex; align-items:center; justify-content:center; padding:0 2px; line-height:1; }

.tl-search-bar { position:absolute; top:76px; left:0; right:0; background:#FDFCF9; border-top:1px solid #E8E0D0; border-bottom:1px solid #E8E0D0; max-height:0; overflow:hidden; transition:max-height .28s ease; z-index:9998; }
.tl-search-bar.open { max-height:60px; }
.tl-search-row { display:flex; align-items:center; gap:14px; padding:0 52px; height:56px; max-width:680px; margin:0 auto; }
.tl-search-row input { flex:1; background:none; border:none; outline:none; font-size:14px; color:#1C1814; font-family:inherit; letter-spacing:.04em; min-width:0; font-weight:300; }
.tl-search-row input::placeholder { color:#C8BFB0; }
.tl-search-x { background:none; border:none; color:#C8BFB0; cursor:pointer; padding:5px; border-radius:50%; transition:all .15s; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tl-search-x:hover { color:#1C1814; background:rgba(212,170,106,.1); }

.tl-overlay { display:none; position:fixed; inset:0; background:rgba(28,24,20,.45); z-index:9996; opacity:0; transition:opacity .3s ease; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.tl-overlay.open { display:block; opacity:1; }

/* ═════════════════════════════════════════════════
   TABLET (≤960px)
   ═════════════════════════════════════════════════ */
@media (max-width:960px) {
  .tl-inner { padding:0 24px; height:64px; }
  .tl-logo img { height:28px !important; max-width:28px !important; max-height:28px !important; }
  .tl-logo-name { font-size:21px; }
  .tl-logo-sub { font-size:8px; }
  .tl-link { padding:6px 10px; font-size:12px; }
  .tl-search-row { padding:0 24px; }
  .tl-search-bar { top:64px; }
}

/* ═════════════════════════════════════════════════
   MOBILE (≤768px) — 精致重做
   ═════════════════════════════════════════════════ */
@media (max-width:768px) {
  .tl-inner { padding:0 14px; height:54px; justify-content:space-between; }

  /* Burger */
  .tl-burger { display:flex; width:36px; height:36px; }
  .tl-burger span { width:18px; }

  /* Logo 居中 */
  .tl-logo { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; gap:7px; max-height:36px; }
  .tl-logo img { height:22px !important; max-width:22px !important; max-height:22px !important; }
  .tl-logo-text { gap:1px; }
  .tl-logo-name { font-size:16px; letter-spacing:.06em; }
  .tl-logo-sub { display:none; }

  /* ─── 抽屉:精致重做 ─── */
  .tl-nav {
    position:fixed; top:0; left:0; bottom:0;
    width:86%; max-width:340px;
    background:#FDFCF9;
    flex-direction:column; align-items:stretch; justify-content:flex-start;
    margin:0; padding:0;
    transform:translateX(-100%);
    transition:transform .35s cubic-bezier(.4,0,.2,1);
    z-index:9997;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    box-shadow:1px 0 0 rgba(232,224,208,.6),12px 0 40px rgba(28,24,20,.06);
    height:100vh; height:100dvh;
    gap:0;
  }
  .tl-nav.open { transform:translateX(0); }

  /* 抽屉内所有 absolute / fixed 子元素的 reset */
  .tl-nav .tl-drop,
  .tl-nav .tl-drop-panel,
  .tl-nav .tl-link {
    position:relative;
    width:100%;
    max-width:100%;
  }

  /* 抽屉顶部留白(为关闭按钮让出空间) */
  .tl-nav::before {
    content:'';
    display:block;
    height:54px;
    flex-shrink:0;
  }

  /* X 关闭按钮 — 极简精致 */
  .tl-nav-close {
    display:flex; position:absolute; top:9px; right:11px;
    width:36px; height:36px;
    background:none; border:none; cursor:pointer; color:#9A8E82;
    align-items:center; justify-content:center; border-radius:50%;
    padding:0; z-index:10;
    transition:color .2s,background .2s;
    -webkit-tap-highlight-color:transparent;
  }
  .tl-nav-close:hover, .tl-nav-close:active { color:#1C1814; background:rgba(212,170,106,.08); }
  .tl-nav-close svg { width:18px; height:18px; }

  /* 主导航链接 */
  .tl-nav .tl-link {
    padding:18px 28px;
    font-size:14px;
    font-weight:400;
    letter-spacing:.04em;
    color:#1C1814;
    border:none;
    width:100%;
    justify-content:flex-start;
    gap:0;
    background:none;
  }
  .tl-nav .tl-link::after { display:none; }
  .tl-nav .tl-link + .tl-link,
  .tl-nav .tl-drop + .tl-link,
  .tl-nav .tl-link + .tl-drop {
    border-top:1px solid #F4EDE0;
  }

  /* CTA 链接 — 金色突出 */
  .tl-link-cta {
    color:#C09850 !important;
    margin-left:0;
    font-weight:500;
  }
  .tl-link-cta .tl-cta-glyph { color:#D4AA6A; margin-right:3px; }

  /* 水晶商城 trigger */
  .tl-drop {
    width:100%;
    border-top:1px solid #F4EDE0;
  }
  .tl-drop-trigger {
    padding:18px 28px;
    font-size:14px;
    font-weight:400;
    letter-spacing:.04em;
    color:#1C1814;
    border:none;
    width:100%;
    justify-content:space-between;
    cursor:default;
  }
  .tl-drop-trigger .tl-caret { transform:rotate(180deg); opacity:.4; }

  /* Crystal Shop panel — 极简,无背景色 */
  .tl-drop-panel {
    position:static;
    transform:none;
    width:100%;
    max-width:100%;
    opacity:1;
    visibility:visible;
    background:none;
    border:none;
    border-top:1px solid #F4EDE0;
    border-radius:0;
    box-shadow:none;
    padding:6px 0 18px;
    z-index:auto;
  }
  .tl-drop-top { display:none; }

  /* All Products 链接 */
  .tl-drop-all {
    padding:12px 28px;
    margin:0 0 4px 0;
    font-size:12px;
    color:#9A8E82;
    letter-spacing:.04em;
  }
  .tl-drop-all svg { opacity:.5; }

  /* 五行网格 — 紧凑精致 */
  .tl-drop-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    padding:0 20px;
  }
  .tl-drop-el {
    padding:14px 4px 12px;
    gap:6px;
    border:1px solid #F4EDE0;
    border-radius:10px;
    min-width:0;
    background:#FDFCF9;
  }
  .tl-drop-el .tl-ei {
    font-size:18px;
    font-weight:300;
  }
  .tl-drop-el .tl-en-name {
    font-size:9px;
    letter-spacing:.04em;
    line-height:1.3;
    text-align:center;
    word-break:keep-all;
    overflow-wrap:break-word;
  }

  /* 次级操作 — 搜索/账号 */
  .tl-mobile-secondary {
    display:flex;
    flex-direction:column;
    padding:0;
    margin-top:8px;
    border-top:1px solid #F4EDE0;
  }
  .tl-mobile-secondary a {
    padding:16px 28px;
    font-size:13px;
    color:#5A5048;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:14px;
    transition:color .15s,background .15s;
    letter-spacing:.04em;
    border-bottom:1px solid #F4EDE0;
  }
  .tl-mobile-secondary a:last-child { border-bottom:none; }
  .tl-mobile-secondary a:hover, .tl-mobile-secondary a:active {
    color:#D4AA6A;
    background:rgba(212,170,106,.04);
  }
  .tl-mobile-secondary svg {
    width:15px;
    height:15px;
    flex-shrink:0;
    opacity:.7;
  }

  /* 抽屉底部语言切换 */
  .tl-mobile-lang {
    display:flex;
    gap:0;
    padding:20px 28px 28px;
    margin-top:auto;
    border-top:1px solid #F4EDE0;
    background:#FAF6EE;
  }
  .tl-mobile-lang-btn {
    flex:1;
    text-align:center;
    padding:11px 12px;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#9A8E82;
    text-decoration:none;
    border:1px solid #E8E0D0;
    background:transparent;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-style:italic;
    transition:all .2s;
  }
  .tl-mobile-lang-btn:first-child { border-radius:6px 0 0 6px; border-right:none; }
  .tl-mobile-lang-btn:last-child { border-radius:0 6px 6px 0; }
  .tl-mobile-lang-btn.active {
    color:#FDFCF9;
    border-color:#D4AA6A;
    background:#D4AA6A;
  }

  /* 桌面元素隐藏 */
  .tl-lang-wrap { display:none; }
  .tl-icon-account { display:none; }
  .tl-icon-search-desktop { display:none; }

  /* 右侧只剩购物车 */
  .tl-right { gap:0; margin-left:0; }
  .tl-icon { width:38px; height:38px; }
  .tl-icon svg { width:17px; height:17px; }

  .tl-search-bar { top:54px; }
  .tl-search-row { padding:0 16px; height:50px; }

  /* 防止抽屉打开时背景元素被穿透点击 */
  .tl-overlay.open { backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
}

/* 极小屏 */
@media (max-width:380px) {
  .tl-inner { padding:0 10px; }
  .tl-logo-name { font-size:15px; }
}


/* ═════════════════════════════════════════════════
   FOOTER
   ═════════════════════════════════════════════════ */
.tlf-wrap { width:100%; background:#2A2420; font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif; -webkit-font-smoothing:antialiased; box-sizing:border-box; color:#E8E0D4; overflow-x:hidden; }
.tlf-wrap *, .tlf-wrap *::before, .tlf-wrap *::after { box-sizing:border-box; }
.tlf-top { max-width:1380px; margin:0 auto; padding:56px 52px 48px; display:grid; grid-template-columns:2fr 1fr 1fr 1.6fr; gap:52px; }
.tlf-col { min-width:0; }
.tlf-logo { display:flex; align-items:center; gap:12px; text-decoration:none; margin-bottom:20px; max-height:44px; overflow:hidden; }
.tlf-logo img { filter:brightness(0) invert(1); height:30px !important; width:auto !important; max-width:30px !important; max-height:30px !important; object-fit:contain; display:block; flex-shrink:0; }
.tlf-logo-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.tlf-logo-name { font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:400; font-size:21px; letter-spacing:.08em; color:#F5F0E8; line-height:1; white-space:nowrap; }
.tlf-logo-sub { font-size:8px; letter-spacing:.28em; text-transform:uppercase; color:#D4AA6A; font-weight:400; line-height:1; white-space:nowrap; }
.tlf-desc { font-size:13px; line-height:2; color:#C0B0A0; font-weight:300; margin:0 0 20px; }
.tlf-five { display:flex; gap:5px; margin-bottom:22px; flex-wrap:wrap; }
.tlf-elem { font-size:10px; padding:3px 10px; border-radius:99px; font-weight:500; letter-spacing:.06em; display:inline-block; }
.tlf-elem.wood { background:#E8F5D4; color:#2A5808; }
.tlf-elem.fire { background:#FBE8DC; color:#8A2808; }
.tlf-elem.earth { background:#FBF0D0; color:#785808; }
.tlf-elem.metal { background:#F0EEE8; color:#484040; }
.tlf-elem.water { background:#D8EAF8; color:#083878; }
.tlf-socials { display:flex; gap:8px; }
.tlf-social { width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1.5px solid #8A7868; border-radius:50%; text-decoration:none; background:transparent; transition:all .2s; flex-shrink:0; color:#D4C0A0; }
.tlf-social:hover { border-color:#D4AA6A; background:rgba(212,170,106,.12); }
.tlf-heading { font-size:13px; font-weight:500; letter-spacing:.18em; color:#F0E8D8; margin:0 0 22px; padding:0; display:flex; align-items:center; gap:10px; text-transform:uppercase; }
.tlf-heading::before { content:''; width:3px; height:14px; background:#D4AA6A; border-radius:2px; display:block; flex-shrink:0; }
.tlf-links { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
.tlf-links li { list-style:none; padding:0; margin:0; }
.tlf-links li::before, .tlf-links li::marker { content:none; display:none; }
.tlf-links li a { font-size:13px; font-weight:300; color:#C0B0A0; text-decoration:none; letter-spacing:.04em; transition:color .18s; display:flex; align-items:center; gap:9px; }
.tlf-links li a::before { content:''; width:3px; height:3px; border-radius:50%; background:#7A6E62; flex-shrink:0; transition:background .18s; display:block; }
.tlf-links li a:hover { color:#F0E8D8; }
.tlf-links li a:hover::before { background:#D4AA6A; }
.tlf-nl-desc { font-size:13px; font-weight:300; color:#C0B0A0; line-height:1.85; margin:0 0 16px; }
.tlf-nl-form { display:flex; border:1.5px solid #6A5E52; border-radius:6px; overflow:hidden; background:rgba(255,255,255,.05); transition:border-color .2s; margin-bottom:10px; }
.tlf-nl-form:focus-within { border-color:#D4AA6A; }
.tlf-nl-form input { flex:1; background:none; border:none; outline:none; padding:11px 14px; font-size:13px; font-weight:300; color:#E8E0D4; font-family:inherit; min-width:0; }
.tlf-nl-form input::placeholder { color:#7A6E62; }
.tlf-nl-form button { background:rgba(212,170,106,.2); border:none; border-left:1.5px solid #6A5E52; padding:11px 18px; font-size:12px; font-weight:500; letter-spacing:.1em; color:#D4AA6A; font-family:inherit; cursor:pointer; transition:all .18s; white-space:nowrap; }
.tlf-nl-form button:hover { background:#D4AA6A; color:#1C1814; }
.tlf-nl-note { font-size:12px; color:#D4AA6A; letter-spacing:.08em; margin:0 0 10px; }
.tlf-nl-privacy { font-size:11px; color:#7A6E62; line-height:1.6; margin:0; }
.tlf-nl-privacy a { color:#C0A880; text-decoration:underline; text-underline-offset:2px; }
.tlf-nl-privacy a:hover { color:#D4AA6A; }
.tlf-rule { max-width:1380px; margin:0 auto; padding:0 52px; }
.tlf-rule::before { content:''; display:block; height:1px; background:linear-gradient(to right,transparent,#5A5048 20%,#5A5048 80%,transparent); }
.tlf-bottom { max-width:1380px; margin:0 auto; padding:20px 52px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.tlf-copy { font-size:12px; color:#907868; font-weight:300; letter-spacing:.04em; margin:0; }
.tlf-copy strong { color:#C0A880; font-weight:400; }
.tlf-dot { color:#5A5048; margin:0 6px; }
.tlf-legal { display:flex; align-items:center; }
.tlf-legal a { font-size:12px; color:#907868; text-decoration:none; letter-spacing:.04em; transition:color .15s; }
.tlf-legal a:hover { color:#C0B0A0; }
.tlf-pay { display:flex; gap:5px; align-items:center; }
.tlf-pay-icon { height:20px; padding:0 7px; background:rgba(255,255,255,.07); border:1px solid #3A3028; border-radius:3px; font-size:9px; font-weight:600; color:#907868; display:flex; align-items:center; letter-spacing:.04em; }

.tlf-lang-row { max-width:1380px; margin:0 auto; padding:14px 52px; display:flex; justify-content:flex-end; }
.tlf-lang-wrap { position:relative; }
.tlf-lang-current { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; font-size:11px; letter-spacing:.1em; color:#D4C0A0; background:transparent; border:1px solid #5A5048; border-radius:6px; cursor:pointer; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; transition:all .18s; }
.tlf-lang-current:hover { border-color:#D4AA6A; color:#F0E8D8; }
.tlf-lang-current svg { transition:transform .2s; }
.tlf-lang-wrap.open .tlf-lang-current svg { transform:rotate(180deg); }
.tlf-lang-menu { position:absolute; bottom:calc(100% + 6px); right:0; min-width:120px; background:#3A3028; border:1px solid #5A5048; border-radius:6px; box-shadow:0 -8px 24px rgba(0,0,0,.2); padding:6px 0; opacity:0; visibility:hidden; transform:translateY(4px); transition:all .18s; z-index:100; }
.tlf-lang-wrap.open .tlf-lang-menu { opacity:1; visibility:visible; transform:translateY(0); }
.tlf-lang-menu a { display:block; padding:9px 16px; font-size:12px; color:#C0B0A0; text-decoration:none; transition:all .15s; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; }
.tlf-lang-menu a:hover { background:rgba(212,170,106,.1); color:#F0E8D8; }
.tlf-lang-menu a.current { color:#D4AA6A; pointer-events:none; }

@media (max-width:960px) {
  .tlf-top { grid-template-columns:1fr 1fr; gap:40px; padding:48px 32px 40px; }
  .tlf-brand { grid-column:1/-1; }
  .tlf-nl-col { grid-column:1/-1; }
  /* 水晶商城 + 服务 强制保持同行两列 */
  .tlf-top .tlf-col:nth-child(2),
  .tlf-top .tlf-col:nth-child(3) { grid-column: span 1; }
  .tlf-rule { padding:0 32px; }
  .tlf-bottom { padding:18px 32px 22px; gap:14px; }
  .tlf-lang-row { padding:14px 32px; }
}

@media (max-width:560px) {
  .tlf-top { grid-template-columns:1fr 1fr; padding:36px 20px 28px; gap:28px 20px; }
  .tlf-brand { grid-column:1/-1; }
  .tlf-nl-col { grid-column:1/-1; }
  .tlf-top .tlf-col:nth-child(2),
  .tlf-top .tlf-col:nth-child(3) { grid-column: span 1; }
}