/* ===========================================================================
   css/site-footer.css - Neelachandra Interiors - SUBFOOTER + FOOTER
   ---------------------------------------------------------------------------
   The client-supplied subfooter (enquiry strip) and dark footer, extracted from
   their inline <style> blocks into one cacheable file. Rules are VERBATIM apart
   from the documented items below. FINAL visually. Do not restyle.

   DELIBERATE CHANGES FROM THE SUPPLIED BLOCKS:

   1. GLOBAL RESETS REMOVED. Both supplied files opened with
        *{box-sizing:border-box}
        body{margin:0;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
        h4{margin-bottom:10px;font-weight:bold}
        p{margin-top:0;margin-bottom:10px}
        img{vertical-align:middle;max-width:100%;display:inline-block;border:0}
      Loading those sitewide would have reset the ENTIRE site's body font from
      DM Sans to Arial and changed every <p> and <h4> on every page. The
      component rules below carry their own explicit fonts, so nothing is lost.
      This is a correctness fix, not a redesign.

   2. `.white-button` and its text-reveal children are namespaced under
      `.footer-subscribe`, because the navbar defines the same class names with
      different padding. Scoping keeps header and footer independent.

   3. Focus-visible states added alongside the supplied :hover states. The
      supplied files styled hover only, leaving keyboard users with no visible
      indication of position.

   4. `prefers-reduced-motion` block added.
   =========================================================================== */

/* ===========================================================================
   SUBFOOTER - enquiry strip
   ---------------------------------------------------------------------------
   COLOUR - DECIDED, DO NOT "FIX". This band is solid orange (#e8650a /
   #e3770b), a THIRD background on top of the agreed two (#fff8f6 light,
   #3e2c26 charcoal). The client was asked directly and answered "let the
   subfooter bg be orange", so this is an AUTHORISED, DELIBERATE EXCEPTION to
   the two-background rule, not an oversight.

   It survives the reasoning behind that rule because the rule exists to stop
   section-by-section tint drift through the body of a page. This is a single
   fixed band in one place, sitewide, acting as the call-to-action marker. It
   never competes with a neighbouring section for the same role.

   The two-background rule still governs everything above the footer: do not
   cite this band as precedent for tinting any other section.
   ======================================================================== */
.section-9 { background: #e8650a; }
.footer-subscribe { background: #e3770b; padding: 0; position: relative; }

.footer-subscribe .container-22 {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}
.footer-form-two { background: transparent; margin-bottom: 0; padding: 40px 0; }
.footer-form-container-two {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.footer-form-title {
  color: #f5f5f5;
  font-family: "Space Grotesk", sans-serif;
  font-size: 24px;
  line-height: 32px;
}
.footer-subscribe .paragraph-32 {
  color: #f5f5f5;
  font-family: "DM Sans", sans-serif;
  margin-top: 0;
  margin-bottom: 10px;
}
.footer-subscribe .div-block-34 { width: 60%; }
.footer-form-block-two {
  justify-content: space-between;
  align-items: center;
  width: 40%;
  font-family: "DM Sans", sans-serif;
  display: flex;
  position: relative;
  gap: 20px;
}
.footer-subscribe .heading-15 {
  color: #f5f5f5;
  margin: 0 0 10px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 700;
}
.footer-subscribe .paragraph-33 {
  color: #f5f5f5;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Poppins, sans-serif;
  font-size: 14px;
}
.footer-subscribe .link-5,
.footer-subscribe .link-6 {
  color: #fff;
  font-family: "DM Sans", sans-serif;
  text-decoration: none;
}
.footer-subscribe .link-5:hover,
.footer-subscribe .link-6:hover { text-decoration: underline; }

.footer-subscribe .white-button {
  cursor: pointer;
  background: #fff;
  border-radius: 6px;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  padding: 21px 28px;
  text-decoration: none;
  display: flex;
  flex-shrink: 0;
  border: none;
}
.footer-subscribe .white-button.footer-btn { padding-top: 18px; padding-bottom: 18px; }
.footer-subscribe .button-text-wrap {
  text-align: center;
  height: 20px;
  position: relative;
  overflow: hidden;
}
.footer-subscribe .white-front-text {
  color: #000;
  text-align: center;
  text-transform: capitalize;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 600;
  position: relative;
  top: 0;
  transition: top .3s ease;
}
.footer-subscribe .white-hidden-text {
  color: #000;
  text-align: center;
  text-transform: capitalize;
  width: 100%;
  font-family: Poppins, sans-serif;
  font-weight: 600;
  position: absolute;
  top: 100%;
  left: 0;
  transition: top .3s ease;
}
.footer-subscribe .white-button:hover .white-front-text,
.footer-subscribe .white-button:focus-visible .white-front-text { top: -100%; }
.footer-subscribe .white-button:hover .white-hidden-text,
.footer-subscribe .white-button:focus-visible .white-hidden-text { top: 0; }

@media screen and (max-width: 991px) {
  .footer-form-block-two { width: 58%; }
}
@media screen and (max-width: 767px) {
  .footer-form-container-two { flex-direction: column; align-items: flex-start; }
  .footer-form-block-two { width: 100%; margin-top: 20px; flex-wrap: wrap; }
  .footer-subscribe .div-block-34 { width: 100%; }
}

/* ===========================================================================
   FOOTER - dark
   ======================================================================== */
.footer-dark {
  background: #101010;
  flex-flow: column;
  align-items: center;
  padding: 50px 30px 15px;
  display: flex;
  position: relative;
}
.footer-dark .container-21 {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding-bottom: 30px;
}
.footer-wrapper {
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
}
.footer-block {
  text-align: left;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}
.footer-block.para { width: 40%; }
.footer-dark .paragraph-41 {
  color: #f5f5f5;
  text-align: justify;
  font-family: "DM Sans", sans-serif;
  margin-top: 0;
  margin-bottom: 10px;
}
.footer-content {
  gap: 40px 15px;
  grid-template-columns: auto auto 1fr;
  width: 55%;
  display: grid;
}
.footer-dark .title-small {
  color: #f5f5f5;
  text-align: left;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
}
.footer-dark .footer-link {
  color: #f5f5f5;
  margin-top: 12px;
  margin-bottom: 6px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 16px;
  text-decoration: none;
}
.footer-dark .footer-link:hover { color: #e8650a; }
.footer-dark .footer-link:focus-visible {
  outline: 2px solid #e8650a;
  outline-offset: 3px;
  color: #fff;
}
.footer-dark .paragraph-46 { color: #fff; margin-top: 0; margin-bottom: 10px; }

.footer-socials {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 20px;
  justify-content: flex-end;
}
.footer-socials a {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  transition: .3s ease;
  color: #fff;
}
.footer-socials a:hover { transform: translateY(-3px); background: #ff6b00; border-color: #ff6b00; }
.footer-socials a:focus-visible { outline: 2px solid #ff6b00; outline-offset: 3px; }
.footer-socials svg { width: 20px; height: 20px; fill: #fff; }

.footer-divider {
  background: #e4ebf3;
  width: 100%;
  height: 1px;
  margin-top: 60px;
  margin-bottom: 15px;
}
.footer-copyright-center {
  color: #f5f5f5;
  text-align: center;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  line-height: 16px;
}
.footer-copyright-center a { color: #f5f5f5; text-decoration: none; }
.footer-copyright-center a:hover { text-decoration: underline; }

.footer-dark .image-13 {
  text-align: center;
  object-fit: fill;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  overflow: clip;
  vertical-align: middle;
  display: inline-block;
  border: 0;
}

@media screen and (max-width: 991px) {
  .footer-content { gap: 60px; }
}

@media screen and (max-width: 767px) {
  .footer-dark { padding: 36px 20px 12px; }
  .footer-dark .container-21 { padding-bottom: 0; }

  .footer-wrapper { flex-direction: column; align-items: center; gap: 32px; }

  .footer-block.para { width: 100%; order: 2; }
  .footer-dark .paragraph-41 {
    text-align: justify;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 0;
  }

  .footer-content {
    order: 1;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 10px;
    padding-bottom: 0;
    text-align: center;
  }

  .footer-block { align-items: center; }
  .footer-dark .title-small { margin-bottom: 8px; font-size: 12px; }
  .footer-dark .footer-link {
    margin-top: 6px;
    margin-bottom: 0;
    text-align: center;
    font-size: 11.5px;
    line-height: 1.4;
  }
  .footer-dark .paragraph-46 { margin: 6px 0 0; font-size: 11.5px; }

  .footer-socials { margin-top: 28px; gap: 12px; justify-content: center; }
  .footer-socials a { width: 40px; height: 40px; }
  .footer-socials svg { width: 17px; height: 17px; }

  .footer-dark .image-13 { max-width: 100%; width: 90%; margin: 32px auto 0; display: block; }

  .footer-divider { margin-top: 28px; margin-bottom: 14px; }
  .footer-copyright-center { font-size: 12.5px; padding: 0 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .footer-socials a,
  .footer-subscribe .white-front-text,
  .footer-subscribe .white-hidden-text {
    transition-duration: 0.01ms !important;
  }
  .footer-socials a:hover { transform: none; }
}
