/* Login Shop design layer — footer (template "loginshop-footer"). Part of module loginshopdesign. */
#footer .ls-ft-section, #footer .ls-ft-section > .elementor-container, #footer .ls-ft-section .elementor-column-wrap,
#footer .ls-ft-section .elementor-widget-wrap { padding: 0 !important; }
#footer .ls-ft-section .elementor-widget { margin: 0 !important; }
#footer .ls-ft-section > .elementor-container { max-width: none !important; }
.ls-ft { width: 100%; font-family: var(--ls-font); }
.ls-ft-in { max-width: 1280px; margin: 0 auto; padding: 0 24px; }

/* Newsletter band: green -> orange */
.ls-ft-nl { background: linear-gradient(90deg, #047857 0%, #059669 45%, #c2410c 85%, #ea580c 100%); color: #fff; }
.ls-ft-nl .ls-ft-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 22px; padding-bottom: 22px; }
.ls-ft-nl-left { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ls-ft-nl-icon { flex: none; width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; color: #fff; }
.ls-ft-nl h3 { margin: 0; color: #fff !important; font: 800 17px/1.25 var(--ls-font-display, var(--ls-font)); }
.ls-ft-nl p { margin: 3px 0 0; color: #d1fae5 !important; font-size: 13px; }
.ls-ft-nl-form { position: relative; display: flex; gap: 8px; flex: 0 1 460px; margin: 0; }
.ls-ft-nl-form input { flex: 1 1 auto; min-width: 0; height: 44px; border: 0 !important; border-radius: 10px !important; padding: 0 16px !important; font: 500 14px var(--ls-font); color: #0f172a; background: #fff !important; box-shadow: none !important; }
.ls-ft-nl-form button { flex: none; height: 44px; padding: 0 22px; border: 0; border-radius: 10px; background: #0f172a; color: #fff; font: 700 14px var(--ls-font); cursor: pointer; }
.ls-ft-nl-form button:hover { background: #020617; }
.ls-ft-nl-form button[disabled] { opacity: .6; cursor: wait; }
.ls-ft-nl-msg { position: absolute; left: 4px; top: calc(100% + 4px); font-size: 12px; font-weight: 600; color: #fff; }
.ls-ft-nl-msg.is-error { color: #fee2e2; }

/* Columns */
.ls-ft-main { background: #020617; color: #94a3b8; }
.ls-ft-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding: 44px 0 40px; }
.ls-ft-col h4 { margin: 0 0 14px; color: #34d399 !important; font: 800 12px/1.2 var(--ls-font-display, var(--ls-font)); letter-spacing: .08em; text-transform: uppercase; }
.ls-ft-desc { margin: 0 0 16px; color: #94a3b8 !important; font-size: 13px; line-height: 1.6; max-width: 280px; }
.ls-ft-col ul { list-style: none; margin: 0; padding: 0; }
.ls-ft-col li { margin: 0 0 9px; }
.ls-ft-col a { color: #cbd5e1 !important; font-size: 13px; text-decoration: none !important; transition: color .15s; }
.ls-ft-col a:hover { color: #fff !important; }

/* Bottom bar */
.ls-ft-bottom { background: #0b1224; border-top: 1px solid rgba(255,255,255,.06); }
.ls-ft-bottom-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 0; font-size: 12px; color: #94a3b8; }
.ls-ft-sep { color: #334155; margin: 0 6px; }
.ls-ft-accent { color: #34d399; font-weight: 700; }
.ls-ft-legal { display: flex; gap: 20px; flex-wrap: wrap; }
.ls-ft-legal a { color: #94a3b8 !important; font-size: 12px; text-decoration: none !important; }
.ls-ft-legal a:hover { color: #fff !important; }

@media (max-width: 991px) {
  .ls-ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-ft-nl-form { flex-basis: 100%; }
}
@media (max-width: 575px) {
  .ls-ft-cols { grid-template-columns: 1fr; gap: 24px; padding: 32px 0; }
  .ls-ft-bottom-in { flex-direction: column; align-items: flex-start; }
}
