/* AB Global / alphabetical tariff reference and its letter pages. */
.ab-fihrist-page { color: var(--ab-ink); background: var(--ab-surface); }
.ab-fihrist-main { padding-block: 152px 72px; }
.ab-fihrist-main :is(h1,h2,h3,h4,p) { margin: 0; }
.ab-fihrist-heading { margin-bottom: 30px; }
.ab-fihrist-eyebrow { color: var(--ab-muted); font-size: 10px; line-height: 1.6; letter-spacing: .14em; }
.ab-fihrist-main .ab-fihrist-title { max-width: 980px; margin-top: 8px; color: var(--ab-brand); font-size: clamp(28px,3vw,38px); font-weight: 500; line-height: 1.25; letter-spacing: -.035em; overflow-wrap: anywhere; }
.ab-fihrist-main .ab-fihrist-intro { max-width: 700px; margin-top: 12px; color: var(--ab-muted); font-size: 13px; line-height: 1.8; }
.ab-fihrist-related { display: inline-flex; flex: none; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding: 10px 0; color: var(--ab-brand); font-size: 12px; line-height: 1.8; text-decoration: none; text-underline-offset: 4px; }
.ab-fihrist-related svg { flex: none; width: 14px; height: 14px; transition: transform var(--ab-motion) var(--ab-ease); }
.gtip-glossary-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.gtip-glossary-heading > div { min-width: 0; }
.gtip-letter-navigation { position: sticky; z-index: 8; top: 96px; padding-block: 16px 8px; border-block: 1px solid var(--ab-border); background: var(--ab-surface); }
.gtip-letter-navigation__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.gtip-letter-navigation__heading h2 { color: var(--ab-ink); font-size: 12px; font-weight: 500; line-height: 1.8; }
.gtip-letter-navigation__heading > span { color: var(--ab-muted); font-size: 10px; line-height: 1.8; }
.gtip-letter-nav { display: flex; gap: 3px; align-items: center; overflow-x: auto; padding: 3px 3px 8px; scrollbar-width: thin; scrollbar-color: #c9bfd4 transparent; }
.gtip-letter-nav a { position: relative; display: inline-flex; flex: 1 0 38px; align-items: center; justify-content: center; min-height: 44px; padding: 8px 4px; border-radius: 3px; color: var(--ab-brand); font-size: 12px; font-weight: 500; line-height: 1.6; white-space: nowrap; text-decoration: none; transition: background-color var(--ab-motion); }
.gtip-letter-nav a[aria-current="location"] { background: var(--ab-brand-soft); }
.gtip-letter-nav a[aria-current="location"]::after { content: ''; position: absolute; right: 12px; bottom: 2px; left: 12px; height: 2px; background: var(--ab-accent); }
.gtip-glossary-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 56px; margin-top: 24px; }
.gtip-glossary-column { min-width: 0; }
.gtip-glossary-row { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 18px; align-items: start; border-bottom: 1px solid var(--ab-border); }
body.ab-fihrist-page .gtip-glossary-row[id] { scroll-margin-top: 228px; }
.gtip-glossary-column > .gtip-glossary-row:first-child { border-top: 1px solid var(--ab-border); }
.ab-fihrist-main .gtip-glossary-letter { padding-top: 19px; color: var(--ab-brand); font-size: 27px; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; white-space: nowrap; }
.gtip-glossary-row:target .gtip-glossary-letter { color: var(--ab-accent-text); }
body.ab-fihrist-page .gtip-glossary-row:focus-visible { outline: none !important; box-shadow: none !important; }
.gtip-glossary-row:focus-visible .gtip-glossary-letter { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.gtip-glossary-items { min-width: 0; }
.gtip-glossary-item { display: grid; grid-template-columns: minmax(0,1fr) 16px; align-items: center; gap: 18px; min-height: 76px; padding-block: 18px; border-bottom: 1px solid var(--ab-border); color: var(--ab-ink); text-decoration: none; }
.gtip-glossary-item:last-child { border-bottom: 0; }
.gtip-glossary-item h3 { color: inherit; font-size: 13px; font-weight: 400; line-height: 1.85; overflow-wrap: anywhere; }
.gtip-glossary-arrow { display: flex; align-items: center; justify-content: center; color: var(--ab-brand); transition: transform var(--ab-motion) var(--ab-ease); }
.gtip-glossary-arrow svg { width: 14px; height: 14px; }
.gtip-glossary-empty { padding-block: 32px; border-top: 1px solid var(--ab-border); }
.gtip-glossary-empty h2 { color: var(--ab-brand); font-size: 20px; font-weight: 500; line-height: 1.5; }
.ab-fihrist-main .gtip-glossary-empty p { margin-top: 12px; color: var(--ab-muted); font-size: 13px; line-height: 1.8; }
@media (hover:hover) {
  .gtip-letter-nav a:hover { background: var(--ab-brand-soft); }
  .gtip-glossary-item:hover { color: var(--ab-brand); }
  .gtip-glossary-item:hover .gtip-glossary-arrow,.ab-fihrist-related:hover svg { transform: translateX(3px); }
  .ab-fihrist-related:hover { text-decoration: underline; }
}
@media (max-width:1080px) {
  .ab-fihrist-main { padding-block: 132px 56px; }
  .gtip-glossary-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .gtip-glossary-list { column-gap: 32px; }
  .gtip-glossary-row { grid-template-columns: 44px minmax(0,1fr); gap: 12px; }
  .gtip-letter-nav a { flex: 0 0 44px; }
}
@media (max-width:700px) {
  .gtip-glossary-list { grid-template-columns: minmax(0,1fr); gap: 0; margin-top: 20px; }
  .gtip-glossary-column + .gtip-glossary-column > .gtip-glossary-row:first-child { border-top: 0; }
}
@media (max-width:600px) {
  .ab-fihrist-main { padding-block: 116px 44px; }
  .ab-fihrist-heading { margin-bottom: 24px; }
  .ab-fihrist-main .ab-fihrist-title { font-size: 30px; }
  .ab-fihrist-main .ab-fihrist-intro { margin-top: 10px; font-size: 12px; }
  .gtip-glossary-heading { gap: 8px; }
  .gtip-letter-navigation { top: 82px; padding-top: 12px; }
  .gtip-letter-nav { gap: 2px; }
  .gtip-letter-nav a { flex-basis: 44px; }
  body.ab-fihrist-page .gtip-glossary-row[id] { scroll-margin-top: 214px; }
  .gtip-glossary-row { grid-template-columns: 42px minmax(0,1fr); gap: 16px; }
  .ab-fihrist-main .gtip-glossary-letter { padding-top: 19px; font-size: 26px; }
  .gtip-glossary-item { gap: 14px; min-height: 80px; padding-block: 18px; }
  .gtip-glossary-item h3 { font-size: 12px; line-height: 1.9; }
}
@media (prefers-reduced-motion:reduce) {
  .gtip-letter-nav a,.gtip-glossary-arrow,.ab-fihrist-related svg { transition: none; }
}
@media print {
  .ab-fihrist-main { padding: 0; }
  .gtip-letter-navigation,.ab-fihrist-related { display: none; }
  .gtip-glossary-row { break-inside: avoid; }
}
