/* =============================================================================
   FOOTER.CSS — Jaipur Stone Industries
   Desktop-first. 4-column grid: brand / products / company / contact.
   ============================================================================= */


/* -----------------------------------------------------------------------------
   Outer shell
   Border-top: very subtle — creates structural separation without a hard edge.
   Padding: generous top (80px), measured bottom (40px).
   ----------------------------------------------------------------------------- */
.site-footer {
  background-color: var(--color-bg-secondary);
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding-top: var(--space-20);
  padding-bottom: var(--space-10);
}


/* =============================================================================
   FOOTER GRID
   4 columns: brand gets 2fr (wider for logo + descriptor),
   contact gets 1.5fr (label/value pairs need a little more room),
   products and company each get 1fr.
   align-items: start — columns don't stretch to match the tallest.
   ============================================================================= */
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: var(--grid-gap);
  margin-bottom: var(--space-16);
  align-items: start;
}


/* =============================================================================
   COLUMN 1 — BRAND
   ============================================================================= */

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

/* Logo link — flex row, same identity mark as header */
.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
}

/* Short institutional descriptor — factual, not promotional */
.footer-brand__line {
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-muted);
  line-height: var(--line-height-relaxed);
  max-width: 30ch;
  margin: 0;
}


/* =============================================================================
   COLUMNS 2 & 3 — NAVIGATION LINK LISTS
   ============================================================================= */

.footer-col {
  display: flex;
  flex-direction: column;
}

/* Uppercase micro-label heading */
.footer-col__heading {
  font-family: var(--font-heading);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
  color: var(--color-text-primary);
  margin: 0 0 var(--space-6) 0;
}

/* Link list */
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.footer-links a {
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-base);
}

/* Hover: subtle lift to primary — no underlines, no glow */
.footer-links a:hover {
  color: var(--color-text-primary);
}


/* =============================================================================
   COLUMN 4 — CONTACT
   Label + value pairs for institutional contact layout.
   Labels: muted uppercase micro-text ("Location", "Email", "Phone").
   Values: secondary-weight text, links inherit same hover behaviour.
   ============================================================================= */

.footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.footer-contact-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

/* "Location" / "Email" / "Phone" — quietest element in the footer */
.footer-contact-item__label {
  font-family: var(--font-body);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  letter-spacing: var(--letter-spacing-wider);
  text-transform: uppercase;
  color: var(--color-text-muted);
  line-height: 1;
}

/* Address, email href, phone href */
.footer-contact-item__value {
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-style: normal;            /* override <address> default italic */
  line-height: var(--line-height-relaxed);
  transition: color var(--transition-base);
}

a.footer-contact-item__value:hover {
  color: var(--color-text-primary);
}


/* =============================================================================
   BOTTOM BAR
   Thin separator + copyright left / legal links right.
   ============================================================================= */

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  gap: var(--space-4);
}

.footer-bottom__copy {
  font-family: var(--font-body);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  color: var(--color-text-muted);
  letter-spacing: var(--letter-spacing-wide);
  margin: 0;
}

.footer-bottom__legal {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.footer-bottom__legal a {
  font-family: var(--font-body);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  letter-spacing: var(--letter-spacing-wide);
  text-decoration: none;
  transition: color var(--transition-base);
}

.footer-bottom__legal a:hover {
  color: var(--color-text-primary);
}

/* Mid-dot separator between legal links */
.footer-bottom__sep {
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  opacity: 0.5;
  user-select: none;
}
