.group-foot__operator { color: rgba(255, 255, 255, .7); font: 400 var(--small, .875rem)/1.6 var(--font-read, "Gopher", sans-serif); }
.group-foot__legal button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: .15em; cursor: pointer; }
.group-foot__adr { grid-column: 1 / -1; color: rgba(255, 255, 255, .7); font: 400 var(--small, .875rem)/1.6 var(--font-read, "Gopher", sans-serif); }
.group-foot__adr a { text-decoration: underline; }

/* FB7 legal surfaces: scoped so existing page composition is untouched. */
.legal { box-sizing: border-box; max-width: 40rem; margin: 0; padding-block: 3rem 5rem; color: var(--ink); font: 400 1rem/1.6 "Gopher", sans-serif; overflow-wrap: anywhere; }
.legal h1 { margin: 0 0 2rem; font: 700 var(--fs-d1, 2.5rem)/1.1 "Gopher", sans-serif; }
.legal h2 { margin: 0 0 1.5rem; padding-top: 1rem; border-top: .25rem solid #b98a55; font: 700 var(--fs-d2, 1.75rem)/1.2 "Gopher", sans-serif; }
.legal p { margin: 0 0 1.25rem; }
.legal section { padding-top: 2rem; margin-top: 2rem; border-top: 1px solid var(--hairline, rgba(16,32,27,.2)); }
.legal a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.legal table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-block: 1.5rem; font: inherit; }
.legal th:first-child { width: 65%; }
.legal th, .legal td { padding: .75rem .5rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline, rgba(16,32,27,.2)); overflow-wrap: anywhere; }
.legal th:first-child, .legal td:first-child { padding-left: 0; }
.legal-form a { text-decoration: underline; }

.sg-consent, .sg-consent-banner { box-sizing: border-box; background: #00352d; color: #fff; font: 400 .875rem/1.6 var(--font-read, "Gopher", sans-serif); text-align: left; }
.sg-consent *, .sg-consent-banner * { box-sizing: border-box; }
.sg-consent { margin: auto; width: min(44rem, calc(100% - 2rem)); max-height: calc(100svh - 2rem); padding: 1.5rem; border: 1px solid rgba(255,255,255,.7); overflow-y: auto; }
.sg-consent::backdrop { background: rgba(0,0,0,.6); }
.sg-consent h2, .sg-consent-banner h2 { margin: 0 0 .75rem; color: inherit; font: 700 1.5rem/1.2 var(--font-read, "Gopher", sans-serif); }
.sg-consent h3 { margin: 0 0 .25rem; color: inherit; font: 500 1rem/1.4 var(--font-read, "Gopher", sans-serif); }
.sg-consent p, .sg-consent-banner p { margin: 0 0 .75rem; }
.sg-consent-banner { position: fixed; inset: auto 0 0; z-index: 1000; padding: 1.5rem max(1rem, calc((100% - 80rem) / 2)); border-top: 1px solid rgba(255,255,255,.7); }
.sg-consent-banner a { color: inherit; text-decoration: underline; }
.sg-consent__row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1rem; padding-block: 1rem; border-top: 1px solid rgba(255,255,255,.4); }
.sg-consent__tools { overflow-wrap: anywhere; }
.sg-consent__buttons { display: grid; grid-template-columns: repeat(3, calc((100% - 1.5rem) / 3)); gap: .75rem; margin-top: 1rem; }
.sg-consent__button, .sg-consent__switch, .sg-consent__close { min-height: 48px; padding: .75rem .5rem; border: 1px solid #fff; border-radius: 0; background: transparent; color: #fff; font: 500 .875rem/1.4 var(--font-read, "Gopher", sans-serif); cursor: pointer; }
.sg-consent__button { width: 100%; }
.sg-consent__switch { width: 5rem; min-height: 44px; }
.sg-consent__switch[aria-checked="true"] { background: #fff; color: #00352d; }
.sg-consent__close { display: block; margin-top: 1rem; border-color: transparent; text-decoration: underline; }
.sg-consent :focus-visible, .sg-consent-banner :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.sg-consent-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 30rem) {
  .legal th:first-child { width: 55%; }
  .sg-consent__buttons { grid-template-columns: 1fr; }
  .sg-consent__state { max-width: 5rem; }
}

.site-footer { flex-wrap: wrap; }
.site-footer__legal { flex: 0 0 100%; min-width: 0; letter-spacing: 0; font: 400 .875rem/1.6 "Gopher", sans-serif; }
.site-footer__legal p { margin: .75rem 0 0; }
.site-footer__legal button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.legal-shell { margin-inline: var(--edge-start) var(--edge-end); }
.contact-entity .group-foot__operator { font-size: .875rem; letter-spacing: 0; }
