/* Shared site footer (copied from the homepage). Linked on every page. */
footer { --muted: rgba(255, 255, 255, 0.55); --border: rgba(201, 168, 76, 0.15); --forest: #0f1f35; --gold: #c9a84c; }
/* Same font on every page (matches the homepage footer as it renders today) */
footer, footer p, footer a, footer li, footer h3 { font-family: Arial, Helvetica, sans-serif; }
/* Match the homepage base size at every breakpoint, independent of each page's own html/body size */
footer { --ft-root: 18px; font-size: var(--ft-root); line-height: normal; }
@media (max-width: 1200px) { footer { --ft-root: 17px; } }
@media (max-width: 960px)  { footer { --ft-root: 16px; } }
@media (max-width: 600px)  { footer { --ft-root: 15px; } }
footer div, footer ul, footer li, footer h3, footer a, footer span, footer img, footer svg { line-height: normal; }
footer ul { list-style: none; margin: 0; padding: 0; }
footer h3 { margin: 0; }

footer {
        position: relative;
        z-index: 10;
        background: var(--forest);
        padding: 70px 60px 32px;
        border-top: 1px solid var(--border);
      }
.ft-grid {
        display: grid;
        grid-template-columns: 280px 1fr 1fr 1fr;
        gap: 48px;
        margin-bottom: 56px;
        padding-bottom: 48px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      }
.ft-brand-logo {
        font-family: "Cormorant Garamond Semibold", serif;
        font-size: calc(2.8 * var(--ft-root));
        color: var(--gold);
        letter-spacing: 6px;
        line-height: 1;
      }
.ft-logo {
        height: 54px;
        width: auto;
        max-width: 200px;
        object-fit: contain;
        display: block;
        margin-bottom: 18px;
      }
.ft-brand-sub {
        font-size: calc(0.48 * var(--ft-root));
        letter-spacing: 5px;
        color: var(--muted);
        text-transform: uppercase;
        margin-top: 4px;
        margin-bottom: 16px;
      }
.ft-brand-desc {
        font-size: calc(0.58 * var(--ft-root));
        color: var(--muted);
        font-weight: 300;
        line-height: 2.1;
        margin-bottom: 18px;
      }
.ft-social {
        display: flex;
        gap: 12px;
        margin-top: 6px;
      }
.ft-soc svg {
        width: 20px;
        height: 20px;
        fill: #fff;
        display: block;
      }
.ft-soc {
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--border);
        border-radius: 50%;
        color: var(--muted);
        transition:
          color 0.25s,
          border-color 0.25s,
          background 0.25s;
      }
.ft-soc:hover {
        color: var(--gold);
        border-color: rgba(201, 168, 76, 0.5);
        background: rgba(201, 168, 76, 0.06);
      }
.ft-rera {
        background: rgba(201, 168, 76, 0.04);
        border: 1px solid var(--border);
        padding: 14px 16px;
        margin-top: 6px;
      }
.ft-col h3 {
        font-size: 16px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 20px;
        font-weight: 400;
      }
.ft-col li {
        font-size: 14px;
        color: var(--muted);
        padding: 5px 0;
        font-weight: 300;
        cursor: pointer;
        transition: color 0.25s;
      }
.ft-col li a {
        color: inherit;
        text-decoration: none;
      }
.ft-col li:hover {
        color: var(--gold);
      }
.ft-maharera {
        width: 241px;
        height: 78px;
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
        margin-top: -30px;
        margin-bottom: 25px;
      }
.ft-maharera img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
.ft-disclaimer {
        padding: 22px 0;
        margin-bottom: 8px;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      }
.ft-disclaimer p {
        font-size: calc(0.5 * var(--ft-root));
        color: rgba(255, 255, 255, 0.6);
        font-weight: 300;
        line-height: 1.9;
        letter-spacing: 0.4px;
      }
.ft-bottom {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        flex-wrap: wrap;
        padding-top: 22px;
      }
.ft-copy {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.6);
        letter-spacing: 2px;
        font-weight: 300;
      }
.ft-policies {
        display: flex;
        align-items: center;
        gap: 10px;
      }
.ft-policies a {
        font-size: 14px;
        color: rgba(255, 255, 255, 0.6);
        letter-spacing: 1px;
        font-weight: 300;
        text-decoration: none;
        transition: color 0.25s;
      }
.ft-policies a:hover {
        color: var(--gold);
      }
.ft-pol-sep {
        font-size: calc(0.48 * var(--ft-root));
        color: rgba(255, 255, 255, 0.18);
      }
.ft-disc {
        font-size: calc(0.44 * var(--ft-root));
        color: rgba(255, 255, 255, 0.14);
        max-width: 500px;
        text-align: right;
        line-height: 1.9;
        font-weight: 300;
      }
.ft-rera p {
        font-size: calc(0.44 * var(--ft-root));
        letter-spacing: 0.8px;
        color: rgba(255, 255, 255, 0.28);
        font-weight: 300;
        line-height: 2;
        margin-bottom: 2px;
      }
.ft-rera strong {
        color: rgba(201, 168, 76, 0.55);
        font-weight: 500;
      }
.ft-legal-bar {
        border-top: 1px solid rgba(255, 255, 255, 0.05);
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        padding: 18px 0;
        margin-bottom: 28px;
      }
.ft-legal-bar p {
        font-size: calc(0.42 * var(--ft-root));
        color: rgba(255, 255, 255, 0.18);
        line-height: 2;
        font-weight: 300;
        letter-spacing: 0.4px;
      }
.ft-legal-bar strong {
        color: rgba(201, 168, 76, 0.4);
        font-weight: 400;
      }
.ft-col a {
        color: inherit;
        text-decoration: none;
        transition: color 0.25s;
      }
.ft-col a:hover {
        color: var(--gold);
      }
@media (max-width: 960px) {
.ft-grid {
          grid-template-columns: 1fr 1fr;
          gap: 32px;
        }
.ft-bottom {
          flex-direction: column;
          align-items: flex-start;
        }
.ft-disc {
          text-align: left;
          max-width: 100%;
        }
footer {
          padding: 52px 20px 90px;
        }
.ft-grid {
          grid-template-columns: 1fr;
        }
.ft-legal-bar p {
          font-size: calc(0.4 * var(--ft-root));
        }
.ft-logo {
          height: 46px;
          margin-bottom: 16px;
        }
.ft-social {
          gap: 10px;
          margin-top: 12px;
          margin-bottom: 8px;
        }
.ft-disclaimer {
          padding: 18px 0;
        }
.ft-bottom {
          gap: 14px;
          padding-top: 18px;
        }
.ft-policies {
          flex-wrap: wrap;
          gap: 8px;
        }
}
@media (max-width: 480px) {
.ft-grid {
          grid-template-columns: 1fr;
        }
}
@media (max-width: 480px) {
footer { padding: 48px 16px 100px; }
.ft-grid { grid-template-columns: 1fr; gap: 28px; }
.ft-logo { height: 40px; }
.ft-brand-desc { font-size: calc(0.78 * var(--ft-root)); }
.ft-social { gap: 8px; }
.ft-policies { flex-wrap: wrap; gap: 8px; }
.ft-legal-bar { flex-direction: column; gap: 8px; text-align: center; }
.ft-legal-bar p { font-size: calc(0.38 * var(--ft-root)); }
.ft-disclaimer { padding: 16px 0; font-size: 16px; }
}

/* ══════════════════════════════════════
   FLOATING WHATSAPP BUTTON (from homepage)
══════════════════════════════════════ */
.whatsapp-float {
  position: fixed;
  bottom: 50px;
  right: 0px;
  width: 50px;
  height: 50px;
  background: var(--gold, #c9a84c);
  color: #000;
  border-radius: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 32px;
  z-index: 99999;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, background 0.3s ease;
}

@media (max-width: 960px) {
  .whatsapp-float {
    bottom: 68px;
    right: 0;
  }
}

.whatsapp-float:hover {
  transform: scale(1.1);
}
