/* Pre-footer strip + footer (brief: 4 columns; fig: black, white text, yellow accents). */
/* Decorative cooking illustration used as a soft transition into the footer. */
.footer-art { display: flex; justify-content: center; padding: var(--s-10) var(--s-4) var(--s-6); background: var(--c-bg); }
.footer-art img { display: block; width: min(100%, 72rem); height: auto; }
@media (max-width: 600px) { .footer-art { padding-block: var(--s-8) var(--s-5); } }

.footer-newsletter { padding-block: var(--s-4) var(--s-10); background: var(--c-surface); }
.footer-newsletter__inner { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(14rem, 1fr) auto; align-items: center; gap: var(--s-3) var(--s-6); }
.footer-newsletter__title { margin: 0; font-family: var(--font-body); font-size: var(--fs-body); font-weight: 400; line-height: 1.4; }
.footer-newsletter__form { position: relative; display: grid; grid-column: 2 / 4; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2); }
.footer-newsletter__form input[type='email'] { min-width: 0; min-height: 44px; border-radius: var(--r-pill); }
.footer-newsletter__form .btn { white-space: nowrap; }
.footer-newsletter__legal { grid-column: 2 / 4; margin: 0; color: var(--c-text-muted); font-size: var(--fs-xs); line-height: 1.4; }
.footer-newsletter__legal a { color: inherit; }
.footer-newsletter__status { grid-column: 1 / -1; margin: 0; }
.footer-newsletter__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767.98px) {
  .footer-newsletter { padding-block: var(--s-4) var(--s-8); }
  .footer-newsletter__inner { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
  .footer-newsletter__form { grid-column: 1; }
  .footer-newsletter__form .btn { padding-inline: var(--s-4); }
  .footer-newsletter__legal { grid-column: 1; }
}
@media (max-width: 420px) {
  .footer-newsletter__form { grid-template-columns: 1fr; }
  .footer-newsletter__form .btn { justify-self: start; }
}

.prefooter { background: #262626; color: var(--c-white); }
.prefooter__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4); padding-block: var(--s-8); }
.prefooter__title { margin: 0; font-family: var(--font-heading); font-size: var(--fs-h3); font-weight: 700; line-height: 1.2; }

.site-footer { padding-block: var(--s-12) var(--s-6); background: var(--c-ink); color: var(--c-white); font-size: var(--fs-small); }
.site-footer a { color: rgb(255 255 255 / 0.72); text-decoration: none; }
.site-footer a:hover { color: var(--c-white); text-decoration: underline; }

.site-footer__grid { display: grid; gap: var(--s-8) var(--s-6); grid-template-columns: 1fr 1fr; }
.footer-about { grid-column: 1 / -1; display: flex; gap: var(--s-4); align-items: flex-start; }
@media (min-width: 1024px) {
  .site-footer__grid { grid-template-columns: 1.6fr repeat(3, 1fr); gap: var(--s-10); }
  .footer-about { grid-column: auto; }
}

.footer-about__photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--c-yellow); flex-shrink: 0; }
.footer-about__badge { display: inline-flex; padding: 0.4rem 0.6rem; margin-bottom: var(--s-2); border-radius: var(--r-sm); background: var(--c-yellow); }
.footer-about__badge img { width: auto; height: 14px; }
.footer-about__claim { max-width: 22ch; margin: 0 0 var(--s-2); color: rgb(255 255 255 / 0.85); font-weight: 300; line-height: 1.45; }
.site-footer .footer-about__link { color: var(--c-yellow); font-weight: 700; text-decoration: underline; }

.footer-menu__title { margin: 0 0 var(--s-3); color: var(--c-yellow); font-family: var(--font-body); font-size: 0.75rem; font-weight: 700; line-height: var(--lh-heading); letter-spacing: 0.12em; text-transform: uppercase; }
.footer-menu__list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--s-2); }

.footer-contact { display: grid; gap: var(--s-1); margin: var(--s-4) 0 var(--s-3); padding: 0; list-style: none; }
.footer-social { display: flex; gap: var(--s-2); margin: 0; padding: 0; list-style: none; }
.footer-social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.25); }
.footer-social a:hover { background: var(--c-yellow); color: var(--c-ink); box-shadow: none; }

.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-10); padding-top: var(--s-5); border-top: 1px solid rgb(255 255 255 / 0.15); color: rgb(255 255 255 / 0.6); font-size: var(--fs-xs); }
