.xb-footer-v2 { border-top: 1px solid var(--xb-accent-gold); padding-block: 1.75rem 1rem; }
.xb-footer-v2 > .xb-container { max-width: 100rem; }
.xb-footer-v2-main { display: grid; grid-template-columns: 12rem minmax(16rem, 1.6fr) minmax(10rem, 1fr) minmax(8rem, .6fr); align-items: center; gap: 1.5rem; }
.xb-footer-v2-main > :not(:first-child) { border-left: 1px solid var(--xb-accent-gold); padding-left: 1.5rem; min-height: 7rem; }
.xb-footer-v2-brand { display: block; justify-self: center; }
.xb-footer-v2-brand img { display: block; width: 10rem; height: 10rem; object-fit: contain; }
.xb-footer-v2-contact { display: flex; flex-direction: column; justify-content: center; gap: .6rem; font-style: normal; font-size: .875rem; line-height: 1.5; }
.xb-footer-v2-contact p, .xb-footer-v2-contact a { display: flex; align-items: center; gap: .875rem; margin: 0; }
.xb-footer-v2-contact svg { width: 1.5rem; height: 1.5rem; flex: none; fill: none; stroke: var(--xb-accent-gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.xb-footer-v2 a { color: inherit; text-decoration: none; }
.xb-footer-v2 a:hover { color: var(--xb-accent-gold); }
.xb-footer-v2 a:focus-visible, .xb-footer-v2 button:focus-visible { outline: 2px solid var(--xb-accent-gold); outline-offset: 4px; }
.xb-footer-v2-social { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.xb-footer-v2-social a { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; color: var(--xb-accent-gold); font-size: 2rem; }
.xb-footer-v2-social a:hover { color: var(--xb-text-primary); }
.xb-footer-v2-message { margin: 0; list-style: none; font-size: .875rem; line-height: 1.6; text-transform: uppercase; }
.xb-footer-v2-message::after { content: ""; display: block; width: 2.5rem; height: 2px; margin-top: .65rem; background: var(--xb-accent-gold); }
.xb-footer-v2-signature { margin: .75rem 0 0; color: var(--xb-text-muted); font-size: .6875rem; text-align: center; }
.xb-footer-v2-legal { margin-top: .65rem; }
.xb-footer-v2-legal ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1rem; margin: 0; padding: 0; list-style: none; }
.xb-footer-v2-legal a, .xb-footer-v2-legal button { color: var(--xb-text-muted); font: inherit; font-size: .6875rem; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: .2em; }
.xb-footer-v2-legal button { padding: 0; border: 0; background: none; cursor: pointer; }
.xb-footer-v2-legal a:hover, .xb-footer-v2-legal button:hover { color: var(--xb-accent-gold); text-decoration-color: currentColor; }
@media (max-width: 1100px) {
  .xb-footer-v2-main { grid-template-columns: 9rem minmax(14rem, 1fr) auto minmax(7rem, .5fr); gap: 1rem; }
  .xb-footer-v2-main > :not(:first-child) { padding-left: 1rem; }
  .xb-footer-v2-brand img { width: 8rem; height: 8rem; }
  .xb-footer-v2-social { gap: 0; }
}
@media (max-width: 900px) {
  .xb-footer-v2-main { grid-template-columns: 1fr 2fr; gap: 1.5rem; }
  .xb-footer-v2-main > .xb-footer-v2-social { border-left: 0; padding-left: 0; }
}
@media (max-width: 599px) {
  .xb-footer-v2 { padding-block: .75rem .5rem; }
  .xb-footer-v2-main { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; }
  .xb-footer-v2-main > :not(:first-child) { border-left: 0; padding-left: 0; min-height: 0; }
  .xb-footer-v2-brand { grid-column: 1; grid-row: 1; justify-self: start; }
  .xb-footer-v2-brand img { width: 5rem; height: 5rem; }
  .xb-footer-v2-contact { grid-column: 1 / -1; grid-row: 2; justify-self: start; gap: .25rem; }
  .xb-footer-v2-contact p { align-items: flex-start; }
  .xb-footer-v2-contact p svg { margin-top: .2rem; }
  .xb-footer-v2-social { grid-column: 2; grid-row: 1; gap: .125rem; padding-block: 0; }
  .xb-footer-v2-message { display: none; }
  .xb-footer-v2-signature { margin-top: .25rem; }
  .xb-footer-v2-legal { margin-top: .4rem; }
}
