/* Pied de page enrichi : bandeau de réservation, cinq colonnes (marque, explorer, adresse, horaires, contact), bas de page */
.ft2 { padding-top: clamp(48px, 6vw, 84px); }
.ft2 .footer-inner { display: grid; gap: clamp(36px, 5vw, 64px); }

.ft2-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 40px; padding-bottom: clamp(28px, 4vw, 48px); border-bottom: 1px solid rgba(233, 207, 159, .28); }
.ft2-kicker { margin: 0 0 8px; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.05rem; color: #e6c98a; }
.ft2-title { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.08; color: #f4f2e8; }
.ft2-title em { font-style: italic; color: #e6c98a; }
.ft2-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.ft2-grid { display: grid; gap: clamp(28px, 3.4vw, 48px); grid-template-columns: 1.5fr 1fr 1.2fr 1fr 1.2fr; align-items: start; }
.ft2-brand .footer-tag { max-width: 30ch; }
.ft2-rating { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 0; font-size: .86rem; color: var(--cream-muted, #e7e3d8); text-decoration: none; }
.ft2-rating b { color: #e6c98a; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.ft2-rating span { letter-spacing: .1em; color: #c9a063; }
.ft2 .footer-socials { display: flex; gap: 10px; margin-top: 18px; }
.ft2 .footer-col ul { gap: 10px; }
.ft2 .footer-col li small { display: block; margin-top: 2px; font-size: .78rem; opacity: .7; }
.ft2 .ft2-link { display: inline-flex; align-items: center; gap: 8px; color: #e6c98a; border-bottom: 1px solid rgba(233, 207, 159, .4); padding-bottom: 2px; width: fit-content; }
.ft2 .ft2-link:hover { color: #f4f2e8; border-color: #f4f2e8; }

.ft2 .footer-bottom { flex-wrap: wrap; gap: 12px 24px; }
.ft2-top { font-size: .72rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: #e6c98a; text-decoration: none; }
.ft2-top:hover { color: #f4f2e8; }

@media (max-width: 1100px) { .ft2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ft2-brand { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  .ft2-grid { grid-template-columns: 1fr; }
  .ft2-cta { flex-direction: column; align-items: flex-start; }
  .ft2-actions { width: 100%; }
  .ft2-actions .btn { flex: 1 1 100%; }
}

/* logo complet (emblème + nom + « café · restaurant »), comme dans l'en-tête */
.ft2-logo { display: block; height: 112px; width: auto; object-fit: contain; margin: 0 0 6px -6px; }
.ft2-brand .brand { display: inline-block; }

/* ordinateur : les titres des colonnes se placent sur la même ligne que les mots « BLACK OLIVE » du logo */
@media (min-width: 1101px) { .ft2-grid > .footer-col { padding-top: 78px; } }
