
.buildpress-gjc-footer {
  --ai-ink: var(--e-global-color-primary, #050505);
  --ai-text: var(--e-global-color-text, #333333);
  --ai-accent: var(--e-global-color-accent, #e3185c);
  --ai-accent-dk: var(--e-global-color-tonepinkdk, #c10b45);
  --ai-paper: var(--e-global-color-900224d, #ffffff);
  --ai-soft: color-mix(in srgb, var(--ai-paper) 95%, var(--ai-ink));
  --ai-line: color-mix(in srgb, var(--ai-ink) 12%, transparent);
  --ai-muted: color-mix(in srgb, var(--ai-text) 72%, var(--ai-paper));
  --ai-green: var(--e-global-color-tonegreen, #1fae9c);
  --ai-green-dk: var(--e-global-color-tonegreendk, #0f766e);
  --ai-gold: var(--e-global-color-tonegold, #e69a2e);
  --ai-gold-dk: var(--e-global-color-tonegolddk, #b45309);
  --ai-coral: var(--e-global-color-tonecoral, #f0456e);
  --ai-coral-dk: var(--e-global-color-tonecoraldk, #be123c);
  --ai-cyan: var(--e-global-color-tonecyan, #2bb7d0);
  --ai-violet: var(--e-global-color-toneviolet, #a07bff);
  --ai-fs: var(--e-global-typography-text-font-size, 1rem);
  --ai-fs-sm: calc(var(--ai-fs) * 0.875);
  --ai-fs-xs: calc(var(--ai-fs) * 0.75);
  --ai-fs-title: var(--gjc-home-type-section, 3.125rem);
  --ai-font: var(--e-global-typography-text-font-family, sans-serif);
  --ai-font-ui: var(--e-global-typography-accent-font-family, sans-serif);
  --ai-font-display: var(--e-global-typography-primary-font-family, serif);
  position: relative;
  padding: 6.5rem 1.5rem;
  color: var(--ai-ink);
  background: var(--ai-paper);
  font-family: var(--ai-font);
}
.buildpress-gjc-footer .buildpress-gjc-footer__inner { position: relative; width: min(100%, 75rem); margin-inline: auto; }
.buildpress-gjc-footer .buildpress-gjc-footer__eyebrow {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  margin: 0 0 1rem;
  padding: 0.4rem 0.8rem;
  color: var(--ai-accent-dk);
  background: color-mix(in srgb, var(--ai-accent) 9%, var(--ai-paper));
  border-radius: 999px;
  font-family: var(--ai-font-ui);
  font-size: var(--ai-fs-xs);
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.buildpress-gjc-footer .buildpress-gjc-footer__eyebrow::before { width: 0.4rem; height: 0.4rem; content: ""; background: currentColor; border-radius: 50%; }
.buildpress-gjc-footer .buildpress-gjc-footer__title {
  max-width: 20ch;
  margin: 0;
  color: var(--ai-ink);
  font-family: var(--ai-font-display);
  font-size: var(--ai-fs-title);
  font-weight: var(--e-global-typography-primary-font-weight, 700);
  line-height: 1.08;
  text-wrap: balance;
}
.buildpress-gjc-footer .buildpress-gjc-footer__lead {
  max-width: 56ch;
  margin: 1.25rem 0 0;
  color: var(--ai-text);
  font-size: calc(var(--ai-fs) * 1.0625);
  line-height: 1.65;
}
@media (max-width: 767px) {
  .buildpress-gjc-footer { padding: 4.5rem 1rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__title { font-size: calc(var(--ai-fs-title) * 0.7); }
  .buildpress-gjc-footer .buildpress-gjc-footer__lead { font-size: var(--ai-fs); }
}

.buildpress-gjc-footer {
  --gjc-footer-surface: var(--ai-paper); --gjc-footer-ink: var(--ai-ink); --gjc-footer-accent: var(--ai-accent);
  --gjc-footer-muted: color-mix(in srgb, var(--ai-ink) 62%, transparent); --gjc-footer-faint: color-mix(in srgb, var(--ai-ink) 13%, transparent);
  padding: 3.5rem 1.5rem 1.75rem; color: var(--ai-ink); background: var(--ai-paper);
}
.buildpress-gjc-footer .buildpress-gjc-footer__inner { width: min(100%, 78rem); margin-inline: auto; }
.buildpress-gjc-footer .buildpress-gjc-footer__top { display: flex; flex-wrap: wrap; gap: 2rem 4rem; align-items: flex-start; justify-content: space-between; }
.buildpress-gjc-footer .buildpress-gjc-footer__brand { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.25rem 1.25rem; align-items: start; max-width: 34rem; }
.buildpress-gjc-footer .buildpress-gjc-footer__logo { display: block; grid-row: span 2; width: 3rem; height: 3rem; line-height: 0; }
.buildpress-gjc-footer .buildpress-gjc-footer__mark { display: block; width: 100%; height: 100%; }
.buildpress-gjc-footer .buildpress-gjc-footer__mark-bg { fill: var(--ai-accent); }
.buildpress-gjc-footer .buildpress-gjc-footer__mark-g { fill: var(--ai-paper); }
.buildpress-gjc-footer .buildpress-gjc-footer__about { max-width: 46ch; margin: 0; color: var(--ai-muted); font-size: var(--ai-fs-sm); line-height: 1.7; text-wrap: pretty; }
.buildpress-gjc-footer .buildpress-gjc-footer__address { grid-column: 2; margin: 0; color: var(--ai-muted); font-size: var(--ai-fs-xs); line-height: 1.6; }
.buildpress-gjc-footer .buildpress-gjc-footer__nav { padding-top: 0.2rem; }
.buildpress-gjc-footer .buildpress-gjc-footer__links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.75rem; margin: 0; padding: 0; list-style: none; }
.buildpress-gjc-footer .buildpress-gjc-footer__links li, .buildpress-gjc-footer .buildpress-gjc-footer__legal li { margin: 0; }
.buildpress-gjc-footer .buildpress-gjc-footer__links a { color: var(--ai-ink); text-decoration: none; font-family: var(--ai-font-ui); font-size: var(--ai-fs-sm); font-weight: 700; transition: color 180ms ease; }
.buildpress-gjc-footer .buildpress-gjc-footer__links a:hover, .buildpress-gjc-footer .buildpress-gjc-footer__links a:focus-visible, .buildpress-gjc-footer .buildpress-gjc-footer__legal a:hover, .buildpress-gjc-footer .buildpress-gjc-footer__legal a:focus-visible { color: var(--ai-accent); }
.buildpress-gjc-footer .buildpress-gjc-footer__bottom { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--ai-line); }
.buildpress-gjc-footer .buildpress-gjc-footer__meta { display: flex; flex-wrap: wrap; gap: 0.35rem 1.5rem; align-items: center; }
.buildpress-gjc-footer .buildpress-gjc-footer__copy { margin: 0; color: var(--ai-muted); font-size: var(--ai-fs-xs); white-space: nowrap; }
.buildpress-gjc-footer .buildpress-gjc-footer__legal { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin: 0; padding: 0; list-style: none; }
.buildpress-gjc-footer .buildpress-gjc-footer__legal a { color: var(--ai-muted); text-decoration: none; font-size: var(--ai-fs-xs); transition: color 180ms ease; }
.buildpress-gjc-footer .buildpress-gjc-footer__end { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; }
.buildpress-gjc-footer .buildpress-gjc-footer__socials { display: flex; gap: 0.25rem; }
.buildpress-gjc-footer .buildpress-gjc-footer__social { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; color: var(--ai-muted); border-radius: 50%; transition: color 180ms ease, background-color 180ms ease; }
.buildpress-gjc-footer .buildpress-gjc-footer__social svg { width: 1rem; height: 1rem; fill: currentColor; }
.buildpress-gjc-footer .buildpress-gjc-footer__social:hover, .buildpress-gjc-footer .buildpress-gjc-footer__social:focus-visible { color: var(--ai-paper); background: var(--ai-ink); }
@media (max-width: 767px) {
  .buildpress-gjc-footer { padding: 3rem 1rem 1.5rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__top { flex-direction: column; gap: 1.75rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__links { gap: 0.75rem 1.25rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__bottom { flex-direction: column-reverse; align-items: flex-start; }
  .buildpress-gjc-footer .buildpress-gjc-footer__end { justify-content: space-between; width: 100%; }
}
/* columns layout (owner, round 12: "tinh tế hơn"): a quiet statement in the display face beside three small columns
   (explore, contact, follow); the same fine-print bar as the centred layout */
.buildpress-gjc-footer.buildpress-gjc-footer--columns { padding-top: 5rem; }
.buildpress-gjc-footer .buildpress-gjc-footer__cols { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 0.75fr)); gap: 2.5rem 3rem; align-items: start; }
.buildpress-gjc-footer .buildpress-gjc-footer__brandcol { display: grid; gap: 1.5rem; justify-items: start; }
.buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__logo { width: 3.25rem; height: 3.25rem; }
.buildpress-gjc-footer .buildpress-gjc-footer__statement { max-width: 30ch; margin: 0; color: var(--ai-ink); font-family: var(--ai-font-display); font-size: calc(var(--ai-fs) * 1.3); font-weight: 400; line-height: 1.55; text-wrap: balance; }
.buildpress-gjc-footer .buildpress-gjc-footer__col { display: grid; gap: 1rem; align-content: start; min-width: 0; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-h { margin: 0; color: var(--ai-muted); font-family: var(--ai-font-ui); font-size: var(--ai-fs-xs); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-list { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; font-family: var(--ai-font-ui); font-size: var(--ai-fs-sm); line-height: 1.5; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-list li { margin: 0; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-list a { display: inline-flex; gap: 0.55rem; align-items: center; color: var(--ai-ink); text-decoration: none; font-weight: 600; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color 180ms ease, background-size 250ms ease; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-list a:hover, .buildpress-gjc-footer .buildpress-gjc-footer__col-list a:focus-visible { color: var(--ai-accent); background-size: 100% 1px; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-list .buildpress-gjc-footer__addr { color: var(--ai-text); text-wrap: pretty; }
.buildpress-gjc-footer .buildpress-gjc-footer__col-social svg { flex: 0 0 auto; width: 1rem; height: 1rem; fill: currentColor; }
.buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__c-bar { margin-top: 4rem; }
@media (max-width: 1024px) {
  .buildpress-gjc-footer .buildpress-gjc-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .buildpress-gjc-footer .buildpress-gjc-footer__brandcol { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .buildpress-gjc-footer.buildpress-gjc-footer--columns { padding-top: 3.5rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 1.5rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__statement { max-width: 34ch; font-size: calc(var(--ai-fs) * 1.15); }
  .buildpress-gjc-footer .buildpress-gjc-footer__col--contact { grid-column: 1 / -1; order: 3; }
  .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__c-bar { align-items: flex-start; margin-top: 3rem; text-align: left; }
  .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__fine { justify-content: flex-start; }
  .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__fine li:first-child { justify-content: flex-start; }
  .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__c-bar .buildpress-gjc-footer__language, .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__c-bar .trp-shortcode-switcher__wrapper, .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__c-bar .trp-shortcode-overlay, .buildpress-gjc-footer.buildpress-gjc-footer--columns .buildpress-gjc-footer__c-bar .trp-current-language-item__wrapper { justify-content: flex-start; }
}
/* centred layout (owner, round 10): bigger round symbol, intro, links, contact (email + address), socials; then one bar
   with the fine print (©, legal links: one list, same font and line height, so they share a baseline) and the language */
.buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__c-top { display: flex; flex-direction: column; gap: 1.25rem; align-items: center; text-align: center; }
.buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__logo { width: 4rem; height: 4rem; margin-bottom: 0.25rem; }
.buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__about { max-width: 40rem; margin: 0; text-wrap: balance; }
.buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__nav { padding-top: 0.25rem; }
.buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__links { justify-content: center; }
.buildpress-gjc-footer .buildpress-gjc-footer__contact { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; justify-content: center; margin: 0; padding: 0; color: var(--ai-muted); list-style: none; font-size: var(--ai-fs-sm); line-height: 1.5; }
.buildpress-gjc-footer .buildpress-gjc-footer__contact li { margin: 0; text-align: center; text-wrap: balance; }
.buildpress-gjc-footer .buildpress-gjc-footer__cicon { display: inline-block; width: 1rem; height: 1rem; margin-right: 0.45rem; vertical-align: -0.2em; }
.buildpress-gjc-footer .buildpress-gjc-footer__contact a { color: var(--ai-ink); text-decoration: none; font-weight: 700; transition: color 180ms ease; }
.buildpress-gjc-footer .buildpress-gjc-footer__contact a:hover, .buildpress-gjc-footer .buildpress-gjc-footer__contact a:focus-visible { color: var(--ai-accent); }
.buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__socials { justify-content: center; }
.buildpress-gjc-footer .buildpress-gjc-footer__c-bar { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; align-items: center; justify-content: space-between; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--ai-line); }
.buildpress-gjc-footer .buildpress-gjc-footer__fine { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; color: var(--ai-muted); list-style: none; font-size: var(--ai-fs-xs); line-height: 1.6; }
.buildpress-gjc-footer .buildpress-gjc-footer__fine li { display: inline-flex; align-items: center; margin: 0; }
.buildpress-gjc-footer .buildpress-gjc-footer__fine li + li::before { margin-inline: 0.6rem; color: color-mix(in srgb, var(--ai-ink) 30%, transparent); content: "·"; }
.buildpress-gjc-footer .buildpress-gjc-footer__fine a { color: var(--ai-muted); text-decoration: none; transition: color 180ms ease; }
.buildpress-gjc-footer .buildpress-gjc-footer__fine a:hover, .buildpress-gjc-footer .buildpress-gjc-footer__fine a:focus-visible { color: var(--ai-accent); }
/* the switcher box is wider than its label: keep the label flush with the bar's right edge */
.buildpress-gjc-footer .buildpress-gjc-footer__c-bar .buildpress-gjc-footer__language, .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .trp-shortcode-switcher__wrapper, .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .trp-shortcode-overlay, .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .trp-current-language-item__wrapper { justify-content: flex-end; }
@media (max-width: 767px) {
  .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .buildpress-gjc-footer__language, .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .trp-shortcode-switcher__wrapper, .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .trp-shortcode-overlay, .buildpress-gjc-footer .buildpress-gjc-footer__c-bar .trp-current-language-item__wrapper { justify-content: center; }
  .buildpress-gjc-footer.buildpress-gjc-footer--center .buildpress-gjc-footer__logo { width: 3.5rem; height: 3.5rem; }
  .buildpress-gjc-footer .buildpress-gjc-footer__contact { flex-direction: column; align-items: center; }
  .buildpress-gjc-footer .buildpress-gjc-footer__c-bar { flex-direction: column-reverse; gap: 1rem; text-align: center; }
  .buildpress-gjc-footer .buildpress-gjc-footer__fine { gap: 0.35rem 1rem; justify-content: center; }
  .buildpress-gjc-footer .buildpress-gjc-footer__fine li:first-child { flex-basis: 100%; justify-content: center; }
  .buildpress-gjc-footer .buildpress-gjc-footer__fine li + li::before { display: none; }
}
@media (prefers-reduced-motion: reduce) { .buildpress-gjc-footer a { transition: none; } }

/* ---- language switcher (carried over from gjc-site-footer) ---- */
.buildpress-gjc-footer .buildpress-gjc-footer__language {
    display: flex;
    align-items: center;
    min-height: 1.5rem;
    height: 1.5rem;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher__wrapper {
    position: relative;
    z-index: 20;
    display: flex;
    align-items: center;
    width: auto;
    min-width: 0;
    height: 1.5rem;
    isolation: isolate;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher__wrapper.is-open {
    z-index: 40;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-anchor {
    display: none !important;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-overlay {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    width: 100%;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper:hover,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper:focus-within,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher.is-open .trp-current-language-item__wrapper {
    --text: var(--gjc-footer-ink);
    display: flex;
    gap: 0.45rem;
    align-items: center;
    min-height: 1.5rem;
    height: 1.5rem;
    padding-inline: 0;
    color: var(--gjc-footer-ink);
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    box-sizing: border-box;
    cursor: pointer;
    transition: color 180ms ease;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper > .trp-language-item {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0;
    color: inherit;
    font-family: var(--e-global-typography-accent-font-family, sans-serif);
    font-size: var(--e-global-typography-accent-font-size, 0.8125rem);
    font-weight: var(--e-global-typography-accent-font-weight, 500);
    line-height: 1;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper .trp-flag-image {
    display: block;
    flex: 0 0 auto;
    width: 1rem;
    height: 0.75rem;
    object-fit: cover;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper:hover,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper:focus-within {
    --text: var(--gjc-footer-accent);
    color: var(--gjc-footer-accent);
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper .trp-shortcode-arrow {
    display: block;
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    color: inherit;
    transition: transform 180ms ease;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher.is-open .trp-current-language-item__wrapper .trp-shortcode-arrow {
    transform: translateY(0.08rem) rotate(180deg);
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list {
    position: absolute;
    inset-block-end: calc(100% + 0.5rem);
    inset-inline-end: 0;
    inset-inline-start: auto;
    z-index: 41;
    display: grid;
    width: max-content;
    min-width: 100%;
    max-width: 12rem;
    max-height: 0;
    padding: 0 0.375rem;
    overflow: hidden;
    color: var(--gjc-footer-ink);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background: var(--gjc-footer-surface);
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--gjc-footer-ink) 10%, transparent);
    box-sizing: border-box;
    transform: translateY(-0.3125rem);
    transition: max-height 180ms ease, padding 180ms ease, opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher.is-open .trp-switcher-dropdown-list {
    max-height: min(21.875rem, 70vh);
    padding: 0.375rem;
    overflow-y: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item {
    display: inline-flex;
    gap: 0.625rem;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    color: var(--gjc-footer-ink);
    border-radius: 0.25rem;
    font-family: var(--e-global-typography-text-font-family, sans-serif);
    font-size: var(--e-global-typography-text-font-size, 0.8125rem);
    line-height: 1.2;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item:hover,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item:focus-visible {
    color: var(--gjc-footer-ink) !important;
    background-color: color-mix(in srgb, var(--gjc-footer-ink) 6%, var(--gjc-footer-surface)) !important;
    outline: none;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item:focus-visible {
    outline: 0.125rem solid color-mix(in srgb, var(--gjc-footer-accent) 45%, transparent);
    outline-offset: -0.125rem;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item:hover .trp-language-item-name,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item:focus-visible .trp-language-item-name {
    color: inherit !important;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper:has(.trp-language-item__current:focus-visible) {
    outline: 0.125rem solid var(--gjc-footer-accent);
    outline-offset: 0.1875rem;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list {
        inset-inline-start: 0;
        inset-inline-end: auto;
    }
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper .trp-shortcode-arrow,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list {
        transition: none;
    }
/* Footer Language follows the same compact dropdown contract as Header. */
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list {
    max-height: none;
    padding: 0.25rem;
    overflow: clip;
    border-radius: 0.5rem;
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher.is-open .trp-switcher-dropdown-list {
    max-height: none;
    padding: 0.25rem;
    overflow: clip !important;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item {
    box-sizing: border-box;
    min-height: 2.25rem;
    padding: 0.375rem 0.5rem;
    gap: 0.5rem;
    border-radius: 0.25rem;
    line-height: 1;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper .trp-shortcode-arrow {
    overflow: visible;
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 180ms ease;
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-switcher.is-open .trp-current-language-item__wrapper .trp-shortcode-arrow {
    transform: rotate(180deg);
}
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper .trp-shortcode-arrow,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-switcher-dropdown-list .trp-language-item {
        transition: none;
    }
not the
   wrapper — so hovering the strip never triggers the root's mouseleave. */
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-shortcode-overlay::after {
  content: '';
  position: absolute;
  inset-inline: 0;
  bottom: 100%;
  height: 1.5rem;
  z-index: 30;
  pointer-events: auto;
}
/* Touch target (Lighthouse): footer language switcher needs >=48x48px hit area.
   Selectors match the footer language-area specificity (incl. the
   `> .trp-language-item` override that zeroes min-height). */
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper,
.buildpress-gjc-footer .buildpress-gjc-footer__language .trp-current-language-item__wrapper > .trp-language-item {
  min-width: 48px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
}

