/* Shared footer: native menus, global contact data and existing Outfit/Bootstrap containers. */
.site-footer.ls-footer { position:relative; isolation:isolate; overflow:hidden; padding:0; border:0; background:radial-gradient(ellipse at top left,var(--theme-decor-ffffff05),transparent 65%),var(--footer-bg,var(--theme-decor-382735)); color:var(--footer-ink,var(--theme-decor-f7f3f6)); }
.ls-footer::before,.ls-footer::after { content:''; position:absolute; z-index:-1; pointer-events:none; width:390px; height:280px; border:16px solid var(--theme-decor-ffffff07); border-radius:40%; inset-inline-start:-175px; bottom:-115px; transform:rotate(25deg); }
.ls-footer::after { transform:rotate(55deg); bottom:-160px; inset-inline-start:-115px; }
.ls-footer a { color:inherit; text-decoration:none; }
.ls-footer a:hover,.ls-footer a:focus-visible { color:var(--footer-accent,var(--theme-decor-ff6475)); }
.ls-footer a:focus-visible,.ls-footer button:focus-visible { outline:2px solid var(--theme-focus-color); outline-offset:4px; }
.ls-footer__main { display:grid; grid-template-columns:minmax(0,1.65fr) repeat(var(--footer-link-columns,4),minmax(0,1fr)); align-items:start; gap:38px; padding-block:88px 44px; }
.ls-footer__brand { min-width:0; padding-inline-end:36px; border-inline-end:1px solid var(--theme-decor-ffffff20); }
.ls-footer__brand .custom-logo { display:block; width:var(--footer-logo-width,280px); max-width:100%; height:auto; }
.ls-footer__site-name { font-size:var(--theme-h2-size,2rem); font-weight:600; }
.ls-footer__tagline { margin:24px 0 0; font-size:var(--theme-h3-size,1.5rem); line-height:1.45; color:var(--footer-ink); font-weight:300; }
.ls-footer__socials { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.ls-footer__socials a { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid currentColor; border-radius:50%; }
.ls-footer__socials svg { width:22px; height:22px; }
.ls-footer__apps { margin-top:40px; }
.ls-footer__apps-title { margin:0 0 14px; font-size:var(--theme-small-size,.75rem); letter-spacing:.16em; text-transform:uppercase; font-weight:400; color:inherit; }
.ls-footer__badges { display:flex; flex-wrap:wrap; gap:8px; }
.ls-footer__badge { display:flex; align-items:center; gap:8px; min-width:132px; padding:7px 8px; border:1px solid var(--theme-decor-ffffff99); border-radius:6px; background:var(--theme-footer-badge-bg); color:var(--theme-contrast-text); }
.ls-footer__badge svg { width:25px; height:29px; flex-shrink:0; }
.ls-footer__badge span { display:flex; flex-direction:column; }
.ls-footer__badge small { font-size:10px; line-height:1.2; }
.ls-footer__badge strong { font-size:16px; line-height:1.2; font-weight:500; white-space:nowrap; }
.ls-footer__column { min-width:0; }
.ls-footer__heading { margin:0 0 24px; padding:0; color:inherit; font-size:var(--theme-small-size,.75rem); font-weight:500; letter-spacing:.18em; text-transform:uppercase; line-height:1.5; }
.ls-footer__heading::after { content:''; display:block; width:30px; height:3px; margin-top:14px; background:var(--footer-accent,var(--theme-decor-ff6475)); }
.ls-footer ul { list-style:none; padding:0; margin:0; }
.ls-footer-menu li { position:relative; }
.ls-footer-menu a { display:block; padding:8px 0; padding-inline-end:28px; font-size:var(--theme-nav-font-size,var(--livspace-font-size)); line-height:1.65; overflow-wrap:anywhere; }
.ls-footer a[aria-disabled=true] { cursor:default; }
.ls-footer-menu .sub-menu { display:none; margin-block:4px 8px; padding-inline-start:12px; border-inline-start:1px solid var(--theme-decor-ffffff25); }
.ls-footer-menu .is-open > .sub-menu { display:block; }
.ls-footer-menu .sub-menu a { color:var(--footer-muted); font-size:var(--theme-small-size,.875rem); }
.ls-footer-toggle { position:absolute; inset-inline-end:0; top:7px; display:flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; }
.ls-footer-toggle span { width:8px; height:8px; border-inline-end:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.ls-footer-toggle[aria-expanded=true] span { transform:rotate(225deg); }
.ls-footer__contact-item { margin-bottom:22px; }
.ls-footer__contact-item h3 { margin:0 0 5px; font-size:var(--theme-paragraph-size,var(--livspace-font-size)); line-height:1.5; font-weight:500; color:inherit; }
.ls-footer__contact-item a,.ls-footer__contact-item address { color:var(--footer-muted); font-size:var(--theme-paragraph-size,var(--livspace-font-size)); font-style:normal; line-height:1.6; overflow-wrap:anywhere; }
.ls-footer__bottom { border-top:1px solid var(--theme-decor-ffffff25); }
.ls-footer__bottom-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding-block:23px; font-size:var(--theme-small-size,.8125rem); }
.ls-footer__bottom p { margin:0; font-size:inherit; }
.ls-footer__credits { color:var(--footer-muted); font-size:var(--theme-small-size,.75rem); }
@media(max-width:1199px) { .ls-footer__main { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding-top:60px; } .ls-footer__brand { grid-column:1/-1; border:0; padding:0 0 28px; border-bottom:1px solid var(--theme-decor-ffffff20); } .ls-footer__badges { max-width:340px; } }
@media(max-width:767px) { .ls-footer__main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; padding-block:44px 36px; } .ls-footer__heading { margin-bottom:16px; } .ls-footer__bottom-inner { align-items:flex-start; flex-direction:column; } }
@media(max-width:359px) { .ls-footer__main { grid-template-columns:minmax(0,1fr); } .ls-footer__brand { grid-column:auto; } }
