/* Footer layout «Vier Spalten» — an overlay loaded AFTER site.css AND the theme
 * overlay, strictly scoped under the body class .footer-spalten. It styles the
 * markup the layout brings (the part's `columns` branch): brand with logo,
 * tagline and rating · contact · hours with a note · navigation, the copyright
 * row below across the full width. Stacked on phones, two by two on tablets. */

.footer-spalten .footer--columns .bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--size-6) var(--size-7);
    align-items: start;
    padding-top: var(--size-8);
    padding-bottom: var(--size-6);
}
@media (min-width: 721px) {
    .footer-spalten .footer--columns .bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
    .footer-spalten .footer--columns .bar { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); }
}
.footer-spalten .footer--columns .footer-social,
.footer-spalten .footer--columns .footer-bottom { grid-column: 1 / -1; margin: 0; }
.footer-spalten .footer--columns .footer-bottom { padding-top: var(--size-5); border-top: 1px solid var(--border); }

/* Brand column */
.footer-spalten .footer-logo { display: inline-block; text-decoration: none; color: var(--ink); }
.footer-spalten .footer-logo img { display: block; width: var(--logo-width); max-width: 100%; height: auto;
    max-height: var(--logo-max-height); object-fit: contain; object-position: left center; }
.footer-spalten .footer-tagline { margin: var(--size-3) 0 var(--size-4); max-width: 22rem; }
.footer-spalten .footer-rating { padding: var(--size-2) var(--size-3); border: 1px solid var(--border); }

/* Column headings: small capitals, the muted tone. */
.footer-spalten .footer-col-title { margin: 0 0 var(--size-3); font-size: .78rem; letter-spacing: .08em;
    text-transform: uppercase; color: var(--muted); }

/* Contact list with icons */
.footer-spalten .footer-col address { font-style: normal; }
.footer-spalten .footer-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--size-3); }
.footer-spalten .footer-contact-list li { display: flex; gap: var(--size-2); align-items: flex-start; }
.footer-spalten .footer-icon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--accent-fg); }
.footer-spalten .footer-contact-list a { color: var(--ink); text-decoration: none; }
.footer-spalten .footer-contact-list a:hover, .footer-spalten .footer-contact-list a:focus-visible { color: var(--accent-fg); text-decoration: underline; }

/* Hours */
.footer-spalten .footer-hours { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--size-2); }
.footer-spalten .footer-hours .day { display: block; color: var(--ink); font-weight: var(--font-weight-6); }
.footer-spalten .footer-hours .time { display: block; }
.footer-spalten .footer-hours-note { margin: var(--size-3) 0 0; }

/* Navigation: one link per line. */
.footer-spalten .footer--columns .footer-nav { margin: 0; }
.footer-spalten .footer--columns .footer-menu { flex-direction: column; gap: var(--size-2); }
.footer-spalten .footer--columns .footer-menu > li > a { font-weight: var(--font-weight-4); }
