/*! tg-footer-align.css
   ALIGNMENT ONLY — shops 50 (/en/) + 72 (/in/), 2026-11-09.
   No new colours, fonts, backgrounds, content, or structure.
   Goal: footer inner edges match page content (--tg-page-pad-x /
   tg-mobile-gutters-5 5px on mobile); columns/headings on one
   baseline; lists left-aligned; logo/contact/social/payment rows
   aligned; equal spacing; clear fixed mobile bottom bar; no
   horizontal scroll. Keep compact. Copyright text untouched.
*/

/* ========== shared: no horizontal scroll from footer ========== */
html.tg-spacing-v1 footer.fm,
html.tg-spacing-v1 .fm,
html.tg-spacing-v1 #footer,
html.tg-spacing-v1 footer.footer {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* ========== /en/ .fm — match page content edges ==========
   foot.css sets .fm-in { width: min(1152px, calc(100% - 32px)); margin: auto }
   which adds ~44px extra inset on top of .fm's --tg-page-pad-x padding.
   Mobile gutters-5 already zeros this below 768; extend to all widths. */
html.tg-spacing-v1 footer.fm,
html.tg-spacing-v1 .fm {
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  box-sizing: border-box !important;
}

html.tg-spacing-v1 footer.fm .fm-in,
html.tg-spacing-v1 .fm .fm-in,
html.tg-spacing-v1 body .fm .fm-in {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

html.tg-spacing-v1 .fm .fm-cols,
html.tg-spacing-v1 .fm .fm-top,
html.tg-spacing-v1 .fm .fm-bar {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Top row: logo / contact / social — one vertical center on desktop,
   shared left edge + left-aligned on mobile */
html.tg-spacing-v1 .fm .fm-top {
  align-items: center !important;
}

html.tg-spacing-v1 .fm .fm-reach,
html.tg-spacing-v1 .fm .fm-soc {
  align-items: center !important;
}

@media (max-width: 767px) {
  html.tg-spacing-v1 .fm .fm-top {
    justify-items: start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 12px !important;
  }
  html.tg-spacing-v1 .fm .fm-logo,
  html.tg-spacing-v1 .fm .fm-logo img {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html.tg-spacing-v1 .fm .fm-reach {
    align-items: flex-start !important;
    text-align: left !important;
  }
  html.tg-spacing-v1 .fm .fm-soc {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
}

@media (min-width: 768px) {
  html.tg-spacing-v1 .fm .fm-top {
    align-items: center !important;
  }
  html.tg-spacing-v1 .fm .fm-reach {
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
  }
  html.tg-spacing-v1 .fm .fm-soc {
    justify-content: flex-end !important;
    align-items: center !important;
  }
}

/* Section headings + link lists: consistent left alignment */
html.tg-spacing-v1 .fm summary,
html.tg-spacing-v1 .fm .fm-cols summary,
html.tg-spacing-v1 .fm h3 {
  justify-content: flex-start !important;
  text-align: left !important;
  align-items: center !important;
}

html.tg-spacing-v1 .fm details.fm-c > ul,
html.tg-spacing-v1 .fm details > ul,
html.tg-spacing-v1 .fm .fm-cols ul,
html.tg-spacing-v1 .fm .fm-g ul {
  justify-content: start !important;
  justify-items: start !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html.tg-spacing-v1 .fm details.fm-c > ul a,
html.tg-spacing-v1 .fm .fm-cols ul a,
html.tg-spacing-v1 .fm ul a {
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Equal vertical rhythm between stacked sections (compact, no redesign) */
html.tg-spacing-v1 .fm details.fm-c,
html.tg-spacing-v1 .fm .fm-cols details {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html.tg-spacing-v1 .fm summary {
  min-height: 44px !important;
}

/* Bottom bar: address / legal / copyright — same left edge */
html.tg-spacing-v1 .fm .fm-bar {
  align-items: start !important;
  text-align: left !important;
}

html.tg-spacing-v1 .fm .fm-addr,
html.tg-spacing-v1 .fm .fm-addr p,
html.tg-spacing-v1 .fm .fm-cpy {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html.tg-spacing-v1 .fm .fm-legal {
  justify-content: flex-start !important;
  justify-items: start !important;
  text-align: left !important;
}

@media (min-width: 768px) {
  html.tg-spacing-v1 .fm .fm-bar {
    align-items: start !important;
  }
  html.tg-spacing-v1 .fm .fm-legal {
    justify-content: flex-end !important;
    justify-items: end !important;
    text-align: right !important;
  }
}

/* Mobile bottom-nav clearance (Home/Shop/Bulk Quote/Track/Account) */
@media (max-width: 767px) {
  html.tg-spacing-v1 .fm .fm-bar,
  html.tg-spacing-v1 footer.fm .fm-bar,
  html body .fm .fm-bar {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html.tg-spacing-v1 .fm .fm-cpy {
    margin-bottom: 0 !important;
  }
}

/* ========== /in/ Elementor #footer — collapse nested side pads ==========
   Live chain: inner section pad 10 + container pad 5 + column-gap ≈ content
   starts ~30px while page cats sit ~15px. Zero section side pads; keep a
   single --tg-page-pad-x on the section > container; tame column gap. */
html.tg-spacing-v1 #footer .elementor-section,
html.tg-spacing-v1 footer.footer .elementor-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Pad ONLY top-level footer sections — nested section containers stay 0
   to avoid double --tg-page-pad-x inset. */
html.tg-spacing-v1 #footer .elementor-section.elementor-top-section > .elementor-container,
html.tg-spacing-v1 footer.footer .elementor-section.elementor-top-section > .elementor-container {
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}
html.tg-spacing-v1 #footer .elementor-section:not(.elementor-top-section) > .elementor-container,
html.tg-spacing-v1 #footer .elementor-inner-section > .elementor-container,
html.tg-spacing-v1 footer.footer .elementor-section:not(.elementor-top-section) > .elementor-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* column-gap-default uses side padding on .elementor-element-populated */
html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated,
html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-column-wrap.elementor-element-populated,
html.tg-spacing-v1 footer.footer .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Restore a small gap between multi-column cells only (not outer edge) */
@media (max-width: 767px) {
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:first-child) > .elementor-element-populated,
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:first-child) > .elementor-column-wrap.elementor-element-populated {
    padding-left: 6px !important;
  }
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:last-child) > .elementor-element-populated,
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:last-child) > .elementor-column-wrap.elementor-element-populated {
    padding-right: 6px !important;
  }
}

@media (min-width: 768px) {
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:first-child) > .elementor-element-populated,
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:first-child) > .elementor-column-wrap.elementor-element-populated {
    padding-left: 10px !important;
  }
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:last-child) > .elementor-element-populated,
  html.tg-spacing-v1 #footer .elementor-column-gap-default > .elementor-row > .elementor-column:not(:last-child) > .elementor-column-wrap.elementor-element-populated {
    padding-right: 10px !important;
  }
}

/* Headings + icon lists: left-align, shared baseline in a row */
html.tg-spacing-v1 #footer .elementor-heading-title,
html.tg-spacing-v1 footer.footer .elementor-heading-title {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html.tg-spacing-v1 #footer .elementor-icon-list-items,
html.tg-spacing-v1 #footer .elementor-icon-list-items .elementor-icon-list-item,
html.tg-spacing-v1 #footer .elementor-icon-list-items .elementor-icon-list-item > a {
  text-align: left !important;
  justify-content: flex-start !important;
}

html.tg-spacing-v1 #footer .elementor-row {
  align-items: flex-start !important;
}

/* Intro / text widgets: left edge with lists (keep existing centered
   copyright / contact blocks that are intentionally centered) */
html.tg-spacing-v1 #footer .elementor-widget-text-editor,
html.tg-spacing-v1 #footer .elementor-text-editor {
  text-align: left !important;
}

/* Copyright / contact bottom blocks that are already centered — keep
   centered so we don't restructure; only ensure no side overflow */
html.tg-spacing-v1 #footer .elementor-widget-heading .elementor-heading-title:has(+ *),
html.tg-spacing-v1 #footer [data-id] .elementor-heading-title {
  /* no-op marker — headings stay left unless Elementor centers them via align */
}

/* Don't force-center-break on the final copyright line if CE centers it */
html.tg-spacing-v1 #footer .elementor-element-557169f {
  /* cert block already hidden by tg-footer-fix2 */
}

/* Mobile bottom-nav clearance for /in/ when .ma-bn present */
@media (max-width: 767px) {
  html.tg-spacing-v1 body:has(.ma-bn) #footer,
  html.tg-spacing-v1 body:has(.ma-bn) footer.footer {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Sticky black quick-bar (b20ae18 Home/Category/Whatsapp/Call Now):
   do not change its look — only keep it from causing horizontal scroll */
html.tg-spacing-v1 #footer .elementor-element-b20ae18,
html.tg-spacing-v1 #footer .elementor-element-b20ae18 .elementor-container {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
