.elementor-widget-section .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-section .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}/* Start custom CSS for section, class: .elementor-element-75937df *//* ============================================================
   LIVIN ŁEBA - FINAL FOOTER
   WordPress + Elementor Pro + UAE + Astra

   WKLEJ DO:
   Zewnętrzna Sekcja → Zaawansowane → Custom CSS
   ============================================================ */


/* ============================================================
   1. OUTER SECTION SHELL
   ============================================================ */

.elementor-27 .elementor-element.elementor-element-75937df {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}


/* ============================================================
   2. CLASSIC ELEMENTOR RESET
   TYLKO DLA TEJ JEDNEJ SEKCJI
   ============================================================ */

.elementor-27 .elementor-element.elementor-element-75937df > .elementor-container,
.elementor-27 .elementor-element.elementor-element-75937df > .elementor-container > .elementor-row,
.elementor-27 .elementor-element.elementor-element-75937df .elementor-container {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}


.elementor-27 .elementor-element.elementor-element-75937df > .elementor-container > .elementor-column,
.elementor-27 .elementor-element.elementor-element-75937df > .elementor-container > .elementor-row > .elementor-column,
.elementor-27 .elementor-element.elementor-element-75937df .elementor-column {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


.elementor-27 .elementor-element.elementor-element-75937df .elementor-column-wrap,
.elementor-27 .elementor-element.elementor-element-75937df .elementor-widget-wrap,
.elementor-27 .elementor-element.elementor-element-75937df .elementor-element-populated {
  margin: 0 !important;
  padding: 0 !important;
}


.elementor-27 .elementor-element.elementor-element-75937df .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}


.elementor-27 .elementor-element.elementor-element-75937df .elementor-widget-html {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


.elementor-27 .elementor-element.elementor-element-75937df .elementor-widget-html > .elementor-widget-container,
.elementor-27 .elementor-element.elementor-element-75937df .elementor-widget-html .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* ============================================================
   3. FOOTER ROOT + DESIGN TOKENS
   ============================================================ */

.livin-footer-shell {
  --lf-warm-white: #FFF9F0;
  --lf-sand: #F5EFE4;
  --lf-card: #FFFFFF;

  --lf-navy: #102A2C;
  --lf-muted: #5F6F73;

  --lf-turquoise: #1BAFC2;
  --lf-deep-sea: #0E6F78;

  --lf-sun: #F6A623;
  --lf-sun-hover: #E89516;

  --lf-beige-border: #E7DED0;

  width: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;

  background:
    var(--lf-warm-white);

  color:
    var(--lf-navy);

  font-family:
    "Montserrat",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;

  -webkit-font-smoothing:
    antialiased;

  text-rendering:
    optimizeLegibility;
}


/* ============================================================
   4. LOCAL BOX-SIZING / LOCAL RESET
   ============================================================ */

.livin-footer-shell,
.livin-footer-shell *,
.livin-footer-shell *::before,
.livin-footer-shell *::after {
  box-sizing:
    border-box;
}


.livin-footer-shell p,
.livin-footer-shell h2,
.livin-footer-shell address {
  margin:
    0;
}


.livin-footer-shell address {
  font-style:
    normal;
}


.livin-footer-shell a {
  text-decoration:
    none;
}


/* ============================================================
   5. INNER WRAPPER
   Spójny z headerem: max-width 1260px
   ============================================================ */

.livin-footer-inner {
  width:
    100%;

  max-width:
    1260px;

  margin:
    0 auto;

  padding:
    58px 24px 32px;
}


/* ============================================================
   6. DESKTOP GRID
   Proporcje zbliżone do screena
   ============================================================ */

.livin-footer-grid {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.8fr)
    minmax(250px, 0.85fr)
    minmax(220px, 0.75fr);

  column-gap:
    48px;

  row-gap:
    40px;

  align-items:
    start;
}


/* ============================================================
   7. BRAND
   ============================================================ */

.livin-footer-brand {
  min-width:
    0;
}


.livin-footer-brand-logo {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    12px;

  color:
    var(--lf-navy);
}


.livin-footer-brand-icon {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    40px;

  height:
    40px;

  flex:
    0 0 40px;

  border-radius:
    50%;

  background:
    var(--lf-deep-sea);

  color:
    #FFFFFF;

  box-shadow:
    0 8px 18px -12px
    rgba(14, 111, 120, 0.7);

  transition:
    transform
    0.3s
    cubic-bezier(0.16, 0.84, 0.44, 1),

    box-shadow
    0.3s
    ease;
}


.livin-footer-brand-svg {
  display:
    block;

  width:
    20px;

  height:
    20px;
}


.livin-footer-brand-logo:hover
.livin-footer-brand-icon {
  transform:
    translateY(-1px)
    scale(1.05);

  box-shadow:
    0 12px 24px -12px
    rgba(14, 111, 120, 0.82);
}


.livin-footer-brand-name {
  color:
    var(--lf-navy);

  font-size:
    21px;

  line-height:
    1.1;

  font-weight:
    700;

  letter-spacing:
    -0.02em;

  white-space:
    nowrap;
}


/* ============================================================
   8. DESCRIPTION
   ============================================================ */

.livin-footer-description {
  max-width:
    440px;

  margin-top:
    20px !important;

  color:
    var(--lf-muted);

  font-size:
    14.5px;

  line-height:
    1.62;

  font-weight:
    400;
}


/* ============================================================
   9. SOCIAL BUTTONS
   ============================================================ */

.livin-footer-socials {
  display:
    flex;

  align-items:
    center;

  gap:
    12px;

  margin-top:
    26px;
}


.livin-footer-social-link {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    42px;

  height:
    42px;

  flex:
    0 0 42px;

  border:
    1px solid
    var(--lf-beige-border);

  border-radius:
    50%;

  background:
    rgba(255, 255, 255, 0.86);

  color:
    var(--lf-navy);

  box-shadow:
    0 6px 18px -16px
    rgba(16, 42, 44, 0.5);

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease;
}


.livin-footer-social-link:hover {
  transform:
    translateY(-2px);

  border-color:
    rgba(14, 111, 120, 0.55);

  background:
    #FFFFFF;

  color:
    var(--lf-deep-sea);

  box-shadow:
    0 10px 22px -14px
    rgba(14, 111, 120, 0.34);
}


/* ============================================================
   10. COLUMN HEADINGS
   ============================================================ */

.livin-footer-heading {
  margin-bottom:
    20px !important;

  color:
    var(--lf-deep-sea);

  font-size:
    12.5px;

  line-height:
    1.2;

  font-weight:
    700;

  letter-spacing:
    1.35px;

  text-transform:
    uppercase;
}


/* ============================================================
   11. CONTACT LIST
   ============================================================ */

.livin-footer-contact-list {
  display:
    flex;

  flex-direction:
    column;

  gap:
    15px;
}


.livin-footer-contact-item {
  display:
    flex;

  align-items:
    center;

  gap:
    11px;

  min-width:
    0;

  color:
    var(--lf-navy);

  font-size:
    14.5px;

  line-height:
    1.45;

  font-weight:
    400;
}


.livin-footer-contact-item > span:last-child {
  min-width:
    0;

  overflow-wrap:
    anywhere;
}


.livin-footer-contact-icon {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    19px;

  height:
    19px;

  flex:
    0 0 19px;

  color:
    var(--lf-muted);

  transition:
    color 0.22s ease,
    transform 0.22s ease;
}


.livin-footer-contact-link {
  transition:
    color
    0.22s
    ease;
}


.livin-footer-contact-link:hover {
  color:
    var(--lf-deep-sea);
}


.livin-footer-contact-link:hover
.livin-footer-contact-icon {
  color:
    var(--lf-deep-sea);

  transform:
    translateX(1px);
}


/* ============================================================
   12. LEGAL LINKS
   ============================================================ */

.livin-footer-legal {
  display:
    flex;

  flex-direction:
    column;

  align-items:
    flex-start;

  gap:
    13px;

  margin-bottom:
    24px;
}


.livin-footer-legal-link {
  position:
    relative;

  display:
    inline-flex;

  color:
    var(--lf-navy);

  font-size:
    14.5px;

  line-height:
    1.4;

  font-weight:
    400;

  transition:
    color
    0.22s
    ease;
}


.livin-footer-legal-link::after {
  content:
    "";

  position:
    absolute;

  left:
    0;

  bottom:
    -3px;

  width:
    100%;

  height:
    1px;

  border-radius:
    999px;

  background:
    var(--lf-deep-sea);

  transform:
    scaleX(0);

  transform-origin:
    left center;

  transition:
    transform
    0.28s
    cubic-bezier(0.16, 0.84, 0.44, 1);
}


.livin-footer-legal-link:hover {
  color:
    var(--lf-deep-sea);
}


.livin-footer-legal-link:hover::after {
  transform:
    scaleX(1);
}


/* ============================================================
   13. LANGUAGE SWITCHER
   ============================================================ */

.livin-footer-language {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    2px;

  padding:
    4px;

  border:
    1px solid
    var(--lf-beige-border);

  border-radius:
    999px;

  background:
    rgba(255, 255, 255, 0.86);

  box-shadow:
    0 6px 18px -16px
    rgba(16, 42, 44, 0.5);
}


.livin-footer-lang {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-width:
    38px;

  height:
    30px;

  padding:
    0 10px;

  border-radius:
    999px;

  color:
    var(--lf-muted);

  font-size:
    13px;

  line-height:
    1;

  font-weight:
    600;

  transition:
    color 0.22s ease,
    background-color 0.22s ease;
}


.livin-footer-lang:hover,
.livin-footer-lang:focus-visible {
  color:
    var(--lf-navy);

  background:
    var(--lf-sand);
}


.livin-footer-lang--active,
.livin-footer-lang--active:hover,
.livin-footer-lang--active:focus-visible {
  color:
    #FFFFFF;

  background:
    var(--lf-deep-sea);
}


/* ============================================================
   14. DIVIDER
   ============================================================ */

.livin-footer-divider {
  width:
    100%;

  height:
    1px;

  margin-top:
    48px;

  background:
    var(--lf-beige-border);
}


/* ============================================================
   15. BOTTOM ROW
   ============================================================ */

.livin-footer-bottom {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    24px;

  min-width:
    0;

  padding-top:
    24px;
}


.livin-footer-copyright,
.livin-footer-credit {
  color:
    var(--lf-muted);

  font-size:
    12.5px;

  line-height:
    1.45;

  font-weight:
    400;
}


/* ============================================================
   16. FOCUS STATES
   ============================================================ */

.livin-footer-shell a:focus-visible {
  outline:
    2px solid
    var(--lf-deep-sea);

  outline-offset:
    3px;

  border-radius:
    5px;
}


.livin-footer-social-link:focus-visible,
.livin-footer-lang:focus-visible {
  border-radius:
    999px;
}


/* ============================================================
   17. LAPTOP
   ============================================================ */

@media (max-width: 1180px) {

  .livin-footer-inner {
    padding-left:
      28px;

    padding-right:
      28px;
  }


  .livin-footer-grid {
    grid-template-columns:
      minmax(0, 1.55fr)
      minmax(235px, 0.9fr)
      minmax(210px, 0.75fr);

    column-gap:
      34px;
  }

}


/* ============================================================
   18. TABLET
   Brand full width, two columns below
   ============================================================ */

@media (max-width: 1024px) {

  .livin-footer-inner {
    padding:
      52px 24px 34px;
  }


  .livin-footer-grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);

    column-gap:
      34px;

    row-gap:
      38px;
  }


  .livin-footer-brand {
    grid-column:
      1 / -1;
  }


  .livin-footer-description {
    max-width:
      560px;
  }

}


/* ============================================================
   19. MOBILE
   ============================================================ */

@media (max-width: 767px) {

  .livin-footer-inner {
    padding:
      46px 20px 30px;
  }


  .livin-footer-grid {
    grid-template-columns:
      minmax(0, 1fr);

    row-gap:
      34px;
  }


  .livin-footer-brand {
    grid-column:
      auto;
  }


  .livin-footer-description {
    max-width:
      100%;
  }


  .livin-footer-divider {
    margin-top:
      38px;
  }


  .livin-footer-bottom {
    flex-direction:
      column;

    align-items:
      flex-start;

    gap:
      8px;

    padding-top:
      22px;
  }


  /*
    Mobile touch targets dla języków.
  */
  .livin-footer-lang {
    min-width:
      44px;

    height:
      40px;

    padding-left:
      10px;

    padding-right:
      10px;
  }

}


/* ============================================================
   20. SMALL MOBILE
   ============================================================ */

@media (max-width: 390px) {

  .livin-footer-inner {
    padding-left:
      18px;

    padding-right:
      18px;
  }


  .livin-footer-brand-name {
    font-size:
      19px;
  }

}


/* ============================================================
   21. VERY SMALL MOBILE
   ============================================================ */

@media (max-width: 360px) {

  .livin-footer-inner {
    padding:
      42px 16px 28px;
  }


  .livin-footer-language {
    width:
      100%;

    justify-content:
      space-between;
  }


  .livin-footer-lang {
    flex:
      1 1 0;

    min-width:
      0;
  }

}


/* ============================================================
   22. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

  .livin-footer-brand-icon,
  .livin-footer-social-link,
  .livin-footer-contact-icon,
  .livin-footer-contact-link,
  .livin-footer-legal-link,
  .livin-footer-legal-link::after,
  .livin-footer-lang {
    transition:
      none !important;
  }


  .livin-footer-social-link:hover,
  .livin-footer-brand-logo:hover
  .livin-footer-brand-icon {
    transform:
      none;
  }

}
/* ============================================================
   16. SITE CREDIT
   ============================================================ */

.livin-footer-credit {
  display:
    flex;

  align-items:
    center;

  gap:
    4px;

  text-align:
    right;
}


.livin-footer-credit-link {
  position:
    relative;

  display:
    inline-flex;

  color:
    var(--lf-deep-sea);

  font-weight:
    600;

  text-decoration:
    none;

  transition:
    color 0.22s ease;
}


.livin-footer-credit-link::after {
  content:
    "";

  position:
    absolute;

  left:
    0;

  bottom:
    -3px;

  width:
    100%;

  height:
    1px;

  border-radius:
    999px;

  background:
    var(--lf-deep-sea);

  transform:
    scaleX(0);

  transform-origin:
    left center;

  transition:
    transform
    0.28s
    cubic-bezier(0.16, 0.84, 0.44, 1);
}


.livin-footer-credit-link:hover {
  color:
    var(--lf-navy);
}


.livin-footer-credit-link:hover::after,
.livin-footer-credit-link:focus-visible::after {
  transform:
    scaleX(1);
}


.livin-footer-credit-link:focus-visible {
  outline:
    2px solid
    var(--lf-deep-sea);

  outline-offset:
    4px;

  border-radius:
    3px;
}/* End custom CSS */