/**
 * Footer preference controller.
 * Currency remains the existing searchable control; language and theme are
 * compact, direct-choice tiles that share the site's semantic colour tokens.
 */

@media (min-width: 922px) {
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"].lalousi-footer-controller-ready .lalousi-footer-control-source {
    display: none !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    justify-content: flex-end !important;
    width: max-content !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    color: var(--text-primary) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .currency-switcher-holder,
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .lalousi-language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    margin: 0 16px 0 0 !important;
    padding: 0 16px 0 0 !important;
    border-right: 1px solid var(--border-subtle) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .currency-switcher-holder,
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .currency-switcher-holder .la-currency-switcher {
    position: relative !important;
    flex: 0 0 auto !important;
    width: max-content !important;
  }

  /* The trigger is the panel's left edge, so the menu always expands right. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__panel {
    right: auto !important;
    left: 0 !important;
    max-width: min(320px, calc(100vw - 32px)) !important;
    transform-origin: bottom left !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__panel::before {
    right: auto !important;
    left: 18px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__trigger {
    justify-content: flex-start !important;
    width: 68px !important;
    min-width: 68px !important;
    line-height: 1 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher,
  .lalousi-footer-mobile .lalousi-language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    min-width: 0 !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--text-secondary) !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  /* The tile group owns a full border, so its divider to the theme control
     must be an independent element rather than a border on the group itself. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher {
    position: relative !important;
    margin-right: 16px !important;
    padding-right: 16px !important;
    border-right: 1px solid var(--border-subtle) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher::after {
    display: none !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher > a,
  .lalousi-footer-mobile .lalousi-language-switcher > a {
    display: inline !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--text-secondary) !important;
    font: inherit !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background-color 160ms ease, color 160ms ease !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher > a + a::before,
  .lalousi-footer-mobile .lalousi-language-switcher > a + a::before {
    display: inline-block !important;
    margin: 0 .55em !important;
    color: var(--text-secondary) !important;
    content: '/' !important;
    font-weight: 300 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher > a:hover,
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher > a:focus-visible,
  .lalousi-footer-mobile .lalousi-language-switcher > a:hover,
  .lalousi-footer-mobile .lalousi-language-switcher > a:focus-visible {
    color: var(--text-primary) !important;
    outline: none !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher > a.is-current,
  .lalousi-footer-mobile .lalousi-language-switcher > a.is-current {
    background: transparent !important;
    color: var(--text-primary) !important;
    font-weight: 700 !important;
  }

  .lalousi-footer-mobile-language {
    margin-right: 16px !important;
    padding-right: 14px !important;
    border-right: 1px solid var(--border-subtle) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher,
  .lalousi-footer-mobile .lalousi-theme-switcher {
    display: inline-grid !important;
    grid-template-columns: repeat(2, 30px) !important;
    gap: 2px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 8px !important;
    background: var(--surface-muted) !important;
    color: var(--text-secondary) !important;
    cursor: pointer !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option,
  .lalousi-footer-mobile .lalousi-theme-switcher__option {
    display: grid !important;
    width: 30px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 5px !important;
    color: var(--text-secondary) !important;
    place-items: center !important;
    transition: background-color 160ms ease, color 160ms ease !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option svg,
  .lalousi-footer-mobile .lalousi-theme-switcher__option svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.65 !important;
  }

  html:not([data-theme="dark"]) body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option--light,
  html[data-theme="dark"] body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option--dark,
  html:not([data-theme="dark"]) .lalousi-footer-mobile .lalousi-theme-switcher__option--light,
  html[data-theme="dark"] .lalousi-footer-mobile .lalousi-theme-switcher__option--dark {
    background: var(--text-primary) !important;
    color: var(--text-inverse) !important;
  }
}

@media (max-width: 921px) {
  .lalousi-footer-mobile-meta {
    gap: 0 !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2px !important;
    min-width: 72px !important;
    margin: 0 !important;
    padding: 2px !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 8px !important;
    background: var(--surface-muted) !important;
    color: var(--text-secondary) !important;
    font-family: var(--font-body) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .07em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher > a {
    display: grid !important;
    min-width: 30px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 7px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: var(--text-secondary) !important;
    font: inherit !important;
    line-height: 1 !important;
    place-items: center !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher > a.is-current {
    background: var(--text-primary) !important;
    color: var(--text-inverse) !important;
  }

  /* Keep the mobile language links as the same understated EN / GR control
     used on desktop, rather than a segmented button. */
  .lalousi-footer-mobile .lalousi-language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    min-width: 0 !important;
    height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: .08em !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher > a {
    display: inline !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher > a + a::before {
    display: inline-block !important;
    margin: 0 .55em !important;
    color: var(--text-secondary) !important;
    content: '/' !important;
    font-weight: 300 !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher > a.is-current {
    background: transparent !important;
    color: var(--text-primary) !important;
    font-weight: 700 !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher {
    display: inline-grid !important;
    grid-template-columns: repeat(2, 30px) !important;
    gap: 2px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 8px !important;
    background: var(--surface-muted) !important;
    color: var(--text-secondary) !important;
    cursor: pointer !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option {
    display: grid !important;
    width: 30px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 5px !important;
    color: var(--text-secondary) !important;
    place-items: center !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.65 !important;
  }

  html:not([data-theme="dark"]) .lalousi-footer-mobile .lalousi-theme-switcher__option--light,
  html[data-theme="dark"] .lalousi-footer-mobile .lalousi-theme-switcher__option--dark {
    background: var(--text-primary) !important;
    color: var(--text-inverse) !important;
  }

  .lalousi-footer-mobile-currency,
  .lalousi-footer-mobile-language {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 14px 0 0 !important;
    padding: 0 14px 0 0 !important;
    border-right: 1px solid var(--border-subtle) !important;
  }

  .lalousi-footer-mobile-theme {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__panel {
    right: 0 !important;
    left: auto !important;
    max-width: calc(100vw - 70px) !important;
    transform-origin: bottom right !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__panel::before {
    right: 18px !important;
    left: auto !important;
  }

  .lalousi-footer-mobile-copyright {
    order: 4 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lalousi-theme-switcher,
  .lalousi-theme-switcher * ,
  .lalousi-language-switcher,
  .lalousi-language-switcher * {
    transition: none !important;
  }
}

/* Final geometry: theme is a single dynamic icon button, not a two-state
 * segmented control. This keeps the three footer preferences compact. */
@media (min-width: 922px) {
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher {
    position: relative !important;
    box-sizing: border-box !important;
    grid-template-columns: 34px !important;
    grid-template-rows: 34px !important;
    place-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    place-items: center !important;
    line-height: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option {
    display: none !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    place-items: center !important;
    line-height: 0 !important;
  }

  html:not([data-theme="dark"]) body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option--light,
  html[data-theme="dark"] body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option--dark {
    display: grid !important;
  }

  /* The menu expands above the footer from the trigger's right edge, so its
     width grows left and remains in the viewport. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__panel {
    top: auto !important;
    bottom: calc(100% + 14px) !important;
    transform: translate(0, 8px) scale(.985) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher.is-open .la-currency-switcher__panel {
    transform: translate(0, 0) scale(1) !important;
  }
}

@media (max-width: 921px) {
  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__trigger {
    justify-content: flex-start !important;
    width: 68px !important;
    min-width: 68px !important;
    line-height: 1 !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher {
    position: relative !important;
    box-sizing: border-box !important;
    grid-template-columns: 34px !important;
    grid-template-rows: 34px !important;
    place-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    place-items: center !important;
    line-height: 0 !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option {
    display: none !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    place-items: center !important;
    line-height: 0 !important;
  }

  html:not([data-theme="dark"]) .lalousi-footer-mobile .lalousi-theme-switcher__option--light,
  html[data-theme="dark"] .lalousi-footer-mobile .lalousi-theme-switcher__option--dark {
    display: grid !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__panel {
    top: auto !important;
    bottom: calc(100% + 12px) !important;
    right: auto !important;
    left: 0 !important;
    transform-origin: bottom left !important;
    transform: translate(0, -8px) scale(.985) !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher.is-open .la-currency-switcher__panel {
    transform: translate(0, 0) scale(1) !important;
  }
}

.lalousi-theme-switcher__option svg {
  margin: 0 !important;
  transform: none !important;
}

/* Footer preferences are deliberately quiet: EUR | EN / GR followed by a
   small, centred circular theme action. Keep only the currency separator. */
@media (min-width: 922px) {
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller {
    min-height: 22px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .currency-switcher-holder {
    min-height: 22px !important;
    margin-right: 10px !important;
    padding-right: 10px !important;
    border-right: 1px solid var(--border-subtle) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__trigger {
    width: 52px !important;
    min-width: 52px !important;
    gap: 4px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__trigger::after {
    display: inline-block !important;
    flex: 0 0 5px !important;
    width: 5px !important;
    height: 5px !important;
    margin-left: 1px !important;
    box-sizing: border-box !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller :is(.la-currency-switcher__trigger-symbol, .la-currency-switcher__trigger-code) {
    font-size: 10px !important;
    line-height: 1 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-language-switcher {
    height: 22px !important;
    margin-right: 10px !important;
    padding-right: 0 !important;
    border-right: 0 !important;
    font-size: 10px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher {
    grid-template-columns: 20px !important;
    grid-template-rows: 20px !important;
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option {
    width: 20px !important;
    height: 20px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .lalousi-theme-switcher__option svg {
    width: 11px !important;
    height: 11px !important;
  }
}

@media (max-width: 921px) {
  .lalousi-footer-mobile-currency {
    min-height: 22px !important;
    margin-right: 10px !important;
    padding-right: 10px !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__trigger,
  .lalousi-footer-mobile .lalousi-footer-mobile-currency :is(.la-currency-switcher__trigger-symbol, .la-currency-switcher__trigger-code) {
    width: 52px !important;
    min-width: 52px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__trigger {
    gap: 4px !important;
  }

  .lalousi-footer-mobile-language {
    min-height: 22px !important;
    height: 22px !important;
    margin-right: 10px !important;
    padding-right: 0 !important;
    border-right: 0 !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher {
    height: 22px !important;
    font-size: 10px !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher {
    grid-template-columns: 20px !important;
    grid-template-rows: 20px !important;
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option {
    width: 20px !important;
    height: 20px !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option svg {
    width: 11px !important;
    height: 11px !important;
  }
}

/* Astra's below-footer builder adds 20px above and below the compact
   preference row. Remove that empty band on desktop. */
@media (min-width: 922px) {
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"],
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row,
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row-container-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row-container-inner,
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-below-footer-inner-wrap.ast-builder-grid-row {
    width: 100% !important;
    max-width: none !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] {
    border-top: 0.5px solid var(--border-subtle) !important;
    box-sizing: border-box !important;
    height: 37px !important;
    min-height: 37px !important;
    max-height: 37px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    overflow: visible !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] > .ast-builder-grid-row-container-inner {
    display: block !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    overflow: visible !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
    display: grid !important;
    position: relative !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    align-items: center !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-section {
    align-self: stretch !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 0 !important;
    align-items: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] :is(.footer-widget-area, .footer-widget-area-inner, .widget, form) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-footer-copyright {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-1 {
    grid-column: 1 !important;
    position: static !important;
    justify-content: flex-start !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-2 {
    grid-column: 2 !important;
    justify-content: center !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-2 .ast-footer-copyright {
    position: static !important;
    display: flex !important;
    width: auto !important;
    justify-content: center !important;
    text-align: center !important;
    transform: none !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-2 .ast-footer-copyright p {
    margin: 0 !important;
    color: #6b6b6b !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 {
    grid-column: 3 !important;
    position: static !important;
    justify-content: flex-end !important;
  }

  /* The theme switcher originates inside Astra's HTML footer element. After
     JavaScript moves the button into the controller, its empty <p>&nbsp;</p>
     source must not keep the grid track at its 54px min-content height. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"].lalousi-footer-controller-ready .ast-footer-html-1.lalousi-footer-control-source {
    display: none !important;
  }

  /* Footer arrangement from Customizer: currency + language at left, copyright
     in the middle and the independent theme action at right. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-1 .lalousi-footer-controller {
    position: absolute !important;
    top: 0 !important;
    left: var(--gutter, 85px) !important;
    z-index: 2 !important;
    width: max-content !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .currency-switcher-holder {
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 10px 0 0 !important;
    border-right: 1px solid var(--border-subtle) !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller > .lalousi-language-switcher {
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-right: 0 !important;
  }

  /* Older footer rules gave the widget containing language an auto left
     margin. Once the controls are grouped in section 1 that would pull the
     whole group back toward the middle of the row. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-1 :is(.footer-widget-area, .footer-widget-area-inner, .widget):has(.lalousi-footer-controller) {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: flex-start !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 .ast-footer-html-1 :is(p, .ast-header-html, .ast-builder-html-element) {
    margin: 0 !important;
    padding: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 .ast-footer-html-1 p:not(:has([data-lalousi-theme-switcher])) {
    display: none !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] {
    display: grid !important;
    position: absolute !important;
    top: 0 !important;
    right: var(--gutter, 85px) !important;
    z-index: 2 !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid currentColor !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    background: var(--surface-primary) !important;
    color: var(--text-primary) !important;
    place-content: center !important;
    place-items: center !important;
    line-height: 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] .lalousi-theme-switcher__option {
    display: none !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: inherit !important;
    place-items: center !important;
  }

  html:not([data-theme="dark"]) body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 .lalousi-theme-switcher__option--light,
  html[data-theme="dark"] body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 .lalousi-theme-switcher__option--dark {
    display: grid !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] svg {
    width: 11px !important;
    height: 11px !important;
    fill: none !important;
    stroke: currentColor !important;
  }

  /* The compact footer trigger and its popover are deliberately scaled as one
     control, so the small EUR selection does not open an oversized menu. */
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__trigger {
    width: 64px !important;
    min-width: 64px !important;
    height: 22px !important;
    gap: 5px !important;
    font-size: 11px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller :is(.la-currency-switcher__trigger-symbol, .la-currency-switcher__trigger-code) {
    font-size: 11px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__panel {
    bottom: calc(100% + 14px) !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: min(220px, calc(100vw - 24px)) !important;
    max-height: 276px !important;
    padding-bottom: 6px !important;
    border-radius: 10px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__search-wrap {
    padding: 6px 8px 4px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__search {
    height: 28px !important;
    padding-left: 31px !important;
    font-size: 10px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__search-wrap::before {
    left: 22px !important;
    width: 8px !important;
    height: 8px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__search-wrap::after {
    left: 28px !important;
    top: calc(50% + 4px) !important;
    width: 4px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__list {
    max-height: 210px !important;
    padding: 2px 0 !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__option {
    width: calc(100% - 12px) !important;
    grid-template-columns: 9px 1fr auto !important;
    column-gap: 8px !important;
    margin: 0 6px !important;
    padding: 8px 12px !important;
    border-radius: 7px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__bullet {
    width: 9px !important;
    height: 9px !important;
    flex-basis: 9px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller :is(.la-currency-switcher__text, .la-currency-switcher__symbol) {
    font-size: 11px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .lalousi-footer-controller .la-currency-switcher__divider {
    margin: 5px 14px 4px !important;
  }
}

/* Final compact theme icon and mobile control geometry. */
@media (min-width: 922px) {
  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] {
    top: -1px !important;
    width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] .lalousi-theme-switcher__option {
    width: 22px !important;
    height: 22px !important;
  }

  body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] svg {
    width: 13px !important;
    height: 13px !important;
    stroke-width: 1.7 !important;
  }

  html:not([data-theme="dark"]) body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] {
    background-color: #fff !important;
    border-color: #1f1f1f !important;
    color: #1f1f1f !important;
  }

  html[data-theme="dark"] body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 [data-lalousi-theme-switcher] {
    background-color: #090909 !important;
    border-color: #f5f5f5 !important;
    color: #f5f5f5 !important;
  }

  html:not([data-theme="dark"]) body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 .lalousi-theme-switcher__option--light {
    background: transparent !important;
    color: #1f1f1f !important;
  }

  html[data-theme="dark"] body:not(.ast-header-break-point) .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-below-section-3 .lalousi-theme-switcher__option--dark {
    background: transparent !important;
    color: #f5f5f5 !important;
  }
}

/* Give currency, language and theme their own mobile columns and leave the
   copyright on a separate row. This preserves each control's hit area. */
@media (max-width: 921px) {
  .lalousi-footer-mobile .lalousi-footer-mobile-meta {
    display: grid !important;
    grid-template-columns: max-content max-content 24px !important;
    grid-template-rows: 24px auto !important;
    column-gap: 10px !important;
    row-gap: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency,
  .lalousi-footer-mobile .lalousi-footer-mobile-language,
  .lalousi-footer-mobile .lalousi-footer-mobile-theme {
    display: flex !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-right: 10px !important;
    border-right: 1px solid var(--border-subtle) !important;
    transform: translateY(-2px) !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 24px !important;
    min-height: 24px !important;
    gap: 4px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency :is(.la-currency-switcher__trigger-symbol, .la-currency-switcher__trigger-code) {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-language {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: max-content !important;
    white-space: nowrap !important;
  }

  .lalousi-footer-mobile .lalousi-language-switcher {
    display: inline-flex !important;
    align-items: center !important;
    height: 24px !important;
    min-height: 24px !important;
    line-height: 1 !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-theme {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-copyright {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    color: #6b6b6b !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-copyright :is(p, span) {
    color: inherit !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher {
    width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    grid-template-columns: 22px !important;
    grid-template-rows: 22px !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option {
    width: 22px !important;
    height: 22px !important;
  }

  .lalousi-footer-mobile .lalousi-theme-switcher__option svg {
    width: 13px !important;
    height: 13px !important;
    stroke-width: 1.7 !important;
  }

  /* Match the desktop currency picker: a compact panel opening above and to
     the right of its trigger, rather than the former oversized mobile menu. */
  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__panel {
    bottom: calc(100% + 14px) !important;
    left: 0 !important;
    right: auto !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: min(220px, calc(100vw - 24px)) !important;
    max-height: 276px !important;
    padding-bottom: 6px !important;
    border-radius: 10px !important;
    transform-origin: bottom left !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__search-wrap {
    padding: 6px 8px 4px !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__search {
    height: 28px !important;
    padding-left: 31px !important;
    font-size: 10px !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__list {
    max-height: 210px !important;
    padding: 2px 0 !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__option {
    width: calc(100% - 12px) !important;
    grid-template-columns: 9px 1fr auto !important;
    column-gap: 8px !important;
    margin: 0 6px !important;
    padding: 8px 12px !important;
    border-radius: 7px !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency .la-currency-switcher__bullet {
    width: 9px !important;
    height: 9px !important;
    flex-basis: 9px !important;
  }

  .lalousi-footer-mobile .lalousi-footer-mobile-currency :is(.la-currency-switcher__text, .la-currency-switcher__symbol) {
    font-size: 11px !important;
  }

  html:not([data-theme="dark"]) .lalousi-footer-mobile .lalousi-theme-switcher {
    background-color: #fff !important;
    border-color: #1f1f1f !important;
    color: #1f1f1f !important;
  }

  html[data-theme="dark"] .lalousi-footer-mobile .lalousi-theme-switcher {
    background-color: #090909 !important;
    border-color: #f5f5f5 !important;
    color: #f5f5f5 !important;
  }

  html:not([data-theme="dark"]) .lalousi-footer-mobile .lalousi-theme-switcher__option--light {
    background: transparent !important;
    color: #1f1f1f !important;
  }

  html[data-theme="dark"] .lalousi-footer-mobile .lalousi-theme-switcher__option--dark {
    background: transparent !important;
    color: #f5f5f5 !important;
  }
}
