/* Native Swedish footer page 2510. Scoped to its explicit replacement component. */
#top #glf-swedish-footer-section { border-top: 1px solid #deded9; }
#top #glf-swedish-footer-section > .container { width: 100%; max-width: none; padding: 0; }
#top #glf-swedish-footer-section .content { padding: 0; }
#top #glf-swedish-footer-section .glf-sv-footer { box-sizing: border-box; width: 100%; max-width: 1248px; margin: 0 auto; padding: 40px 24px 48px; font: 400 16px/1.5 Barlow, Arial, sans-serif; color: #25352e; }
#top #glf-swedish-footer-section .glf-sv-footer * { box-sizing: border-box; }
#top #glf-swedish-footer-section .glf-sv-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
#top #glf-swedish-footer-section .glf-sv-footer-logo { display: inline-block; flex: 0 0 auto; width: 180px; max-width: 100%; }
#top #glf-swedish-footer-section .glf-sv-footer-logo img { display: block; width: 180px; max-width: 100%; height: auto; margin: 0; }
#top #glf-swedish-footer-section .glf-sv-footer-offices { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
#top #glf-swedish-footer-section .glf-sv-footer-office { min-width: 0; margin: 0; }
#top #glf-swedish-footer-section .glf-sv-footer-office h2 { margin: 0 0 12px; font: 700 18px/1.25 Barlow, Arial, sans-serif; font-size: 18px !important; text-transform: none; letter-spacing: normal; color: #25352e; }
#top #glf-swedish-footer-section .glf-sv-footer :is(address, p) { margin: 0 0 8px; font: inherit; color: inherit; }
#top #glf-swedish-footer-section .glf-sv-footer a { color: #25352e; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; word-break: normal; }
#top #glf-swedish-footer-section .glf-sv-footer-directory { font-weight: 700; }
#top #glf-swedish-footer-section .glf-sv-footer a:focus-visible { outline: 3px solid #ae342b; outline-offset: 5px; }
#top #glf-swedish-footer-section .glf-sv-footer a:hover { color: #9c2c24; }
@media (min-width: 640px) { #top #glf-swedish-footer-section .glf-sv-footer-offices { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { #top #glf-swedish-footer-section .glf-sv-footer-offices { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 479px) {
  #top #glf-swedish-footer-section .glf-sv-footer { padding-inline: 16px; }
  #top #glf-swedish-footer-section .glf-sv-footer-top { align-items: flex-start; flex-direction: column; gap: 16px; }
}

/* GLF group identity. Scoped to the existing native footer, 2026-09-16. */
#top #glf-swedish-footer-section .glf-sv-footer-group{margin:0 0 32px;padding:0 0 28px;border-bottom:1px solid #deded9}
#top #glf-swedish-footer-section .glf-sv-footer-group p{max-width:760px;margin:0 0 10px}
#top #glf-swedish-footer-section .glf-sv-footer-group .glf-group-icon-link{display:inline-flex;align-items:center;gap:.45em;max-width:100%;font-weight:600;white-space:normal;text-decoration:underline;text-underline-offset:4px}
#top #glf-swedish-footer-section .glf-sv-footer-group .glf-group-link-label{min-width:0;overflow-wrap:break-word}
#top #glf-swedish-footer-section .glf-sv-footer-group svg.glf-group-icon{display:inline-block;flex:0 0 auto;width:20px;height:20px;fill:none;stroke:currentColor;color:inherit;vertical-align:-.2em}
#top #glf-swedish-footer-section .glf-sv-footer-group a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:639px){#top #glf-swedish-footer-section .glf-sv-footer-group{padding-bottom:24px;margin-bottom:28px}}

/* GLF Swedish booking additions: append to existing swedish-footer.css. */
/* GLF booking additions. Load after the relevant page styles.
   This fragment does not load fonts: reuse the site's existing font declarations. */
.glf-meeting-invitation {
  --meeting-button-size: 16px;
  --meeting-button-line: 1.4;
  --meeting-button-border: 1px;
  --meeting-button-padding: 12px 21px;
  --meeting-button-gap: 12px;
  --meeting-button-height: 48px;
  --meeting-button-tracking: normal;
  --meeting-button-transform: none;
  --meeting-button-shadow: none;
  --meeting-copy-family: "GLF Reading", "Barlow", Arial, sans-serif;
  --meeting-copy-size: 17px;
  --meeting-copy-weight: 500;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px 32px;
  padding: 26px 28px;
  margin-top: 28px;
  border: 1px solid #dcdacf;
  border-radius: 0;
  background: #f7f5ef;
  color: #202e27;
  font: var(--meeting-copy-weight) var(--meeting-copy-size)/1.6 var(--meeting-copy-family);
  text-align: left;
}
.glf-meeting-invitation *, .glf-meeting-invitation *::before, .glf-meeting-invitation *::after { box-sizing: border-box; }
.glf-meeting-invitation h3,
#top #wrap_all #main .glf-meeting-invitation h3 {
  margin: 0 0 9px;
  color: #004925;
  font-family: "GLF Faculty", "Faculty Glyphic", "GLF Reading Full", "GLF Reading", Barlow, Arial, sans-serif;
  font-weight: 400;
  font-synthesis: none;
  font-size: clamp(22px, 2.2vw, 28px);
  line-height: 1.3;
  letter-spacing: -.025em;
  text-transform: none;
}
.glf-meeting-invitation p,
#top #wrap_all #main .glf-meeting-invitation p {
  margin: 0;
  max-width: 62ch;
  color: #45554a;
  font: var(--meeting-copy-weight) var(--meeting-copy-size)/1.6 var(--meeting-copy-family);
}
.glf-meeting-invitation a.glf-meeting-invitation__button,
#top #wrap_all #main .glf-meeting-invitation a.glf-meeting-invitation__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  gap: var(--meeting-button-gap);
  min-height: var(--meeting-button-height);
  padding: var(--meeting-button-padding);
  border: var(--meeting-button-border) solid #004925;
  border-radius: 0;
  box-shadow: var(--meeting-button-shadow);
  background: transparent;
  color: #004925;
  font: 700 var(--meeting-button-size)/var(--meeting-button-line) "Barlow", Arial, sans-serif;
  letter-spacing: var(--meeting-button-tracking);
  text-transform: var(--meeting-button-transform);
  text-decoration: none;
  white-space: nowrap;
}
.glf-meeting-invitation a.glf-meeting-invitation__button:hover,
#top #wrap_all #main .glf-meeting-invitation a.glf-meeting-invitation__button:hover { background: #004925; color: #fff; }
.glf-meeting-invitation a.glf-meeting-invitation__button:focus-visible { outline: 3px solid #d3323a; outline-offset: 5px; }
.glf-meeting-invitation__button svg { display: block; width: 18px; height: 18px; flex: 0 0 auto; }
.glf-meeting-invitation--compact { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 20px; }
.glf-meeting-invitation--compact .glf-meeting-invitation__button { justify-self: start; }
.glf-meeting-invitation--compact h3,
#top #wrap_all #main .glf-meeting-invitation--compact h3 { font-size: 24px; }
#glf-homepage .glf-meeting-invitation {
  --meeting-button-size: 14px;
  --meeting-button-border: 2px;
  --meeting-button-padding: 12px 28px;
  --meeting-button-gap: 8px;
  --meeting-button-height: 52px;
  --meeting-button-tracking: .04em;
  --meeting-button-transform: uppercase;
  --meeting-button-shadow: 0 2px 0 #004925;
  background: #fff;
}
.glf-info--services .glf-meeting-invitation {
  --meeting-button-size: 14px;
  --meeting-button-line: 1.45;
  --meeting-button-border: 2px;
  --meeting-button-padding: 14px 26px;
  --meeting-button-height: 54px;
  --meeting-button-tracking: .035em;
  --meeting-button-transform: uppercase;
  background: #fff;
}
.glf-solution-hub .glf-meeting-invitation {
  --meeting-button-size: 16px;
  --meeting-button-line: 1.6;
  --meeting-button-padding: 12px 19px;
  --meeting-button-height: 52px;
  --meeting-copy-family: "Barlow", Arial, sans-serif;
  --meeting-copy-size: 16px;
  --meeting-copy-weight: 400;
}
.glf-meeting-invitation--dark,
#top #wrap_all #main .glf-meeting-invitation--dark { background: transparent; border-color: #d5ddd8; }
.glf-meeting-invitation--dark h3,
#top #wrap_all #main .glf-meeting-invitation--dark h3 { color: #fff; }
.glf-meeting-invitation--dark p,
#top #wrap_all #main .glf-meeting-invitation--dark p { color: #d5ddd8; }
.glf-meeting-invitation--dark a.glf-meeting-invitation__button,
#top #wrap_all #main .glf-meeting-invitation--dark a.glf-meeting-invitation__button { border-color: #d5ddd8; color: #fff; }
.glf-meeting-invitation--dark a.glf-meeting-invitation__button:hover,
#top #wrap_all #main .glf-meeting-invitation--dark a.glf-meeting-invitation__button:hover { background: #f7f8f4; color: #004925; }

/* Add a second row to these existing blocks without moving their primary CTA. */
#top #wrap_all #main #glf-homepage .glf-home-quote-strip-inner.glf-meeting-host,
#top #wrap_all #main .glf-info--services .glfi-closing .glfi-cta.glf-meeting-host {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0 32px;
}
#top #wrap_all #main #glf-homepage .glf-home-quote-strip-inner.glf-meeting-host { column-gap: 24px; }
.glf-meeting-host > .glf-meeting-invitation { grid-column: 1 / -1; width: 100%; max-width: none; }
.glf-hub-final > .glf-meeting-invitation { grid-column: 1 / -1; margin-top: 0; }

/* Separate footer link group only; no other footer or menu style changes. */
.glf-sv-footer-top .glf-meeting-footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; }
.glf-sv-footer-top .glf-meeting-footer-links a { min-height: 44px; display: inline-flex; align-items: center; }
.glf-sv-footer-top .glf-meeting-footer-booking { gap: 12px; }
.glf-sv-footer-top .glf-meeting-footer-booking svg { width: 18px; height: 18px; flex: 0 0 auto; }

@media (max-width: 760px) {
  .glf-meeting-invitation { grid-template-columns: minmax(0, 1fr); padding: 24px 22px; gap: 20px; }
  .glf-meeting-invitation .glf-meeting-invitation__button { justify-self: start; }
  #top #wrap_all #main #glf-homepage .glf-home-quote-strip-inner.glf-meeting-host,
  #top #wrap_all #main .glf-info--services .glfi-closing .glfi-cta.glf-meeting-host { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .glf-meeting-host > .glf-meeting-invitation { margin-top: 8px; }
  .glf-meeting-host > a { justify-self: start; }
  .glf-sv-footer-top .glf-meeting-footer-links { align-items: flex-start; flex-direction: column; gap: 4px; }
}

:is(body, #top) #glf-contact-v2 .glfc-booking-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 900px;
  margin-top: 32px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 0;
  background: rgba(255, 255, 255, .06);
  box-sizing: border-box;
}
:is(body, #top) #glf-contact-v2 .glfc-booking-cta__copy { min-width: 0; }
:is(body, #top) #glf-contact-v2 .glfc-booking-cta h2 {
  margin: 0;
  color: #f2eddf;
  font-family: "GLF Faculty", "Faculty Glyphic", "GLF Reading Full", "GLF Reading", Barlow, Arial, sans-serif;
  font-weight: 400;
  font-synthesis: none;
  text-transform: none;
  letter-spacing: -.015em;
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.3;
}
:is(body, #top) #glf-contact-v2 .glfc-booking-cta p {
  margin: 8px 0 0;
  color: #f2eddf;
  line-height: 1.6;
}
:is(body, #top) #glf-contact-v2 .glfc-booking-cta > .glfc-button {
  flex-shrink: 0;
  max-width: 100%;
  white-space: normal;
}
@media (max-width: 639px) {
  :is(body, #top) #glf-contact-v2 .glfc-booking-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* Keep the Swedish booking link focus visible on its light card. */
#top #wrap_all #main #advice a.glf-meeting-invitation__button[data-glf-booking-placement="catalogue"]:focus-visible {
  outline: 2px solid #004925;
  outline-offset: 4px;
}


/* GLF booking CTA expansion, 2026-09-22.
 * Append to the existing Swedish footer stylesheet. No fonts or global rules.
 * Markup: .glf-meeting-addon + --inline / --panel / --person / --dark;
 * .glf-meeting-addon__copy, optional __heading and __meta, __link or __button.
 * All new booking links lead to /sv/boka-mote/. Keep existing quote controls.
 */
.glf-meeting-addon,
#top #wrap_all #main .glf-meeting-addon {
  --glf-ma-ink: #004925;
  --glf-ma-muted: #526157;
  --glf-ma-line: #d8ddd2;
  --glf-ma-hover-bg: #004925;
  --glf-ma-hover-ink: #fff;
  --glf-ma-focus: #d3323a;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-column: 1 / -1;
  align-items: center;
  gap: 14px 24px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 20px 0 0;
  padding: 18px 0 0;
  border: 0;
  border-top: 1px solid var(--glf-ma-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--glf-ma-ink);
  font: 400 16px/1.6 "GLF Reading", Barlow, Arial, sans-serif;
  text-align: left;
}
.glf-meeting-addon__copy,
#top #wrap_all #main .glf-meeting-addon__copy {
  box-sizing: border-box;
  min-width: 0;
  max-width: 68ch;
  margin: 0;
  padding: 0;
  color: var(--glf-ma-muted, #526157);
  font: 400 16px/1.6 "GLF Reading", Barlow, Arial, sans-serif;
  text-align: left;
  overflow-wrap: break-word;
}
.glf-meeting-addon__copy p,
#top #wrap_all #main .glf-meeting-addon__copy p {
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}
.glf-meeting-addon__heading,
#top #wrap_all #main .glf-meeting-addon__heading {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  color: var(--glf-ma-ink, #004925);
  font-family: "GLF Faculty", "Faculty Glyphic", "GLF Reading", Barlow, Arial, sans-serif;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
  line-height: 1.25 !important;
  letter-spacing: -.025em;
  text-transform: none;
  overflow-wrap: break-word;
}
.glf-meeting-addon__meta,
#top #wrap_all #main .glf-meeting-addon__meta {
  display: block;
  margin: 5px 0 0;
  padding: 0;
  color: var(--glf-ma-muted, #526157);
  font: 400 14px/1.5 "GLF Reading", Barlow, Arial, sans-serif;
  letter-spacing: normal;
  text-transform: none;
}
a.glf-meeting-addon__link,
a.glf-meeting-addon__button,
#top #wrap_all #main a.glf-meeting-addon__link,
#top #wrap_all #main a.glf-meeting-addon__button {
  box-sizing: border-box;
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  gap: 9px;
  flex: 0 1 auto;
  float: none;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 6px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--glf-ma-ink, #004925);
  font: 500 16px/1.45 "GLF Reading", Barlow, Arial, sans-serif;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  white-space: normal;
  overflow-wrap: break-word;
  cursor: pointer;
}
a.glf-meeting-addon__button,
#top #wrap_all #main a.glf-meeting-addon__button {
  justify-content: center;
  min-height: 48px;
  padding: 11px 20px;
  border: 2px solid var(--glf-ma-ink, #004925);
  font-family: Barlow, "GLF Reading", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .035em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
}
a.glf-meeting-addon__link:hover,
#top #wrap_all #main a.glf-meeting-addon__link:hover {
  background: transparent;
  color: var(--glf-ma-ink, #004925);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
a.glf-meeting-addon__button:hover,
#top #wrap_all #main a.glf-meeting-addon__button:hover {
  border-color: var(--glf-ma-hover-bg, #004925);
  background: var(--glf-ma-hover-bg, #004925);
  color: var(--glf-ma-hover-ink, #fff);
  text-decoration: none;
}
a.glf-meeting-addon__link:focus-visible,
a.glf-meeting-addon__button:focus-visible,
#top #wrap_all #main a.glf-meeting-addon__link:focus-visible,
#top #wrap_all #main a.glf-meeting-addon__button:focus-visible {
  outline: 3px solid var(--glf-ma-focus, #d3323a);
  outline-offset: 4px;
}
.glf-meeting-addon__link svg,
.glf-meeting-addon__button svg,
#top #wrap_all #main .glf-meeting-addon__link svg,
#top #wrap_all #main .glf-meeting-addon__button svg {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.glf-meeting-addon--inline,
#top #wrap_all #main .glf-meeting-addon--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0 8px;
  margin-top: 12px;
  padding: 0;
  border: 0;
}
.glf-meeting-addon--panel,
#top #wrap_all #main .glf-meeting-addon--panel {
  margin-top: 28px;
  padding: 24px 28px;
  border: 1px solid #d8ddd2;
  background: #f7f5ec;
}
.glf-meeting-addon--person,
#top #wrap_all #main .glf-meeting-addon--person {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 8px;
  padding-top: 5px;
}
a.glf-meeting-addon__link.glf-meeting-addon--person,
#top #wrap_all #main a.glf-meeting-addon__link.glf-meeting-addon--person {
  width: 100%;
  min-height: 44px;
  padding: 8px 0 3px;
  border-top: 1px solid var(--glf-ma-line, #d8ddd2);
  font-size: 15px;
}
.glf-meeting-addon--dark,
#top #wrap_all #main .glf-meeting-addon--dark {
  --glf-ma-ink: #fff;
  --glf-ma-muted: #e7ece5;
  --glf-ma-line: #769883;
  --glf-ma-hover-bg: #fff;
  --glf-ma-hover-ink: #004925;
  --glf-ma-focus: #f2eddf;
  background: transparent;
  border-color: var(--glf-ma-line);
}
@media (max-width: 760px) {
  .glf-meeting-addon,
  #top #wrap_all #main .glf-meeting-addon {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .glf-meeting-addon--inline,
  #top #wrap_all #main .glf-meeting-addon--inline { gap: 0 8px; }
  .glf-meeting-addon--panel,
  #top #wrap_all #main .glf-meeting-addon--panel { padding: 22px 20px; }
  .glf-meeting-addon--person,
  #top #wrap_all #main .glf-meeting-addon--person { gap: 0; }
}
@media (max-width: 380px) {
  a.glf-meeting-addon__button,
  #top #wrap_all #main a.glf-meeting-addon__button {
    padding-inline: 14px;
    font-size: 13px;
    letter-spacing: .015em;
  }
}

