/* =========================================================================
   CBD (v32) — footer styles (SINGLE SOURCE)
   Registered by footer-main.php, so it loads wherever the CBD footer renders:
   the homepage & catering (via the "main" layout) and the inner pages (via
   footer.php). Kept out of style.css because style.css does NOT load on inner
   pages — this gives the footer one source of truth that can't drift. Fonts +
   palette vars are declared here so the file is self-sufficient on inner pages.
   ========================================================================= */

@font-face { font-family: 'Moche'; src: url('../assets/fonts/Moche-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Moche'; src: url('../assets/fonts/Moche-Light.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'sandiego'; src: url('../assets/fonts/SanDiego.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'poppins'; src: url('../assets/fonts/Poppins-Light_0.ttf') format('truetype'); font-weight: 300; font-display: swap; }

/* Scope the palette to .cbd-footer (NOT :root): the base inner style.css sets
   :root{--red:#dc3545} (Bootstrap crimson) and loads on inner pages, which would
   otherwise override a :root --red here and tint the footer crimson. A direct
   declaration on .cbd-footer wins over the inherited :root value for the whole
   footer subtree, regardless of stylesheet load order — so the footer stays CBD
   coral on both the homepage and inner pages. */
.cbd-footer {
  --red:   #EE4A3A;
  --dark:  #25160F;
  --cream: #F8E7D1;
  --peach: #F8DAC5;
  --moche: 'Moche', serif;
  --body:  'poppins', 'Helvetica Neue', sans-serif;
}

    /* ── FOOTER ──────────────────────────────────────────────── */
    .cbd-footer { background: var(--red); padding: 64px 16px 0; }
    @media (min-width: 768px) { .cbd-footer { padding: 56px 64px 0; } }
    .cbd-footer-grid { display: grid; grid-template-columns: 1fr; }
    @media (min-width: 768px) { .cbd-footer-grid { grid-template-columns: 4.5fr 3fr 4.5fr; align-items: stretch; } }
    .cbd-footer-grid > * { min-width: 0; }

    .cbd-footer-split {
      display: grid; grid-template-columns: 1fr 1fr;
      border-top: 1px solid var(--peach); border-bottom: 1px solid var(--peach);
    }
    .cbd-footer-split > div {
      display: flex; flex-direction: column; justify-content: space-between;
      text-align: center; padding: 36px 10px; min-width: 0;
    }
    .cbd-footer-split > div:first-child { border-right: 1px solid var(--peach); }
    .cbd-footer-label {
      font-family: var(--moche); font-size: 14px; font-weight: 700; line-height: 20px;
      color: #FFAF34; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 28px;
    }
    @media (min-width: 768px) { .cbd-footer-label { font-size: 12px; } }
    .cbd-footer-split p {
      font-family: 'sandiego', var(--body); font-size: 11px; line-height: 18px; font-weight: 500;
      color: var(--peach); letter-spacing: .02em; margin: 0; padding: 0 16px;
    }
    .cbd-footer-split a p { padding-bottom: 4px; }
    @media (min-width: 768px) { .cbd-footer-split p { font-size: 14px; line-height: 22px; padding: 0 24px; } }

    .cbd-footer-logo-row { display: flex; align-items: center; justify-content: center; padding: 24px 0; }
    .cbd-footer-logo-row img { width: 140px; height: auto; }
    @media (min-width: 768px) { .cbd-footer-logo-row img { width: 203px; } }

    .cbd-footer-social-hours {
      display: grid; grid-template-columns: 1fr 1fr;
      border-top: 1px solid var(--peach); border-bottom: 1px solid var(--peach);
    }
    .cbd-footer-social-col { order: 2; display: flex; flex-direction: column; justify-content: space-between; align-items: center; text-align: center; padding: 36px 10px; min-width: 0; }
    .cbd-footer-hours-col { order: 1; padding: 36px 10px; border-right: 1px solid var(--peach); min-width: 0; }
    @media (min-width: 768px) {
      .cbd-footer-social-col { order: 1; border-right: 1px solid var(--peach); }
      .cbd-footer-hours-col { order: 2; border-right: none; }
    }
    .cbd-footer-social-links { display: flex; align-items: center; justify-content: center; gap: 12px; }
    .cbd-footer-social-links img { width: 27px; height: 27px; }

    .cbd-footer-hours-row { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 0 12px; margin-bottom: 8px; }
    @media (min-width: 768px) { .cbd-footer-hours-row { grid-template-columns: 110px minmax(0,1fr); } }
    .cbd-footer-hours-row span {
      font-family: 'sandiego', var(--body); font-size: 10px; line-height: 14px; font-weight: 500; color: var(--peach); text-align: left;
    }
    .cbd-footer-hours-row span:last-child { white-space: nowrap; }
    @media (min-width: 768px) { .cbd-footer-hours-row span { font-size: 14px; line-height: 18px; } }

    .cbd-footer-nav { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 32px; padding: 32px 0 28px; }
    .cbd-footer-nav a { font-family: var(--moche); font-size: 24px; line-height: 1.6; letter-spacing: .01em; color: #F9DAC5; font-weight: 500; }
    .cbd-footer-nav a:hover { color: #FFAF34; }
    .cbd-footer-nav a.is-active { color: #FFAF34; font-weight: 700; }

    .cbd-footer-divider { border: none; border-top: 1px solid rgba(248,218,197,.3); margin: 0; }

    .cbd-footer-bottom {
      display: flex; flex-direction: column; align-items: center; justify-content: space-between;
      gap: 6px; padding: 24px 0 28px; text-align: center;
    }
    @media (min-width: 768px) { .cbd-footer-bottom { flex-direction: row; padding: 24px 16px 28px; text-align: left; } }
    .cbd-footer-bottom p { font-family: var(--body); font-size: 14px; line-height: 24px; font-weight: 400; color: #F9DAC5; letter-spacing: .02em; margin: 0; }
    .cbd-footer-bottom a { color: #F9DAC5; text-decoration: underline; }
    .cbd-footer-bottom a:hover { color: #FFAF34; }
