/**
 * Professional multi-tier site footer (Theme Builder template).
 * Charcoal palette — no brand-red links.
 */

.elementor-location-footer,
.elementor-97 {
  --albi-ft-bg: #1c1c1c;
  --albi-ft-bg-top: #262626;
  --albi-ft-bg-bar: #121212;
  --albi-ft-text: #c8c8c8;
  --albi-ft-muted: #9a9a9a;
  --albi-ft-heading: #ffffff;
  --albi-ft-line: rgba(255, 255, 255, 0.22);
  --albi-ft-hover: #ffffff;
  --albi-ft-max: 1200px;
  --albi-ft-control-h: 44px;
  margin-bottom: 0 !important;
  padding-bottom: 0;
}

/* Kill Elementor global red / accent inside the footer */
.elementor-location-footer a,
.elementor-97 a,
.elementor-location-footer .elementor-heading-title a,
.elementor-97 .elementor-heading-title a,
.elementor-location-footer .elementor-nav-menu--main .elementor-item,
.elementor-97 .elementor-nav-menu--main .elementor-item,
.elementor-location-footer .elementor-icon-list-text,
.elementor-97 .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-item > a,
.elementor-97 .elementor-icon-list-item > a {
  color: var(--albi-ft-text) !important;
  fill: var(--albi-ft-text) !important;
}

.elementor-location-footer a:hover,
.elementor-location-footer a:focus,
.elementor-97 a:hover,
.elementor-97 a:focus,
.elementor-location-footer .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-footer .elementor-nav-menu--main .elementor-item:focus,
.elementor-97 .elementor-nav-menu--main .elementor-item:hover,
.elementor-97 .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-footer .elementor-heading-title a:hover,
.elementor-97 .elementor-heading-title a:hover {
  color: var(--albi-ft-hover) !important;
  fill: var(--albi-ft-hover) !important;
}

.elementor-location-footer .elementor-icon-list-icon i,
.elementor-97 .elementor-icon-list-icon i {
  color: var(--albi-ft-muted) !important;
}

.elementor-location-footer .elementor-icon-list-icon svg,
.elementor-97 .elementor-icon-list-icon svg {
  fill: var(--albi-ft-muted) !important;
}

/* ——— Structure: social / main / bar ——— */
.elementor-97 .albi-ft-social.e-con,
.elementor-97 .elementor-element.albi-ft-social {
  background-color: var(--albi-ft-bg-top) !important;
  max-width: none !important;
  width: 100% !important;
  --padding-top: 0.85rem !important;
  --padding-bottom: 0.85rem !important;
  --padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
  --padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
  --gap: 1rem !important;
}

.elementor-97 .albi-ft-main.e-con,
.elementor-97 .elementor-element.albi-ft-main {
  background-color: var(--albi-ft-bg) !important;
  max-width: none !important;
  width: 100% !important;
  --padding-top: clamp(2.5rem, 5vw, 3.5rem) !important;
  --padding-bottom: clamp(2.5rem, 5vw, 3.5rem) !important;
  --padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
  --padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
  --gap: clamp(1.75rem, 3vw, 2.5rem) !important;
  --flex-wrap: wrap !important;
  --align-items: flex-start !important;
  --justify-content: space-between !important;
}

.elementor-97 .albi-ft-main > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: clamp(1.75rem, 3vw, 2.5rem) !important;
  max-width: var(--albi-ft-max);
  margin-inline: auto;
  width: 100%;
}

.elementor-97 .albi-ft-main > .e-con-inner > .e-con,
.elementor-97 .albi-ft-main .albi-ft-col {
  flex: 1 1 220px !important;
  width: auto !important;
  max-width: 360px !important;
  min-width: 180px !important;
  --width: auto !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --margin-top: 0 !important;
  --margin-bottom: 0 !important;
  align-self: flex-start !important;
}

/* Top social strip removed — hide if cached markup remains */
.elementor-97 .albi-ft-social,
.elementor-97 .elementor-element.albi-ft-social {
  display: none !important;
}

.elementor-97 .albi-ft-social > .e-con-inner,
.elementor-97 .albi-ft-bar > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1rem !important;
  max-width: var(--albi-ft-max);
  margin-inline: auto;
  width: 100%;
}

.elementor-97 .albi-ft-bar.e-con,
.elementor-97 .elementor-element.albi-ft-bar {
  background-color: var(--albi-ft-bg-bar) !important;
  max-width: none !important;
  width: 100% !important;
  --padding-top: 1rem !important;
  --padding-bottom: 1rem !important;
  --padding-left: clamp(1.25rem, 4vw, 2.5rem) !important;
  --padding-right: clamp(1.25rem, 4vw, 2.5rem) !important;
}

/* Headings aligned across columns */
.elementor-97 .albi-ft-main .elementor-heading-title {
  color: var(--albi-ft-heading) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 0 0 1.1rem !important;
  padding-bottom: 0.65rem !important;
  border-bottom: 1px solid var(--albi-ft-line) !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  line-height: 1.3 !important;
}

.elementor-97 .albi-ft-social .elementor-heading-title,
.elementor-97 .albi-ft-social .elementor-widget-text-editor,
.elementor-97 .albi-ft-social p {
  color: #fff !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
}

.elementor-97 .albi-ft-main .elementor-widget-text-editor,
.elementor-97 .albi-ft-main .elementor-widget-text-editor p {
  color: var(--albi-ft-text) !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}

/* Real logo — left aligned, no invert/filter */
.elementor-97 .albi-ft-main .albi-ft-col:first-child,
.elementor-97 .albi-ft-main .elementor-element-f9afdec7 {
  text-align: left !important;
  align-items: flex-start !important;
  --align-items: flex-start !important;
  --justify-content: flex-start !important;
}

.elementor-97 .albi-ft-main .elementor-widget-image {
  margin: 0 0 1rem !important;
  text-align: left !important;
  width: 100% !important;
}

.elementor-97 .albi-ft-main .elementor-widget-image .elementor-widget-container,
.elementor-97 .albi-ft-main .elementor-widget-image a {
  display: block !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.elementor-97 .albi-ft-main .elementor-widget-image img,
.elementor-97 .albi-ft-main .elementor-widget-image svg {
  width: 140px !important;
  max-width: 100% !important;
  height: auto !important;
  filter: none !important;
  opacity: 1 !important;
  display: block !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.elementor-97 .albi-ft-main .elementor-element-f9afdec7 .elementor-widget-text-editor,
.elementor-97 .albi-ft-main .elementor-element-f9afdec7 .elementor-widget-text-editor p {
  text-align: left !important;
}

.elementor-97 .albi-ft-main .elementor-nav-menu--main .elementor-item {
  padding: 0.28rem 0 !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
}

.elementor-97 .albi-ft-main .elementor-nav-menu--main .elementor-nav-menu {
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* Footer Eksploro: always a plain link list — never Elementor mobile hamburger */
.elementor-97 .elementor-widget-nav-menu .elementor-menu-toggle,
.elementor-location-footer .elementor-widget-nav-menu .elementor-menu-toggle {
  display: none !important;
}

.elementor-97 .elementor-widget-nav-menu .elementor-nav-menu--dropdown,
.elementor-location-footer .elementor-widget-nav-menu .elementor-nav-menu--dropdown {
  display: none !important;
  position: static !important;
  width: auto !important;
  max-width: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-97 .elementor-widget-nav-menu .elementor-nav-menu--main,
.elementor-location-footer .elementor-widget-nav-menu .elementor-nav-menu--main {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-97 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu,
.elementor-location-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.15rem !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Eksploro: split long menu into 2 columns */
.elementor-97 .albi-ft-col--eksploro .elementor-nav-menu--main .elementor-nav-menu,
.elementor-97 .albi-ft-col--eksploro .elementor-nav-menu,
.elementor-97 .elementor-element-760d8146 .elementor-nav-menu--main .elementor-nav-menu,
.elementor-97 .elementor-element-760d8146 .elementor-nav-menu {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 1.25rem !important;
  row-gap: 0.2rem !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-direction: unset !important;
}

.elementor-97 .albi-ft-col--eksploro,
.elementor-97 .elementor-element-760d8146 {
  max-width: 420px !important;
  flex: 1 1 280px !important;
}

.elementor-97 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item,
.elementor-location-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
}

/* Social icons sit under the subscribe form */
.elementor-97 .albi-ft-main .elementor-widget-albi_social_links {
  margin-top: 1.15rem !important;
}

.elementor-97 .albi-ft-main .albi-social-links {
  justify-content: flex-start;
}

.elementor-97 .albi-ft-bar .elementor-heading-title {
  color: var(--albi-ft-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Bottom bar: copyright left, CRM medals right (always visible) */
.elementor-97 .albi-ft-bar > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1rem !important;
  max-width: var(--albi-ft-max);
  margin-inline: auto;
  width: 100%;
}

.elementor-97 .albi-ft-bar .elementor-widget-albi_awards,
.elementor-97 .albi-ft-bar .elementor-widget-albi_awards .elementor-widget-container,
.elementor-97 .albi-ft-bar .albi-awards--footer {
  margin: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  width: auto !important;
  max-width: none !important;
}

/* Scroll-anim must never hide footer medals */
.elementor-97 .albi-ft-bar .elementor-widget-albi_awards.albi-scroll-anim,
.elementor-location-footer .elementor-widget-albi_awards.albi-scroll-anim {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.elementor-97 .albi-ft-bar .albi-awards--footer {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.65rem !important;
  max-width: none !important;
  list-style: none !important;
  padding: 0 !important;
}

.elementor-97 .albi-ft-bar .albi-awards--footer .albi-awards__item {
  display: block !important;
  margin: 0 !important;
}

.elementor-97 .albi-ft-bar .albi-awards--footer .albi-awards__link,
.elementor-97 .albi-ft-bar .albi-awards--footer .albi-awards__badge,
.albi-awards--footer .albi-awards__link,
.albi-awards--footer .albi-awards__badge {
  width: 52px !important;
  height: 52px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.elementor-97 .albi-ft-bar .albi-awards--footer .albi-awards__img,
.albi-awards--footer .albi-awards__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.elementor-97 .albi-ft-bar .albi-awards--footer .albi-awards__link:hover,
.albi-awards--footer .albi-awards__link:hover {
  transform: none;
  filter: brightness(1.08);
}

/* Subscribe row: email + button same height, light button (not red) */
.elementor-97 .elementor-form .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
}

.elementor-97 .elementor-form .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-97 .elementor-form .elementor-field-type-email,
.elementor-97 .elementor-form .elementor-field-group:not(.elementor-field-type-submit) {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
}

.elementor-97 .elementor-form .elementor-field-type-submit,
.elementor-97 .elementor-form .elementor-field-group.elementor-field-type-submit {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

.elementor-97 .elementor-form .elementor-field-textual,
.elementor-97 .elementor-form input[type="email"],
.elementor-97 .elementor-form input.elementor-field {
  height: var(--albi-ft-control-h) !important;
  min-height: var(--albi-ft-control-h) !important;
  line-height: 1.2 !important;
  padding: 0 0.85rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
  color: var(--albi-ft-text) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 0 !important;
  width: 100% !important;
}

.elementor-97 .elementor-form .elementor-button,
.elementor-97 .elementor-form .elementor-button[type="submit"],
.elementor-97 .elementor-form button[type="submit"],
body.albi-crm-site-styled .elementor-97 .elementor-form .elementor-button,
body.albi-crm-site-styled .elementor-97 .elementor-form .elementor-button[type="submit"],
body.albi-crm-site-styled .elementor-97 .elementor-form button[type="submit"],
body.albi-crm-site-styled .elementor-location-footer .elementor-form .elementor-button,
body.albi-crm-site-styled .elementor-location-footer .elementor-form button[type="submit"] {
  height: var(--albi-ft-control-h) !important;
  min-height: var(--albi-ft-control-h) !important;
  max-height: var(--albi-ft-control-h) !important;
  padding: 0 1.15rem !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  background-color: #f2f2f2 !important;
  background-image: none !important;
  color: #111 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  width: auto !important;
}

.elementor-97 .elementor-form .elementor-button:hover,
.elementor-97 .elementor-form .elementor-button[type="submit"]:hover,
.elementor-97 .elementor-form button[type="submit"]:hover,
body.albi-crm-site-styled .elementor-97 .elementor-form .elementor-button:hover,
body.albi-crm-site-styled .elementor-97 .elementor-form .elementor-button[type="submit"]:hover,
body.albi-crm-site-styled .elementor-location-footer .elementor-form .elementor-button:hover {
  background-color: #ffffff !important;
  color: #111 !important;
}

.elementor-97 .elementor-form .elementor-button span,
.elementor-97 .elementor-form .elementor-button .elementor-button-text,
body.albi-crm-site-styled .elementor-97 .elementor-form .elementor-button span,
body.albi-crm-site-styled .elementor-97 .elementor-form .elementor-button .elementor-button-text {
  color: #111 !important;
}

@media (max-width: 1024px) {
  .elementor-97 .albi-ft-main > .e-con-inner > .e-con,
  .elementor-97 .albi-ft-main .albi-ft-col {
    flex: 1 1 42% !important;
    max-width: 46% !important;
  }
}

@media (max-width: 767px) {
  .elementor-97 .albi-ft-main > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .elementor-97 .albi-ft-main > .e-con-inner > .e-con,
  .elementor-97 .albi-ft-main .albi-ft-col {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .elementor-97 .albi-ft-social.e-con,
  .elementor-97 .elementor-element.albi-ft-social,
  .elementor-97 .albi-ft-main.e-con,
  .elementor-97 .elementor-element.albi-ft-main,
  .elementor-97 .albi-ft-bar.e-con,
  .elementor-97 .elementor-element.albi-ft-bar {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }

  .elementor-97 .albi-ft-social > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .elementor-97 .albi-ft-bar > .e-con-inner {
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center;
  }

  .elementor-97 .albi-ft-bar .albi-awards--footer {
    justify-content: center !important;
  }

  .elementor-97 .albi-ft-col--eksploro .elementor-nav-menu--main .elementor-nav-menu,
  .elementor-97 .albi-ft-col--eksploro .elementor-nav-menu,
  .elementor-97 .elementor-element-760d8146 .elementor-nav-menu--main .elementor-nav-menu,
  .elementor-97 .elementor-element-760d8146 .elementor-nav-menu {
    grid-template-columns: 1fr 1fr !important;
  }

  .elementor-97 .elementor-form .elementor-form-fields-wrapper {
    flex-wrap: wrap !important;
  }

  .elementor-97 .elementor-form .elementor-field-type-email,
  .elementor-97 .elementor-form .elementor-field-group:not(.elementor-field-type-submit) {
    flex: 1 1 100% !important;
  }

  .elementor-97 .elementor-form .elementor-field-type-submit {
    flex: 1 1 100% !important;
    margin-top: 0.65rem !important;
  }

  .elementor-97 .elementor-form .elementor-button,
  .elementor-97 .elementor-form .elementor-button[type="submit"] {
    width: 100% !important;
  }
}
