/* Shared Free Tools navigation and support. Loaded after each tool's styles. */
.free-tools-page main { padding-top:calc(var(--ux-hdr,80px) + 24px); }
.free-tools-page .ft-toolbar {
  position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between;
  gap:16px; width:min(1180px,100% - 48px); margin:0 auto; padding:0 0 20px;
  border-bottom:1px solid rgba(214,174,103,.18);
}
.free-tools-page .ft-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; min-width:0; font-size:12px; line-height:1.6; }
.free-tools-page .ft-breadcrumb a { color:#bbb4a8; text-decoration:none; display:inline-flex; align-items:center; min-height:44px; }
.free-tools-page .ft-breadcrumb a:hover { color:#f0d7a1; text-decoration:underline; text-underline-offset:4px; }
.ft-breadcrumb > span[aria-hidden] { color:#76684e; }
.ft-current { color:#f0d7a1; }
.ft-toolbar-actions { display:flex; gap:10px; align-items:center; flex-shrink:0; }
.ft-switcher { position:relative; }
.free-tools-page .ft-switcher > summary {
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px;
  min-height:44px; padding:10px 16px; border:1px solid #514634; border-radius:8px;
  color:#f3eadb; background:#171510; font-size:13px; font-weight:600; line-height:1.4;
}
.ft-switcher > summary::-webkit-details-marker { display:none; }
.ft-switcher[open] > summary .nav-caret { transform:translateY(1px) rotate(-135deg); }
.ft-tool-menu {
  position:absolute; right:0; top:calc(100% + 10px); width:560px; max-width:calc(100vw - 48px);
  padding:10px; border:1px solid #514634; border-radius:14px; background:#11110f;
  box-shadow:0 18px 60px #0009; display:grid; grid-template-columns:1fr 1fr; gap:4px;
}
.free-tools-page .ft-tool-menu a {
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px;
  border:1px solid transparent; border-radius:8px; text-decoration:none; color:#e8e2d8; min-width:0;
}
.ft-tool-menu b { display:block; font-size:13px; line-height:1.4; font-weight:600; }
.ft-tool-menu small { display:block; font-size:11px; color:#aaa498; line-height:1.6; margin-top:3px; }
.ft-link-arrow { color:#d6ae67; font-size:16px; }
.free-tools-page .ft-tool-menu a:hover { background:#242017; border-color:#625035; }
.free-tools-page .ft-tool-menu a[aria-current] { background:#292318; border-color:#76603c; color:#f0d7a1; }
.ft-tool-menu a[aria-current] .ft-link-arrow { font-size:0; }
.ft-tool-menu a[aria-current] .ft-link-arrow::after { content:'✓'; font-size:15px; }
.free-tools-page .ft-support-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px; color:#c4bcaf; font-size:12px; text-decoration:none; }
.ft-support-link svg { width:18px; height:18px; flex:none; }
.free-tools-page .ft-support-link:hover { color:#f0d7a1; }
.free-tools-page .ft-toolbar + section,
.free-tools-page .ft-toolbar + .section,
.free-tools-page .ft-toolbar + .avc-section { padding-top:36px; }
.free-tools-page .ft-toolbar + .gl-wrap { padding-top:36px; }
.free-tools-page .gl-hero { padding-top:12px; }
.free-tools-page .gl-edition { position:static; margin:0 0 16px; }
/* Keep form labels readable and targets clear of the fixed site header. */
.free-tools-page main [id] { scroll-margin-top:calc(var(--ux-hdr,80px) + 24px); }
.free-tools-page .tk-jump { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* One compact support column on every tool, regardless of its page template. */
.coffee-mount { width:min(320px,100% - 48px); max-width:320px; margin:24px auto 48px; }
.container .coffee-mount, .tk-article .coffee-mount, .gl-wrap .coffee-mount { width:100%; max-width:320px; margin:36px auto; }
.free-tools-page .coffee-card {
  position:relative; display:flex; flex-direction:column; align-items:stretch;
  gap:16px; width:100%; padding:24px; border:1px solid #4a3e2b; border-radius:12px;
  background:linear-gradient(150deg,#1c1913,#12120f);
}
.coffee-card-header { display:flex; align-items:center; gap:9px; }
.coffee-mark { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; flex:0 0 20px; color:#d8bb85; }
.coffee-mark svg { width:18px; height:18px; }
.free-tools-page .coffee-card .coffee-eyebrow { margin:0; color:#bfa477; font-size:10px; letter-spacing:.1em; font-weight:600; line-height:1.5; }
.free-tools-page .coffee-card .coffee-card-h { margin:0 0 10px; font-size:18px; letter-spacing:-.02em; font-weight:600; line-height:1.4; color:#f8f4ee; text-wrap:balance; }
.free-tools-page .coffee-card .coffee-card-p { margin:0; color:#c5bdaf; font-size:13px; line-height:1.75; }
.coffee-action { display:flex; flex-direction:column; align-items:stretch; gap:10px; padding-top:2px; }
.free-tools-page .coffee-card a.coffee-card-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:44px; padding:11px 14px;
  border:1px solid #ebd099; border-radius:7px; background:#ebd099; color:#17140a;
  font-size:13px; line-height:1.4; font-weight:600; text-decoration:none; white-space:nowrap;
  transition:background .16s ease,border-color .16s ease;
}
.coffee-card-btn svg { width:18px; height:18px; flex:none; }
.free-tools-page .coffee-card a.coffee-card-btn:hover { background:#f3dfb5; border-color:#f3dfb5; color:#17140a; }
.free-tools-page .coffee-card .coffee-note { margin:0; font-size:10px; line-height:1.6; color:#b5ad9e; text-align:center; }
.free-tools-page :is(.ft-toolbar,.coffee-card) :is(a,summary):focus-visible { outline:2px solid #f0d7a1; outline-offset:4px; }
.ft-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
:lang(zh) .coffee-card-p { line-height:1.85; }
@media (max-width:1000px) {
  .free-tools-page .tk-jump { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .free-tools-page .ft-toolbar { flex-wrap:wrap; gap:8px; padding-bottom:16px; }
  .ft-breadcrumb { flex-basis:100%; }
  .ft-toolbar-actions { width:100%; justify-content:space-between; }
  .ft-switcher { position:static; }
  .ft-tool-menu { top:100%; left:0; right:0; width:100%; max-width:none; grid-template-columns:1fr; max-height:60vh; max-height:60dvh; overflow-y:auto; overscroll-behavior:contain; }
  .free-tools-page .ft-tool-menu a { padding:12px; }
  .ft-tool-menu small { font-size:12px; }
  .free-tools-page .ft-toolbar + section,.free-tools-page .ft-toolbar + .section,.free-tools-page .ft-toolbar + .avc-section,.free-tools-page .ft-toolbar + .gl-wrap { padding-top:28px; }
}
@media (max-width:420px) { .free-tools-page .tk-jump { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .coffee-card-btn { transition:none!important; } .coffee-card-btn:hover { transform:none!important; } }
@media print { .ft-toolbar,.coffee-mount { display:none!important; } .free-tools-page main { padding-top:0; } }
