/* ==========================================================================
   OrderOnQR — Shared site footer (templates/element/site_footer.php)
   Loaded globally by layout/default.php. Self-contained: does not rely on landing.css.
   ========================================================================== */
footer.oq-footer {
    --oqf-ink: #0e1020;
    --oqf-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    position: relative;
    background: var(--oqf-ink) !important; /* beats app-wide `footer { background: ... !important }` */
    color: rgba(255, 255, 255, .66);
    font-family: var(--oqf-font);
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    padding: 80px 0 0;
}
body:not(.oq-home-body) footer.oq-footer { margin-top: 48px; }
.oq-footer *, .oq-footer *::before, .oq-footer *::after { box-sizing: border-box; }
.oq-footer .oq-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }

.oq-footer__grid {
    display: grid; grid-template-columns: 1.4fr repeat(2, minmax(0, 1fr)) minmax(0, 1.3fr) minmax(0, .8fr); gap: 40px;
    padding-bottom: 56px; border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.oq-footer__brand img { height: 34px; width: auto; display: block; max-width: 100%; }
.oq-footer__brand p { font-size: .92rem; margin: 18px 0 0; max-width: 24em; line-height: 1.65; }
.oq-footer h4 {
    color: #fff; font-family: var(--oqf-font); font-size: .8rem; font-weight: 600; line-height: 1.3;
    text-transform: uppercase; letter-spacing: .1em; margin: 0 0 18px;
}
.oq-footer ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.oq-footer a { color: rgba(255, 255, 255, .66); text-decoration: none; font-size: .92rem; transition: color .15s ease; }
.oq-footer a:hover { color: #fff; text-decoration: none; }
.oq-footer a:focus-visible { outline: 3px solid rgba(85, 70, 232, .7); outline-offset: 3px; border-radius: 6px; }
.oq-footer__grid > * { min-width: 0; }
.oq-footer__contact li { display: flex; gap: 10px; align-items: baseline; min-width: 0; }
.oq-footer__contact a { min-width: 0; overflow-wrap: anywhere; } /* last resort on very narrow screens */
.oq-footer__contact i { width: 14px; color: rgba(255, 255, 255, .45); font-size: .82rem; }
.oq-footer__bottom {
    display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
    padding: 24px 0 28px; font-size: .84rem; color: rgba(255, 255, 255, .5);
}
.oq-footer__bottom nav { display: flex; gap: 20px; }

@media (max-width: 1199.98px) {
    .oq-footer__grid { grid-template-columns: 1.3fr repeat(2, minmax(0, 1fr)); }
    .oq-footer__brand { grid-row: span 2; }
}
@media (max-width: 767.98px) {
    footer.oq-footer { padding-top: 56px; }
    .oq-footer .oq-container { padding: 0 20px; }
    .oq-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
    .oq-footer__brand, .oq-footer__support { grid-column: 1 / -1; grid-row: auto; }
    .oq-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 380px) {
    .oq-footer__grid { grid-template-columns: 1fr; }
}
@media print {
    footer.oq-footer { display: none; }
}
