/* =========================================================
   London Fashion Day — Homepage
   Elementor-based homepage styling
   ========================================================= */

/* =========================================================
   LFD Homepage — Marquee clipping fix
   Fixes cropped bottom of hollow text
   ========================================================= */

body.home .lfd-home-marquee,
body.home .elementor-widget-edgtf_text_marquee {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
  overflow: hidden !important;
}

body.home .lfd-home-marquee .elementor-widget-container,
body.home .elementor-widget-edgtf_text_marquee .elementor-widget-container {
  overflow: visible !important;
}

body.home .lfd-home-marquee .edgtf-text-marquee,
body.home .elementor-widget-edgtf_text_marquee .edgtf-text-marquee {
  font-size: clamp(72px, 11vw, 185px) !important;
  line-height: 1.08em !important;
  min-height: 1.12em !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  padding: 0.04em 0 0.08em !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.home .lfd-home-marquee .edgtf-marquee-element,
body.home .elementor-widget-edgtf_text_marquee .edgtf-marquee-element {
  line-height: inherit !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 1024px) {
  body.home .lfd-home-marquee,
  body.home .elementor-widget-edgtf_text_marquee {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body.home .lfd-home-marquee .edgtf-text-marquee,
  body.home .elementor-widget-edgtf_text_marquee .edgtf-text-marquee {
    font-size: clamp(62px, 13vw, 135px) !important;
    line-height: 1.1em !important;
    min-height: 1.14em !important;
  }
}

@media (max-width: 767px) {
  body.home .lfd-home-marquee,
  body.home .elementor-widget-edgtf_text_marquee {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  body.home .lfd-home-marquee .edgtf-text-marquee,
  body.home .elementor-widget-edgtf_text_marquee .edgtf-text-marquee {
    font-size: 58px !important;
    line-height: 1.12em !important;
    min-height: 1.16em !important;
  }
}



/* =========================================================
   LFD Homepage — Editable Announcement Block
   Elementor HTML widget version
   ========================================================= */

body.home .lfd-home-announcement {
  width: 100%;
  background: #fff;
  padding: 24px 24px 58px !important;
  position: relative;
  z-index: 2;
}

body.home .lfd-home-announcement .elementor-widget,
body.home .lfd-home-announcement .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

body.home .lfd-announcement-card {
  width: min(1320px, calc(100vw - 72px));
  margin: 0 auto;
  padding: 34px 42px;
  display: grid;
  grid-template-columns: 96px 1.35fr 1.25fr 270px;
  gap: 34px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.14);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.035);
  box-sizing: border-box;
}

body.home .lfd-announcement-card,
body.home .lfd-announcement-card * {
  box-sizing: border-box;
}

body.home .lfd-announcement-card *::first-letter {
  font-size: inherit !important;
  line-height: inherit !important;
  float: none !important;
  color: inherit !important;
}

/* Label */
body.home .lfd-announcement-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 22px;
  border-right: 1px solid rgba(0, 0, 0, 0.16);
  font-family: "Oswald", Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #111;
  white-space: nowrap;
}

/* Title */
body.home .lfd-announcement-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 52px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.045em;
  color: #111;
  max-width: 520px;
}

/* Copy */
body.home .lfd-announcement-copy {
  padding-left: 34px;
  border-left: 1px solid rgba(0, 0, 0, 0.16);
  font-size: 15px;
  line-height: 1.75;
  font-weight: 400;
  color: #222;
  max-width: 430px;
}

/* Action */
body.home .lfd-announcement-action {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.home .lfd-announcement-link {
  width: 100%;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: #000;
  color: #fff !important;
  border: 1px solid #000;
  padding: 15px 22px;
  font-family: "Oswald", Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

body.home .lfd-announcement-link:hover {
  background: #fff;
  color: #000 !important;
}

body.home .lfd-announcement-note {
  font-size: 13px;
  line-height: 1.45;
  color: #333;
  text-align: center;
}

/* Tablet */
@media (max-width: 1024px) {
  body.home .lfd-home-announcement {
    padding: 20px 20px 46px !important;
  }

  body.home .lfd-announcement-card {
    width: min(100%, calc(100vw - 40px));
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding: 34px;
  }

  body.home .lfd-announcement-label {
    grid-column: 1 / -1;
    writing-mode: horizontal-tb;
    transform: none;
    min-height: auto;
    justify-content: flex-start;
    padding-right: 0;
    padding-bottom: 18px;
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  }

  body.home .lfd-announcement-copy {
    padding-left: 0;
    border-left: none;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body.home .lfd-home-announcement {
    padding: 18px 16px 38px !important;
  }

  body.home .lfd-announcement-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
    padding: 28px 22px;
  }

  body.home .lfd-announcement-label {
    padding-bottom: 14px;
  }

  body.home .lfd-announcement-title {
    font-size: 34px;
    line-height: 1.02;
    letter-spacing: -0.035em;
    max-width: none;
  }

  body.home .lfd-announcement-copy {
    font-size: 14px;
    line-height: 1.7;
    max-width: none;
  }

  body.home .lfd-announcement-link {
    min-height: 48px;
    font-size: 11px;
  }

  body.home .lfd-announcement-note {
    text-align: left;
    font-size: 12px;
  }
}

/* =========================================================
   LFD Homepage — About Stats Strip
   Final desktop/mobile version closer to approved sketch
   ========================================================= */

body.home .lfd-home-about-strip {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 42px 42px 72px !important;
  display: grid !important;
  grid-template-columns: minmax(180px, 0.95fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(320px, 1.9fr) !important;
  gap: 0 !important;
  align-items: center !important;
  background: #fff !important;
}

body.home .lfd-home-about-strip,
body.home .lfd-home-about-strip * {
  box-sizing: border-box !important;
}

body.home .lfd-home-about-strip *::first-letter {
  font-size: inherit !important;
  line-height: inherit !important;
  float: none !important;
  color: inherit !important;
  font-family: inherit !important;
}

/* Make children behave predictably */
body.home .lfd-home-about-strip > .elementor-element,
body.home .lfd-home-about-strip > .e-con,
body.home .lfd-home-about-strip > div {
  min-width: 0 !important;
}

/* Title block */
body.home .lfd-about-strip-title {
  padding: 0 34px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 132px !important;
}

body.home .lfd-about-strip-title h1,
body.home .lfd-about-strip-title h2,
body.home .lfd-about-strip-title h3,
body.home .lfd-about-strip-title .elementor-heading-title {
  margin: 0 !important;
  font-family: "Oswald", Arial, sans-serif !important;
  font-size: clamp(24px, 2vw, 38px) !important;
  line-height: 0.9 !important;
  font-weight: 700 !important;
  letter-spacing: -0.05em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  max-width: 210px !important;
}

/* Stat blocks */
body.home .lfd-about-strip-stat {
  min-height: 132px !important;
  padding: 0 34px !important;
  border-left: 1px solid rgba(0, 0, 0, 0.14) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

body.home .lfd-about-strip-stat h1,
body.home .lfd-about-strip-stat h2,
body.home .lfd-about-strip-stat h3,
body.home .lfd-about-strip-stat .elementor-heading-title {
  margin: 0 0 10px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(38px, 3vw, 56px) !important;
  line-height: 0.9 !important;
  font-weight: 400 !important;
  letter-spacing: -0.055em !important;
  color: #000 !important;
}

body.home .lfd-about-strip-stat p,
body.home .lfd-about-strip-stat .elementor-widget-text-editor,
body.home .lfd-about-strip-stat .elementor-widget-text-editor p {
  margin: 0 !important;
  font-family: "Oswald", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #111 !important;
  white-space: normal !important;
}

/* Copy block */
body.home .lfd-about-strip-copy {
  min-height: 132px !important;
  padding: 0 0 0 42px !important;
  border-left: 1px solid rgba(0, 0, 0, 0.14) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

body.home .lfd-about-strip-copy p,
body.home .lfd-about-strip-copy .elementor-widget-text-editor,
body.home .lfd-about-strip-copy .elementor-widget-text-editor p {
  max-width: 470px !important;
  margin: 0 0 16px !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  color: #111 !important;
}

/* Link / button */
body.home .lfd-about-strip-copy a,
body.home .lfd-about-strip-copy .elementor-button {
  width: fit-content !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 0 5px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #000 !important;
  border-radius: 0 !important;
  font-family: "Oswald", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-decoration: none !important;
  transition: opacity 0.25s ease;
}

body.home .lfd-about-strip-copy a:hover,
body.home .lfd-about-strip-copy .elementor-button:hover {
  opacity: 0.55 !important;
}

/* Large desktop */
@media (min-width: 1600px) {
  body.home .lfd-home-about-strip {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  body.home .lfd-home-about-strip {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 38px 28px 58px !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    row-gap: 26px !important;
  }

  body.home .lfd-about-strip-title {
    grid-column: 1 / -1 !important;
    min-height: auto !important;
    padding: 0 0 8px 0 !important;
  }

  body.home .lfd-about-strip-copy {
    grid-column: 1 / -1 !important;
    min-height: auto !important;
    padding: 24px 0 0 0 !important;
    border-left: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
  }

  body.home .lfd-about-strip-copy p,
  body.home .lfd-about-strip-copy .elementor-widget-text-editor,
  body.home .lfd-about-strip-copy .elementor-widget-text-editor p {
    max-width: 700px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body.home .lfd-home-about-strip {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 18px 0 44px !important;
  }

  body.home .lfd-about-strip-title {
    min-height: auto !important;
    padding: 0 0 22px 0 !important;
    border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
    padding-top: 18px !important;
  }

  body.home .lfd-about-strip-title h1,
  body.home .lfd-about-strip-title h2,
  body.home .lfd-about-strip-title h3,
  body.home .lfd-about-strip-title .elementor-heading-title {
    font-size: 26px !important;
    line-height: 0.9 !important;
    max-width: 220px !important;
  }

  body.home .lfd-about-strip-stat {
    width: 100% !important;
    min-height: auto !important;
    padding: 18px 0 !important;
    border-left: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
  }

  body.home .lfd-about-strip-stat h1,
  body.home .lfd-about-strip-stat h2,
  body.home .lfd-about-strip-stat h3,
  body.home .lfd-about-strip-stat .elementor-heading-title {
    font-size: 34px !important;
    margin: 0 0 8px !important;
  }

  body.home .lfd-about-strip-stat p,
  body.home .lfd-about-strip-stat .elementor-widget-text-editor,
  body.home .lfd-about-strip-stat .elementor-widget-text-editor p {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  body.home .lfd-about-strip-copy {
    width: 100% !important;
    min-height: auto !important;
    padding: 22px 0 0 0 !important;
    border-left: none !important;
    border-top: 1px solid rgba(0, 0, 0, 0.14) !important;
  }

  body.home .lfd-about-strip-copy p,
  body.home .lfd-about-strip-copy .elementor-widget-text-editor,
  body.home .lfd-about-strip-copy .elementor-widget-text-editor p {
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.66 !important;
    margin-bottom: 14px !important;
  }
}
/* =========================================================
   LFD Homepage — About strip mobile stat row fix
   Number left, label right
   ========================================================= */

@media (max-width: 767px) {
  body.home .lfd-about-strip-stat {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    padding: 18px 0 !important;
  }

  body.home .lfd-about-strip-stat .elementor-widget-heading {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .lfd-about-strip-stat h1,
  body.home .lfd-about-strip-stat h2,
  body.home .lfd-about-strip-stat h3,
  body.home .lfd-about-strip-stat .elementor-heading-title {
    margin: 0 !important;
    font-size: 38px !important;
    line-height: 0.9 !important;
  }

  body.home .lfd-about-strip-stat .elementor-widget-text-editor {
    width: auto !important;
    flex: 0 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .lfd-about-strip-stat p,
  body.home .lfd-about-strip-stat .elementor-widget-text-editor p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
    letter-spacing: 0.08em !important;
  }
}


/* =========================================================
   LFD Homepage — Latest Gallery FINAL
   Manon Portfolio List controlled version
   ========================================================= */

body.home .lfd-home-gallery {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 62px 24px 78px !important;
  background: #fff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  z-index: 2 !important;
  overflow: hidden !important;
}

body.home .lfd-home-gallery,
body.home .lfd-home-gallery * {
  box-sizing: border-box !important;
}

body.home .lfd-home-gallery *::first-letter {
  font-size: inherit !important;
  line-height: inherit !important;
  float: none !important;
  color: inherit !important;
  font-family: inherit !important;
}

/* Main inner width */
body.home .lfd-home-gallery > .elementor-container,
body.home .lfd-home-gallery > .e-con-inner {
  width: min(1320px, calc(100vw - 72px)) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Remove old dots / pseudo-elements */
body.home .lfd-home-gallery::before,
body.home .lfd-home-gallery::after,
body.home .lfd-home-gallery-heading::before,
body.home .lfd-home-gallery-heading::after,
body.home .lfd-home-gallery .edgtf-section-title-holder::before,
body.home .lfd-home-gallery .edgtf-section-title-holder::after,
body.home .lfd-home-gallery .edgtf-st-inner::before,
body.home .lfd-home-gallery .edgtf-st-inner::after,
body.home .lfd-home-gallery .edgtf-st-title::before,
body.home .lfd-home-gallery .edgtf-st-title::after,
body.home .lfd-home-gallery .edgtf-st-text::before,
body.home .lfd-home-gallery .edgtf-st-text::after {
  display: none !important;
  content: none !important;
}

/* Heading */
body.home .lfd-home-gallery-heading {
  width: min(1320px, calc(100vw - 72px)) !important;
  max-width: 1320px !important;
  margin: 0 auto 40px !important;
  padding: 0 180px !important;
  text-align: center !important;
  position: relative !important;
}

body.home .lfd-home-gallery-heading .edgtf-section-title-holder,
body.home .lfd-home-gallery-heading .edgtf-st-inner {
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.home .lfd-home-gallery-heading .edgtf-st-title,
body.home .lfd-home-gallery-heading .elementor-heading-title,
body.home .lfd-home-gallery-heading h1,
body.home .lfd-home-gallery-heading h2,
body.home .lfd-home-gallery-heading h3 {
  font-family: "Oswald", Arial, sans-serif !important;
  font-size: clamp(30px, 2.5vw, 44px) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  margin: 0 0 14px !important;
}

body.home .lfd-home-gallery-heading .edgtf-st-text,
body.home .lfd-home-gallery-heading p {
  max-width: 800px !important;
  margin: 0 auto !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #111 !important;
}

/* Separate View All Gallery link */
body.home .lfd-gallery-view-all {
  position: absolute !important;
  top: 86px !important;
  right: max(36px, calc((100vw - 1320px) / 2)) !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 10 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home .lfd-gallery-view-all,
body.home .lfd-gallery-view-all * {
  background: transparent !important;
  box-shadow: none !important;
}

body.home .lfd-gallery-view-all a,
body.home .lfd-gallery-view-all .elementor-button,
body.home .lfd-gallery-view-all .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: fit-content !important;
  background: transparent !important;
  color: #000 !important;
  border: none !important;
  border-bottom: 1px solid #000 !important;
  border-radius: 0 !important;
  padding: 0 0 5px !important;
  font-family: "Oswald", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* Hide Manon internal More Link completely */
body.home .lfd-home-gallery .edgtf-pl-more,
body.home .lfd-home-gallery .edgtf-pl-more-outer,
body.home .lfd-home-gallery .edgtf-pl-more-inner,
body.home .lfd-home-gallery .edgtf-pl-more-link {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Portfolio List width */
body.home .lfd-home-gallery-list,
body.home .lfd-home-gallery .elementor-widget-edgtf_portfolio_list {
  width: min(1320px, calc(100vw - 72px)) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.home .lfd-home-gallery-list .elementor-widget-container,
body.home .lfd-home-gallery .elementor-widget-edgtf_portfolio_list .elementor-widget-container,
body.home .lfd-home-gallery .edgtf-portfolio-list-holder,
body.home .lfd-home-gallery .edgtf-grid-list {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Force 5-column grid */
body.home .lfd-home-gallery .edgtf-pl-inner {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  transform: none !important;
}

/* Force items */
body.home .lfd-home-gallery .edgtf-pl-inner > .edgtf-pl-item,
body.home .lfd-home-gallery .edgtf-pl-inner > .edgtf-item-space,
body.home .lfd-home-gallery .edgtf-pl-inner > article {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
}

/* Override Manon 4-column classes */
body.home .lfd-home-gallery .edgtf-grid-list.edgtf-two-columns .edgtf-item-space,
body.home .lfd-home-gallery .edgtf-grid-list.edgtf-three-columns .edgtf-item-space,
body.home .lfd-home-gallery .edgtf-grid-list.edgtf-four-columns .edgtf-item-space,
body.home .lfd-home-gallery .edgtf-grid-list.edgtf-five-columns .edgtf-item-space,
body.home .lfd-home-gallery .edgtf-grid-list.edgtf-six-columns .edgtf-item-space {
  width: 100% !important;
}

/* Remove theme spacing */
body.home .lfd-home-gallery .edgtf-outer-space {
  margin: 0 !important;
}

body.home .lfd-home-gallery .edgtf-outer-space .edgtf-item-space {
  padding: 0 !important;
}

/* Hide anything after the first 5 portfolio items, just in case */
body.home .lfd-home-gallery .edgtf-pl-inner > .edgtf-pl-item:nth-of-type(n+6),
body.home .lfd-home-gallery .edgtf-pl-inner > article:nth-of-type(n+6) {
  display: none !important;
}

/* Image box */
body.home .lfd-home-gallery .edgtf-pl-item-inner {
  width: 100% !important;
  overflow: visible !important;
  position: relative !important;
}

body.home .lfd-home-gallery .edgtf-pli-image {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden !important;
  background: #f5f5f5 !important;
  position: relative !important;
}

body.home .lfd-home-gallery .edgtf-pli-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  transition: transform 0.45s ease, filter 0.45s ease !important;
}

body.home .lfd-home-gallery .edgtf-pl-item:hover .edgtf-pli-image img {
  transform: scale(1.035) !important;
  filter: contrast(1.04) saturate(1.02) !important;
}

/* Title under image */
body.home .lfd-home-gallery .edgtf-pli-text-holder {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  padding: 12px 0 0 !important;
  transform: none !important;
  height: auto !important;
  min-height: 0 !important;
}

body.home .lfd-home-gallery .edgtf-pli-text-wrapper,
body.home .lfd-home-gallery .edgtf-pli-text {
  display: block !important;
  height: auto !important;
  width: 100% !important;
  text-align: left !important;
}

body.home .lfd-home-gallery .edgtf-pli-title,
body.home .lfd-home-gallery .edgtf-pli-title a {
  font-family: "Oswald", Arial, sans-serif !important;
  font-size: 10.5px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-decoration: none !important;
  margin: 0 !important;
}

body.home .lfd-home-gallery .edgtf-pli-title a:hover {
  opacity: 0.55 !important;
}

/* Hide extra meta */
body.home .lfd-home-gallery .edgtf-pli-category-holder,
body.home .lfd-home-gallery .edgtf-pli-excerpt,
body.home .lfd-home-gallery .edgtf-pli-count-holder {
  display: none !important;
}

/* Tablet */
@media (max-width: 1180px) {
  body.home .lfd-home-gallery {
    padding: 58px 22px 66px !important;
  }

  body.home .lfd-home-gallery-heading,
  body.home .lfd-home-gallery-list,
  body.home .lfd-home-gallery .elementor-widget-edgtf_portfolio_list {
    width: min(100%, calc(100vw - 44px)) !important;
  }

  body.home .lfd-home-gallery-heading {
    padding: 0 130px !important;
  }

  body.home .lfd-gallery-view-all {
    top: 78px !important;
    right: 44px !important;
  }

  body.home .lfd-home-gallery .edgtf-pl-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  body.home .lfd-home-gallery {
    padding: 44px 0 54px !important;
    overflow: hidden !important;
  }

  body.home .lfd-home-gallery > .elementor-container,
  body.home .lfd-home-gallery > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
  }

  body.home .lfd-home-gallery-heading {
    width: calc(100vw - 32px) !important;
    margin: 0 auto 16px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.home .lfd-home-gallery-heading .edgtf-section-title-holder,
  body.home .lfd-home-gallery-heading .edgtf-st-inner {
    text-align: left !important;
  }

  body.home .lfd-home-gallery-heading .edgtf-st-title,
  body.home .lfd-home-gallery-heading .elementor-heading-title,
  body.home .lfd-home-gallery-heading h1,
  body.home .lfd-home-gallery-heading h2,
  body.home .lfd-home-gallery-heading h3 {
    font-size: 24px !important;
    line-height: 1 !important;
    margin: 0 0 8px !important;
  }

  body.home .lfd-home-gallery-heading .edgtf-st-text,
  body.home .lfd-home-gallery-heading p {
    max-width: none !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  body.home .lfd-gallery-view-all {
    position: static !important;
    width: calc(100vw - 32px) !important;
    margin: 0 auto 24px !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  body.home .lfd-gallery-view-all a,
  body.home .lfd-gallery-view-all .elementor-button,
  body.home .lfd-gallery-view-all .elementor-heading-title {
    font-size: 10px !important;
  }

  body.home .lfd-home-gallery-list,
  body.home .lfd-home-gallery .elementor-widget-edgtf_portfolio_list {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.home .lfd-home-gallery .edgtf-pl-inner {
    display: flex !important;
    grid-template-columns: none !important;
    height: auto !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 16px 4px !important;
    margin: 0 !important;
  }

  body.home .lfd-home-gallery .edgtf-pl-inner::-webkit-scrollbar {
    display: none !important;
  }

  body.home .lfd-home-gallery .edgtf-pl-inner > .edgtf-pl-item,
  body.home .lfd-home-gallery .edgtf-pl-inner > .edgtf-item-space,
  body.home .lfd-home-gallery .edgtf-pl-inner > article {
    flex: 0 0 78% !important;
    max-width: 78% !important;
    width: 78% !important;
    margin-right: 8px !important;
    scroll-snap-align: start !important;
  }

  body.home .lfd-home-gallery .edgtf-pli-image {
    aspect-ratio: 4 / 5 !important;
  }

  body.home .lfd-home-gallery .edgtf-pli-title,
  body.home .lfd-home-gallery .edgtf-pli-title a {
    font-size: 10px !important;
    line-height: 1.18 !important;
  }
}