/* Minimal mirror overrides — keep changes surgical. Heavy flex/grid
   restructuring breaks Avada's column width math. */
@import url('https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root {
  --lar-site-font-family: "EB Garamond", Arial, Helvetica, sans-serif;
  --awb-typography1-font-family: var(--lar-site-font-family);
  --awb-typography2-font-family: var(--lar-site-font-family);
  --awb-typography3-font-family: var(--lar-site-font-family);
  --awb-typography4-font-family: var(--lar-site-font-family);
  --awb-typography5-font-family: var(--lar-site-font-family);
  --body_typography-font-family: var(--lar-site-font-family);
  --h1_typography-font-family: var(--lar-site-font-family);
  --h2_typography-font-family: var(--lar-site-font-family);
  --h3_typography-font-family: var(--lar-site-font-family);
  --h4_typography-font-family: var(--lar-site-font-family);
  --h5_typography-font-family: var(--lar-site-font-family);
  --h6_typography-font-family: var(--lar-site-font-family);
  --button_typography-font-family: var(--lar-site-font-family);
  --lar-type-body: 19.2px;
  --lar-type-body-line: 1.65;
  --lar-type-h1: clamp(42px, 5.4vw, 72px);
  --lar-type-h2: clamp(22.4px, 2.8vw, 36.4px);
  --lar-type-h3: clamp(24px, 2.8vw, 32px);
}

/* Article mirror snapshots carry inline Source Serif 4 / Google Sans
   declarations. Keep visible Latin text on the single site font while
   leaving icon-font glyphs alone. */
html:not([lang="ar"]):not([lang="zh-Hans"]) body,
html:not([lang="ar"]):not([lang="zh-Hans"]) body :where(
  p,
  a:not(.flex-prev):not(.flex-next),
  span,
  li,
  dt,
  dd,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  button,
  label,
  input,
  textarea,
  select,
  figcaption,
  blockquote,
  cite,
  small,
  strong,
  em,
  th,
  td,
  caption,
  .menu-text,
  .fusion-title-heading,
  .fusion-button-text,
  .fusion-text,
  .fusion-content-tb,
  .fusion-post-content,
  .post-content,
  .lar-text-block,
  .lar-form
):not(i):not(svg):not([aria-hidden="true"]):not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not([class*="icon"]):not([class*="Icon"]) {
  font-family: var(--lar-site-font-family) !important;
}

html:not([lang="ar"]):not([lang="zh-Hans"]) body .flex-direction-nav a.flex-prev,
html:not([lang="ar"]):not([lang="zh-Hans"]) body .flex-direction-nav a.flex-next,
html:not([lang="ar"]):not([lang="zh-Hans"]) body a.flex-prev,
html:not([lang="ar"]):not([lang="zh-Hans"]) body a.flex-next {
  font-family: awb-icons !important;
  font-style: normal !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html[lang="zh-Hans"] .fusion-title-heading,
html[lang="zh-Hans"] .fusion-button-text,
html[lang="zh-Hans"] .menu-text,
html[lang="zh-Hans"] .lar-text-block,
html[lang="zh-Hans"] .lar-text-block *,
html[lang="zh-Hans"] .lar-form,
html[lang="zh-Hans"] .lar-form *,
html[lang="zh-Hans"] .lar-footer {
  font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
}
html[lang="ar"] .fusion-title-heading,
html[lang="ar"] .fusion-button-text,
html[lang="ar"] .menu-text,
html[lang="ar"] .lar-text-block,
html[lang="ar"] .lar-text-block *,
html[lang="ar"] .lar-form,
html[lang="ar"] .lar-form *,
html[lang="ar"] .lar-footer {
  font-family: "Noto Naskh Arabic", "Noto Sans Arabic", Tahoma, Arial, sans-serif !important;
}
html[lang="ar"] .lar-text-block,
html[lang="ar"] .lar-form {
  direction: rtl;
  text-align: right;
}

.lar-text-block {
  color: #121213;
  box-sizing: border-box;
  font-family: var(--awb-typography4-font-family, Roboto, Arial, Helvetica, sans-serif);
  font-size: var(--lar-type-body);
  line-height: var(--lar-type-body-line);
  letter-spacing: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  text-transform: none;
}
.lar-text-block--lead {
  max-width: 820px;
}
.lar-text-block--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.lar-text-block--right {
  text-align: right;
}
.lar-text-block--on-dark {
  color: #ffffff;
}
.lar-text-block--accent {
  color: var(--awb-color5, #a87246);
}
.lar-text-block[style*="--lar-text-max-width"] {
  max-width: var(--lar-text-max-width);
  width: 100%;
}
.lar-text-block > :first-child {
  margin-top: 0 !important;
}
.lar-text-block > :last-child {
  margin-bottom: 0 !important;
}
.lar-text-block p,
.lar-text-block li {
  color: inherit !important;
  font-family: var(--awb-typography4-font-family, Roboto, Arial, Helvetica, sans-serif) !important;
  font-size: var(--lar-type-body) !important;
  line-height: var(--lar-type-body-line) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.lar-text-block p {
  margin: 0 0 1.05em !important;
}
.lar-text-block h1,
.lar-text-block h2,
.lar-text-block h3 {
  color: inherit !important;
  font-family: var(--awb-typography1-font-family, "Abril Fatface", Georgia, serif) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.lar-text-block h1 {
  font-size: var(--lar-type-h1) !important;
  line-height: 1.08 !important;
  margin: 0 0 0.45em !important;
}
.lar-text-block h2 {
  font-size: var(--lar-type-h2) !important;
  line-height: 1.1 !important;
  margin: 0 0 0.5em !important;
}
.lar-text-block h3 {
  font-size: var(--lar-type-h3) !important;
  line-height: 1.15 !important;
  margin: 0 0 0.55em !important;
}
.lar-text-block strong,
.lar-text-block b {
  color: inherit !important;
  font-weight: 700;
}
.lar-text-block a {
  color: inherit !important;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.lar-home-info-button-wrap {
  margin-top: 10px !important;
}
.lar-home-info-button-wrap--multi {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: center !important;
  align-items: center !important;
}
.lar-home-info-button-wrap--multi .fusion-button {
  margin: 0 !important;
}
@media (max-width: 640px) {
  :root {
    --lar-type-body: 18px;
    --lar-type-h1: 38px;
    --lar-type-h2: 21px;
    --lar-type-h3: 24px;
  }
  .lar-text-block[style*="--lar-text-max-width"] {
    max-width: var(--lar-text-max-width-small, 100%);
  }
  .lar-text-block {
    max-width: calc(100vw - 48px);
    width: min(100%, calc(100vw - 48px));
  }
}

@media (max-width: 720px) {
  body:not(.home) .post-content > .fusion-fullwidth.fusion-builder-row-2 {
    --awb-padding-top: 30px !important;
    padding-top: 30px !important;
  }
  body.home #main {
    padding-top: 0 !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 {
    position: relative !important;
    width: 100vw !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    height: 100vh !important;
    height: 100svh !important;
    margin-top: 0 !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #111 !important;
    touch-action: pan-y !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.05) 34%, rgba(0, 0, 0, 0.58) 100%),
      radial-gradient(ellipse 104% 72% at 0% 100%, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.60) 33%, rgba(0, 0, 0, 0.24) 58%, rgba(0, 0, 0, 0) 78%);
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-swipe-cue {
    position: absolute;
    right: 18px;
    bottom: 142px;
    z-index: 20;
    width: auto;
    min-width: 76px;
    max-width: calc(100vw - 36px);
    height: 30px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: none;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-swipe-dot {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.52);
    transition: transform 220ms ease, background-color 220ms ease, opacity 220ms ease;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-swipe-dot.is-active {
    background: rgba(255, 255, 255, 0.96);
    transform: scale(1.16);
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-swipe-arrow {
    position: relative;
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    margin-left: 1px;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-swipe-arrow::before {
    content: "";
    position: absolute;
    inset: 1px 2px 0 0;
    border-top: 2px solid rgba(255, 255, 255, 0.95);
    border-right: 2px solid rgba(255, 255, 255, 0.95);
    transform: rotate(45deg);
    animation: lar-swipe-cue 1.45s ease-in-out infinite;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-swipe-cue::after {
    content: none;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 > .fusion-builder-row {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 > .fusion-builder-row > .fusion-layout-column:last-child,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 > .fusion-builder-row > .fusion-layout-column:last-child > .fusion-column-wrapper,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .fusion-image-element,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .fusion-imageframe {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .fusion-imageframe img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transition: opacity 220ms ease !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2.lar-mobile-home-hero .fusion-image-element,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2.lar-mobile-home-hero .fusion-imageframe {
    display: none !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2.lar-mobile-home-hero > .fusion-builder-row > .fusion-layout-column:last-child,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2.lar-mobile-home-hero > .fusion-builder-row > .fusion-layout-column:last-child > .fusion-column-wrapper {
    display: none !important;
    pointer-events: none !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-carousel {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-track {
    display: flex;
    height: 100%;
    will-change: transform;
    transform: translate3d(0, 0, 0);
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-track.is-settling {
    transition: transform 520ms cubic-bezier(0.32, 0.72, 0, 1);
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-track.is-dragging {
    transition: none !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-slide {
    flex: 0 0 100%;
    position: relative;
    height: 100%;
    overflow: hidden;
    background: #111;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .lar-mobile-home-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 > .fusion-builder-row > .fusion-layout-column:first-child {
    position: absolute !important;
    left: 14px !important;
    right: 22px !important;
    bottom: 56px !important;
    z-index: 3 !important;
    width: auto !important;
    max-width: 330px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 78px !important;
    pointer-events: none !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 > .fusion-builder-row > .fusion-layout-column:first-child > .fusion-column-wrapper {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .fusion-title,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .fusion-title-heading,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 h1 {
    text-align: left !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .fusion-title {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .title-sep-container,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 .awb-title-spacer {
    display: none !important;
  }
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 h1.fusion-title-heading,
  body.home .post-content > .fusion-fullwidth.fusion-builder-row-2 h1 {
    color: #fff !important;
    font-size: clamp(28px, 7.6vw, 33px) !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 300px !important;
    min-height: 78px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.76), 0 0 24px rgba(0, 0, 0, 0.55) !important;
  }
}

/* ── Home slider: titles were hard to read on light slides. Lay a
   bottom-anchored vignette over each slide for contrast, then beat
   Avada's default `2px 2px 1px black` text-shadow with a much
   heavier multi-layer drop shadow on the caption heading. ── */
.tfs-slider .slides > li,
.flexslider.main-flex .slides > li {
  position: relative !important;
}
.tfs-slider .slides > li::after,
.flexslider.main-flex .slides > li::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 70% 70% at 0% 100%,
    rgba(0, 0, 0, 1.00) 0%,
    rgba(0, 0, 0, 0.75) 25%,
    rgba(0, 0, 0, 0.45) 50%,
    rgba(0, 0, 0, 0.17) 70%,
    rgba(0, 0, 0, 0) 92%
  );
  pointer-events: none;
  z-index: 3;
}
.tfs-slider .slides > li .caption,
.tfs-slider .slides > li .fusion-title-sc-wrapper,
.flexslider.main-flex .slides > li .caption,
.flexslider.main-flex .slides > li .fusion-title-sc-wrapper {
  position: relative;
  z-index: 2;
}
/* Elegant light glass behind the main slide heading only (h1/h2 —
   NOT the small h3 subtitle "Custom made in Italy"). Subtle whitish
   tint, soft blur, single hairline border, gentle shadow. */
.tfs-slider .slides > li h1.fusion-title-heading,
.tfs-slider .slides > li h2.fusion-title-heading,
.flexslider.main-flex .slides > li h1.fusion-title-heading,
.flexslider.main-flex .slides > li h2.fusion-title-heading {
  display: inline-block !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-shadow:
    0 2px 6px rgba(0, 0, 0, 0.70),
    0 0 18px rgba(0, 0, 0, 0.50) !important;
  -webkit-text-stroke: 0 !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  font-size: 52px !important;
  line-height: 1.15 !important;
}

/* Move the entire slide content block (heading + subtitle + buttons)
   to the bottom-left corner of each slide and left-align text. */
.tfs-slider .slides > li .slide-content-container,
.flexslider.main-flex .slides > li .slide-content-container {
  top: auto !important;
  bottom: 40px !important;
  left: 40px !important;
  right: 40px !important;
  transform: none !important;
  text-align: left !important;
  max-width: 900px !important;
  width: auto !important;
}
.tfs-slider .slides > li .slide-content,
.tfs-slider .slides > li .heading,
.tfs-slider .slides > li .fusion-title-sc-wrapper,
.tfs-slider .slides > li .fusion-title,
.tfs-slider .slides > li .buttons,
.flexslider.main-flex .slides > li .slide-content,
.flexslider.main-flex .slides > li .heading,
.flexslider.main-flex .slides > li .fusion-title,
.flexslider.main-flex .slides > li .buttons {
  text-align: left !important;
}
.tfs-slider .slides > li .fusion-title,
.flexslider.main-flex .slides > li .fusion-title {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 !important;
}
.tfs-slider .slides > li .title-sep-container,
.tfs-slider .slides > li .awb-title-spacer,
.flexslider.main-flex .slides > li .title-sep-container,
.flexslider.main-flex .slides > li .awb-title-spacer {
  display: none !important;
}
.tfs-slider .slides > li .fusion-title-heading.title-heading-center,
.flexslider.main-flex .slides > li .fusion-title-heading.title-heading-center {
  text-align: left !important;
}
/* Slide buttons in a tight single row (no wrap, no extra margins). */
.tfs-slider .slides > li .buttons,
.flexslider.main-flex .slides > li .buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  margin-top: 20px !important;
  padding: 0 !important;
}
.tfs-slider .slides > li .buttons > div,
.flexslider.main-flex .slides > li .buttons > div {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.tfs-slider .slides > li .buttons a.fusion-button,
.flexslider.main-flex .slides > li .buttons a.fusion-button {
  padding: 14px 28px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
@media (max-width: 720px) {
  .tfs-slider .slides > li .slide-content-container,
  .flexslider.main-flex .slides > li .slide-content-container {
    bottom: 24px !important;
    left: 20px !important;
    right: 20px !important;
    max-width: 92% !important;
  }
  .tfs-slider .slides > li .buttons,
  .flexslider.main-flex .slides > li .buttons {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-top: 16px !important;
    width: 100% !important;
  }
  .tfs-slider .slides > li .buttons > div,
  .tfs-slider .slides > li .buttons > div > div,
  .flexslider.main-flex .slides > li .buttons > div,
  .flexslider.main-flex .slides > li .buttons > div > div {
    width: min(100%, 260px) !important;
  }
  .tfs-slider .slides > li .buttons a.fusion-button,
  .flexslider.main-flex .slides > li .buttons a.fusion-button {
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 16px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* ── post-card grids (1, 2, 3, 4) — same height per row, image flush
   to the top, buttons pinned to the card bottom. Validated against
   actual rendered measurements (no inline-flex restructuring of the LI;
   only propagate flex grow through Avada's existing column wrapper
   chain so margin-top:auto on the button has space to push into). ── */
.fusion-post-cards .fusion-grid {
  align-items: stretch !important;
}
.fusion-post-cards li.post-card > .fusion-column-wrapper.fusion-flex-justify-content-space-evenly {
  justify-content: flex-start !important;
  height: 100%;
}
.fusion-post-cards li.post-card .fusion-builder-row-inner {
  flex: 1;
  align-items: stretch !important;
}
.fusion-post-cards li.post-card .fusion_builder_column_inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-self: stretch !important;
  height: 100%;
}
.fusion-post-cards li.post-card .fusion_builder_column_inner > .fusion-column-wrapper.fusion-column-has-shadow {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
}
/* Pin the button's parent (last child of the inner column-wrapper) to
   the bottom. Avada has its own .fusion-column-has-shadow > * rule with
   high specificity so we use !important to win. */
.fusion-post-cards li.post-card .fusion_builder_column_inner .fusion-column-wrapper.fusion-column-has-shadow > div:last-child,
.fusion-post-cards li.post-card .fusion-column-has-shadow > div:nth-last-child(1) {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
/* Make sure has-shadow grows to fill its container so margin-top:auto
   has unused vertical space to push into. */
.fusion-post-cards li.post-card .fusion-column-has-shadow {
  flex: 1 0 auto !important;
}
/* For 2-col grids that use `flex-align-items-flex-start`, force stretch
   so cards in the row match the tallest. */
.fusion-post-cards .fusion-grid.fusion-flex-align-items-flex-start {
  align-items: stretch !important;
}
/* Strip the LI's own vertical padding (Avada adds 20px top/bot on the
   2-col grid's post-cards), so the image sits flush to the card top. */
.fusion-post-cards li.post-card {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.fusion-post-cards-4 li.post-card .fusion-image-element,
.fusion-post-cards-4 li.post-card .fusion-imageframe,
.fusion-post-cards-4 li.post-card .fusion-imageframe > a {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  overflow: hidden !important;
}
.fusion-post-cards-4 li.post-card .fusion-image-element {
  position: relative !important;
  aspect-ratio: 5 / 4 !important;
  background: var(--awb-color8, #121213) !important;
}
.fusion-post-cards-4 li.post-card .fusion-imageframe,
.fusion-post-cards-4 li.post-card .fusion-imageframe > a {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
}
.fusion-post-cards-4 li.post-card .fusion-imageframe img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Main footer 3-column row — Avada sets per-column `align-self`
   (col 0=flex-start, col 1=flex-end, col 2=flex-start) which makes the
   middle column drop ~60px below the row top and the right column end
   ~290px above the row bottom. Force every column to stretch to the
   row height so all three share the same top + bottom edges. Inner
   content keeps its own justify-content so logos/menus/socials stay
   centered or evenly spaced within the column. */
.fusion-tb-footer .fusion-row.fusion-flex-align-items-stretch > .fusion-flex-column,
.fusion-tb-footer .fusion-builder-row.fusion-flex-align-items-stretch > .fusion-flex-column {
  align-self: stretch !important;
}
/* Once columns are stretched, push their inner content to the top so
   the heading row ("Company" / "Follow us" / logo) shares the same
   baseline across columns. Without this, Avada's per-column wrap
   justify-content (center / space-around) leaves headings at
   different Y values. */
.fusion-tb-footer .fusion-row.fusion-flex-align-items-stretch > .fusion-flex-column > .fusion-column-wrapper,
.fusion-tb-footer .fusion-builder-row.fusion-flex-align-items-stretch > .fusion-flex-column > .fusion-column-wrapper {
  justify-content: flex-start !important;
}
/* Within the left + middle footer columns, pin the trailing block
   (address paragraph in col 1, Products group in col 2) to the
   bottom edge so info@ and "Walk-in Closets Projects" share the
   same baseline.

   Col 1: the empty <a.fusion-modal-text-link> sits between the logo
   and the address paragraph. Giving it flex-grow:1 makes it absorb
   all the column's free vertical space, which pushes the address
   paragraph down to the column bottom. (margin-top:auto on the P
   is overridden by Avada's high-specificity P margin rule, so the
   spacer-grow approach is what actually wins the cascade.)

   Col 2: margin-top:auto on the .fusion-separator (which sits
   between Company nav and Products title) lifts the separator +
   everything after it — i.e. the Products group — to the bottom of
   the column. */
.fusion-tb-footer .fusion-row.fusion-flex-align-items-stretch > .fusion-flex-column:nth-child(1) > .fusion-column-wrapper > a.fusion-modal-text-link,
.fusion-tb-footer .fusion-builder-row.fusion-flex-align-items-stretch > .fusion-flex-column:nth-child(1) > .fusion-column-wrapper > a.fusion-modal-text-link {
  flex-grow: 1 !important;
  flex-shrink: 0 !important;
  flex-basis: 0 !important;
}
/* Strip the address paragraph's default 1em bottom margin so info@'s
   baseline matches the column bottom (== Products nav baseline in
   col 2). */
.fusion-tb-footer .fusion-row.fusion-flex-align-items-stretch > .fusion-flex-column:nth-child(1) > .fusion-column-wrapper > p,
.fusion-tb-footer .fusion-builder-row.fusion-flex-align-items-stretch > .fusion-flex-column:nth-child(1) > .fusion-column-wrapper > p {
  margin-bottom: 0 !important;
}
.fusion-tb-footer .fusion-row.fusion-flex-align-items-stretch > .fusion-flex-column:nth-child(2) > .fusion-column-wrapper > .fusion-separator,
.fusion-tb-footer .fusion-builder-row.fusion-flex-align-items-stretch > .fusion-flex-column:nth-child(2) > .fusion-column-wrapper > .fusion-separator {
  margin-top: auto !important;
}

/* Footer copyright bar — Avada inline-styles `--awb-text-color: color8`
   (near-black) on a dark backdrop ⇒ invisible. Force white. Also balance
   the column widths and keep the menu links visible. */
.fusion-tb-footer ~ aside,
.fusion-tb-footer + aside,
aside.fusion-builder-row-14 {
  background: var(--awb-color7, #333) !important;
}
aside.fusion-builder-row-14 .fusion-text,
aside.fusion-builder-row-14 .fusion-text p,
aside.fusion-builder-row-14 .awb-menu__main-a,
aside.fusion-builder-row-14 .menu-text {
  color: rgba(255, 255, 255, 0.85) !important;
}
aside.fusion-builder-row-14 .awb-menu__main-a:hover,
aside.fusion-builder-row-14 .awb-menu__main-a:focus {
  color: #fff !important;
}
aside.fusion-builder-row-14 .fusion-row {
  align-items: center;
  padding-block: 12px;
}
aside.fusion-builder-row-14 .fusion-text p {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-align: left;
}
@media (max-width: 800px) {
  aside.fusion-builder-row-14 .fusion-text p,
  aside.fusion-builder-row-14 ul#menu-footer3 {
    text-align: center !important;
    justify-content: center !important;
  }
}

/* Disable Avada parallax (background-attachment: fixed) to avoid the
   "form panel slides over a static image" effect. Limited to elements
   that explicitly set fixed via inline style. */
[style*="background-attachment"] {
  background-attachment: scroll !important;
}

/* Hide the "Handcrafted" highlight badge on the Kitchens menu item. */
.awb-menu__highlight {
  display: none !important;
}

/* Strip the button-style treatment from the "Kitchens" main-nav item so
   every nav item renders identically (no border, no padded button look,
   no fusion-button background). Targets both the <li> wrapper and the
   inner <span class="menu-text fusion-button ..."> Avada injects. */
.awb-menu .awb-menu__main-li.awb-menu__li_button > .awb-menu__main-a,
.awb-menu .awb-menu__main-li > .awb-menu__main-a.awb-menu__main-a_button {
  background: transparent !important;
  border: 0 !important;
  padding: inherit !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.awb-menu .awb-menu__main-li > .awb-menu__main-a > .menu-text.fusion-button {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  display: inline !important;
}

/* Desktop header fit: after the site-wide EB Garamond switch the main nav can
   wrap on laptop widths. Keep desktop nav locked to one row, but preserve the
   original header columns, logo, and catalog button sizing. */
@media (min-width: 1221px) {
  .fusion-tb-header header > .fusion-builder-row {
    flex-wrap: nowrap !important;
  }
  nav[aria-label="Fashion Main Menu"] > .awb-menu__main-ul {
    flex-wrap: nowrap !important;
  }
  nav[aria-label="Fashion Main Menu"] .awb-menu__main-a,
  nav[aria-label="Fashion Main Menu"] .menu-text {
    white-space: nowrap !important;
  }
}

@media (min-width: 1221px) and (max-width: 1919px) {
  nav[aria-label="Fashion Main Menu"] {
    --awb-font-size: clamp(16px, 1.22vw, 21px) !important;
    --awb-gap: clamp(0px, 0.35vw, 8px) !important;
    --awb-main-justify-content: center !important;
    --awb-justify-content: center !important;
  }
  nav[aria-label="Fashion Main Menu"] > .awb-menu__main-ul {
    justify-content: center !important;
    gap: var(--awb-gap) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  nav[aria-label="Fashion Main Menu"] > .awb-menu__main-ul > .awb-menu__main-li {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
  nav[aria-label="Fashion Main Menu"] .awb-menu__main-a {
    padding-right: clamp(2px, 0.28vw, 8px) !important;
    padding-left: clamp(2px, 0.28vw, 8px) !important;
    min-width: 0 !important;
  }
}

@media (min-width: 1221px) and (max-width: 1300px) {
  .fusion-tb-header header > .fusion-builder-row > .fusion-layout-column:nth-child(3) .fusion-button {
    padding-right: 20px !important;
    padding-left: 20px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1220px) {
  nav[aria-label="Fashion Main Menu"].mobile-mode-collapse-to-button {
    position: static !important;
  }
  nav[aria-label="Fashion Main Menu"].mobile-mode-collapse-to-button > .awb-menu__main-ul {
    display: none !important;
  }
  nav[aria-label="Fashion Main Menu"].mobile-mode-collapse-to-button.lar-mobile-menu-open > .awb-menu__main-ul {
    display: block !important;
    position: fixed !important;
    top: 96px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: calc(100vh - 96px) !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: var(--awb-color2, #f6f6f6) !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22) !important;
    z-index: 3000 !important;
    pointer-events: auto !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-li {
    position: relative !important;
    width: 100% !important;
    pointer-events: auto !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-a,
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__sub-a {
    justify-content: flex-start !important;
    min-height: 56px !important;
    width: 100% !important;
    padding: 16px 56px 16px 24px !important;
    text-align: left !important;
    pointer-events: auto !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-a_button,
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-a_button .menu-text.fusion-button {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-a_button {
    padding: 16px 56px 16px 24px !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-li > .awb-menu__main-a.awb-menu__main-a_button {
    padding: 16px 56px 16px 24px !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__main-li > .awb-menu__main-a.awb-menu__main-a_button .menu-text.fusion-button {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__open-nav-submenu_mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 56px !important;
    height: 56px !important;
    z-index: 20 !important;
    pointer-events: auto !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .menu-item-has-children > .awb-menu__sub-ul {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .menu-item-has-children.expanded > .awb-menu__sub-ul {
    display: block !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__sub-a {
    padding-left: 38px !important;
    background: rgba(255, 255, 255, 0.72) !important;
  }
  nav[aria-label="Fashion Main Menu"].lar-mobile-menu-open .awb-menu__sub-ul_grand .awb-menu__sub-a {
    padding-left: 52px !important;
  }
  body.lar-mobile-menu-active {
    overflow: hidden !important;
  }
}

@media (max-width: 720px) {
  .tfs-slider .slides > li::after,
  .flexslider.main-flex .slides > li::after {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.05) 34%, rgba(0, 0, 0, 0.58) 100%),
      radial-gradient(ellipse 104% 72% at 0% 100%, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.60) 33%, rgba(0, 0, 0, 0.24) 58%, rgba(0, 0, 0, 0) 78%) !important;
  }
  .tfs-slider .slides > li .slide-content-container,
  .flexslider.main-flex .slides > li .slide-content-container {
    bottom: 56px !important;
    left: 14px !important;
    right: 22px !important;
    max-width: 330px !important;
    min-height: 78px !important;
  }
  .tfs-slider .slides > li .slide-content,
  .tfs-slider .slides > li .heading,
  .tfs-slider .slides > li .fusion-title,
  .tfs-slider .slides > li .fusion-title-sc-wrapper,
  .flexslider.main-flex .slides > li .slide-content,
  .flexslider.main-flex .slides > li .heading,
  .flexslider.main-flex .slides > li .fusion-title,
  .flexslider.main-flex .slides > li .fusion-title-sc-wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    opacity: 1 !important;
  }
  .tfs-slider .slides > li h1.fusion-title-heading,
  .tfs-slider .slides > li h2.fusion-title-heading,
  .flexslider.main-flex .slides > li h1.fusion-title-heading,
  .flexslider.main-flex .slides > li h2.fusion-title-heading {
    font-size: clamp(28px, 7.6vw, 33px) !important;
    line-height: 1.12 !important;
    min-height: 78px !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 330px !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.76), 0 0 24px rgba(0, 0, 0, 0.55) !important;
  }
  .tfs-slider::before,
  .tfs-slider::after,
  .flexslider.main-flex::before,
  .flexslider.main-flex::after {
    content: none !important;
  }
  .tfs-slider.lar-apple-swipe-bound::before,
  .tfs-slider.lar-apple-swipe-bound::after,
  .flexslider.main-flex.lar-apple-swipe-bound::before,
  .flexslider.main-flex.lar-apple-swipe-bound::after {
    content: none !important;
  }
  .tfs-slider.lar-apple-swipe-bound,
  .flexslider.main-flex.lar-apple-swipe-bound {
    position: relative !important;
    touch-action: pan-y;
  }
  .lar-apple-swipe-cue {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 20;
    width: auto;
    min-width: 76px;
    max-width: calc(100vw - 36px);
    height: 30px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: none;
  }
  .lar-apple-swipe-dot {
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.52);
    transition: transform 220ms ease, background-color 220ms ease, opacity 220ms ease;
  }
  .lar-apple-swipe-dot.is-active {
    background: rgba(255, 255, 255, 0.96);
    transform: scale(1.16);
  }
  .lar-apple-swipe-arrow {
    position: relative;
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    margin-left: 1px;
  }
  .lar-apple-swipe-arrow::before {
    content: "";
    position: absolute;
    inset: 1px 2px 0 0;
    border-top: 2px solid rgba(255, 255, 255, 0.95);
    border-right: 2px solid rgba(255, 255, 255, 0.95);
    transform: rotate(45deg);
    animation: lar-swipe-cue 1.45s ease-in-out infinite;
  }
}

@media (max-width: 720px) {
  body.single-post #main .fusion-title[style*="--awb-text-color:#ffffff"] .fusion-title-heading,
  body.single-post #main .fusion-title[style*="--awb-text-color:#fff"] .fusion-title-heading {
    color: #1a1a18 !important;
    text-shadow: none !important;
  }
  body.single-post #main h2.fusion-title-heading.fusion-responsive-typography-calculated {
    font-size: 32px !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
  }
  body.single-post #main h3.fusion-title-heading.fusion-responsive-typography-calculated {
    font-size: 26px !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
  }
  body.single-post #main .fusion-content-tb p,
  body.single-post #main .fusion-content-tb li {
    color: #1a1a18 !important;
    font-size: 18px !important;
    line-height: 1.62 !important;
  }
}

body.single-post #main .fusion-content-tb h2,
body.single-post #main .fusion-content-tb h3 {
  color: #1a1a18 !important;
  text-shadow: none !important;
}

@keyframes lar-swipe-cue {
  0%, 100% { transform: translateX(-5px) rotate(45deg); opacity: 0.55; }
  50% { transform: translateX(4px) rotate(45deg); opacity: 1; }
}

/* ── Gallery normalisation. Bathroom mirrors substitute images of varying
   aspect ratios (portrait / panoramic / square) into Avada galleries that
   were originally tuned for matched ~3:2 landscape photos. Force a 3:2
   aspect ratio + object-fit:cover on every gallery item so portraits and
   squares render as consistent landscape thumbnails (cropped, but the
   lightbox click-through shows the full image). Hardcoded width/height
   attributes baked into the source mirror are overridden via height:auto
   so the cell collapses around the new aspect ratio. ── */
.fusion-gallery .fusion-gallery-image {
  width: 100% !important;
}
.fusion-gallery .fusion-gallery-image > a {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}
.fusion-gallery .fusion-gallery-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* Page-title-bar hero — force landscape framing too, in case the chosen
   page-title-bar bg is portrait. */
.fusion-page-title-bar,
[class*="awb-pagetitle-bg-fullscreen"] {
  min-height: 360px !important;
}

/* ── intl-tel-input on the contact-form phone field. Avada wraps the
   <input> in `.fusion-form-input-with-icon` (which paints a phone <i> on
   the left and pads the input to clear it). With iti taking over the
   left side with its own flag + dial-code prefix, both the Avada icon
   and its left-padding become redundant — and worse, iti's flag area
   ends up overlapping the placeholder text. Strip Avada's icon, drop
   the icon-wrapper's left padding, then force a wide-enough left pad on
   the input so the placeholder + typed digits sit clear of iti's prefix
   area. The 110px figure was chosen to fit "🇺🇸 +XXX " for the longest
   common dial codes (e.g. +966, +971). */
/* intl-tel-input: country dropdown lifted above subsequent fields and
   styled so its black-on-white list reads against any page bg. */
.iti__dropdown,
.iti__dropdown-content,
.iti--container,
.iti__country-list {
  z-index: 100000 !important;
}
.iti__country-list {
  color: #000 !important;
  background: #fff !important;
  text-align: left;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.lar-form .iti {
  display: block;
  width: 100%;
  position: relative;
}
.lar-form .iti--allow-dropdown .iti__tel-input,
.lar-form .iti .iti__tel-input {
  width: 100% !important;
  padding-left: 96px !important;
}
.lar-form-wrapper {
  width: 100% !important;
  max-width: 520px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* ── Clean contact form (replaces the Avada-cluttered version).
   Pixel-matched palette from the original render: gray #747474
   panel containing the form, white inputs, dark submit button with
   white text. No Avada cruft inside. */
.lar-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin: 0;
  background: #747474;
  padding: 28px 32px 36px;
  box-sizing: border-box;
  font-family: var(--awb-typography1-font-family, inherit);
  color: #fff;
  font-size: 15px;
}
.lar-form__title {
  margin: 0 0 6px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 400;
  color: #fff;
  font-family: inherit;
}
.lar-form__row { width: 100%; }
.lar-form input[type="text"],
.lar-form input[type="email"],
.lar-form input[type="tel"],
.lar-form select,
.lar-form textarea {
  width: 100%;
  background: #ffffff;
  border: 0;
  color: #1a1a1a;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 1.4;
  font-family: inherit;
  box-sizing: border-box;
  outline: none;
  border-radius: 0;
  transition: box-shadow .2s ease;
}
.lar-form input::placeholder,
.lar-form textarea::placeholder {
  color: #6f6f6f;
}
.lar-form input:focus,
.lar-form select:focus,
.lar-form textarea:focus {
  box-shadow: inset 0 0 0 2px #1a1a1a;
}
.lar-form select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%231a1a1a' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}
.lar-form select option {
  color: #1a1a1a;
  background: #ffffff;
}
.lar-form textarea {
  resize: vertical;
  min-height: 110px;
}
.lar-form__row--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  padding: 4px 0;
}
.lar-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.4;
  color: inherit;
}
.lar-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 16px;
  accent-color: #1a1a1a;
  cursor: pointer;
}
.lar-form__consent {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
}
.lar-check--small {
  align-items: flex-start;
  font-size: 12px;
  line-height: 1.35;
}
.lar-check--small input[type="checkbox"] {
  margin-top: 2px;
}
.lar-form a {
  color: inherit;
  text-decoration: underline;
}
.lar-form__submit {
  margin-top: 14px;
  align-self: center;
  background: #333333;
  color: #ffffff;
  border: 0;
  padding: 16px 56px;
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background-color .2s ease;
}
.lar-form__submit:hover,
.lar-form__submit:focus-visible {
  background: #000000;
  outline: none;
}
@media (max-width: 640px) {
  .fusion-column-wrapper:has(.lar-form-wrapper),
  .fusion-column-wrapper:has(.lar-form) {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .lar-form-wrapper {
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
  }
  .lar-form {
    padding: 28px 24px 34px !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .lar-form input[type="text"],
  .lar-form input[type="email"],
  .lar-form input[type="tel"],
  .lar-form select,
  .lar-form textarea,
  .lar-form .iti__selected-country,
  .iti__search-input,
  .iti__country,
  .iti__dial-code,
  .iti__country-name {
    font-size: 16px !important;
  }
  .lar-form .iti--allow-dropdown .iti__tel-input,
  .lar-form .iti .iti__tel-input {
    padding-left: 96px !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html,
  body,
  #boxed-wrapper,
  #wrapper {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .lar-form .iti__country-container,
  .lar-form .iti__selected-country {
    width: 88px !important;
    max-width: 88px !important;
    min-width: 88px !important;
    box-sizing: border-box !important;
  }
  .lar-form .iti__selected-country {
    justify-content: flex-start !important;
    padding: 0 8px !important;
    gap: 4px !important;
    overflow: hidden !important;
  }
  .lar-form .iti__selected-country-primary {
    max-width: 45px !important;
    min-width: 0 !important;
    flex: 0 0 45px !important;
    gap: 5px !important;
    overflow: hidden !important;
  }
  .lar-form .iti__selected-dial-code {
    max-width: 38px !important;
    min-width: 0 !important;
    flex: 0 1 38px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }
  .iti--container,
  .iti__dropdown,
  .iti__dropdown-content,
  .iti__country-list {
    left: 16px !important;
    right: 16px !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }
  .iti__country {
    max-width: 100% !important;
    white-space: normal !important;
  }
  .iti__country-name {
    overflow-wrap: anywhere !important;
  }
  .lar-form__submit {
    width: 100% !important;
    min-height: 56px !important;
    padding: 14px 18px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  .lar-project-page .fusion-layout-column:has(.lar-form-wrapper),
  .lar-project-page .fusion-layout-column:has(.lar-form) {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .lar-project-page section:has(.lar-form-wrapper),
  .lar-project-page section:has(.lar-form) {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .lar-project-page .fusion-no-small-visibility:has(.lar-form-wrapper),
  .lar-project-page .fusion-no-small-visibility:has(.lar-form),
  .lar-project-page .fusion-no-small-visibility:has(.lar-mobile-project-copy) {
    display: flex !important;
    visibility: visible !important;
  }
  .lar-project-page section.fusion-no-small-visibility:has(.lar-form-wrapper),
  .lar-project-page section.fusion-no-small-visibility:has(.lar-form),
  .lar-project-page .fusion-fullwidth.fusion-no-small-visibility:has(.lar-form-wrapper),
  .lar-project-page .fusion-fullwidth.fusion-no-small-visibility:has(.lar-form) {
    flex-wrap: wrap !important;
  }
  .lar-project-page .fusion-column-wrapper:has(.lar-form-wrapper),
  .lar-project-page .fusion-column-wrapper:has(.lar-form) {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .lar-project-page .fusion-form-form-wrapper.lar-form-wrapper,
  .lar-project-page .lar-form {
    width: 100% !important;
  }
  .lar-mobile-project-copy {
    display: block !important;
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    margin: 28px auto 0 !important;
    padding: 0 0 8px !important;
    color: #121213 !important;
  }
}

/* ── Footer — visual 1:1 with the original Avada render. ── */
.lar-footer {
  background: #242427;
  color: #ffffff;
  font-family: var(--awb-typography1-font-family, inherit);
  font-size: 16px;
  line-height: 1.7;
}
.lar-footer a { color: inherit; }
.lar-footer__inner {
  max-width: 1216.8px;
  margin: 0 auto;
  padding: 48px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  align-items: stretch;
  text-align: center;
}
.lar-footer__brand { display: flex; flex-direction: column; align-items: center; }
.lar-footer__logo {
  display: block;
  max-width: 200px;
  width: 100%;
  height: auto;
  margin: 0 auto 16px;
}
.lar-footer__address { margin: 0; font-size: 16px; }
.lar-footer__address a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lar-footer__address a:hover { text-decoration: none; }
.lar-footer__heading {
  margin: 0 0 14px;
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.3;
  color: #ffffff;
}
.lar-footer__menus {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.lar-footer__menus > .lar-footer__heading:nth-of-type(2) {
  margin-top: auto;
}
.lar-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lar-footer__menu li { margin: 0; }
.lar-footer__menu a { text-decoration: none; }
.lar-footer__menu a:hover { text-decoration: underline; }
.lar-footer__social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 22px;
}
.lar-footer__social li { margin: 0; }
.lar-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: #ffffff;
  text-decoration: none;
  transition: opacity .2s ease;
}
.lar-footer__social a:hover { opacity: 0.7; }
.lar-footer__social svg { width: 22px; height: 22px; }
.lar-footer .footer-language {
  margin-top: 22px;
}
.lar-footer .footer-language__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.lar-footer .footer-language__list li {
  margin: 0;
}
.lar-footer .footer-language__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.lar-footer .footer-language__link:hover {
  border-color: rgba(255, 255, 255, 0.56);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  text-decoration: none;
}

.lar-footer__bottom {
  background: #1f1f22;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 14px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  max-width: none;
  margin: 0;
  text-align: center;
}
.lar-footer__copy {
  margin: 0;
  text-align: center;
}
.lar-footer__legal {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.lar-footer__legal li { margin: 0; }
.lar-footer__legal a { text-decoration: none; }
.lar-footer__legal a:hover { text-decoration: underline; }

@media (max-width: 980px) {
  .lar-footer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 16px;
  }
  .lar-footer__bottom {
    flex-direction: column;
    text-align: center;
    padding: 14px 16px;
  }
  .lar-footer__copy { text-align: center; }
  .lar-footer__legal { justify-content: center; }
}
