/* ============================================================
   Footer (shared across all pages)
   ============================================================ */

footer {
    background-color: var(--primary-color);
    background-image: none;
    position: relative;
    color: #ffffff;
    padding: 2.25rem 0;
}

footer .footer-wrap {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 4.5rem;
    margin: 0 auto;
    gap: 2.25rem;
}

footer .footer-company { flex-shrink: 0; }
footer .footer-company h1 { font-size: 1.5rem; margin-bottom: 1.625rem; }
footer .footer-company h1 img { height: 4.75rem; width: auto; }
footer .footer-company p { font-weight: normal; }
footer .footer-menu { flex: 1; }
footer .footer-menu ul { display: flex; gap: 2.25rem; flex-wrap: nowrap; justify-content: flex-end; }
footer .footer-menu li { white-space: nowrap; }
footer .footer-menu ul dt,
footer .footer-menu ul .link { font-size: 1rem; margin-bottom: 0.625rem; color: #fff; font-weight: bold; }
footer .footer-menu dd { font-size: 0.75rem; margin-bottom: 0.375rem; color: #fff; font-weight: normal; }
footer .footer-menu dd a { color: #fff; font-weight: normal; }
footer .footer-menu dd a:hover { color: rgba(255, 255, 255, 0.75); }

footer .footer-copyright {
    font-size: 0.75rem;
    font-weight: bold;
    margin-top: 2.25rem;
    text-align: left;
    padding: 0 4.5rem;
    color: #fff;
}

/* 13-inch (≤ 1280px) */
@media (max-width: 1280px) {
    footer .footer-wrap { padding: 0 3rem; }
    footer .footer-copyright { padding: 0 3rem; }
}

/* iPad (≤ 1024px) */
@media (max-width: 1024px) {
    footer .footer-wrap { padding: 0 2.25rem; gap: 1.375rem; }
    footer .footer-menu ul { flex-wrap: wrap; gap: 1.125rem; justify-content: flex-end; }
    footer .footer-copyright { padding: 0 2.25rem; }
}

/* Mobile (≤ 767px) */
@media (max-width: 767px) {
    footer .footer-wrap { flex-direction: column; align-items: center; padding: 0 1.375rem; gap: 1.375rem; }
    footer .footer-company { width: 100%; text-align: center; }
    footer .footer-company p { font-size: 1.2rem; }
    footer .footer-menu { width: 100%; text-align: center; }
    footer .footer-menu ul { flex-direction: column; gap: 0.875rem; justify-content: center; align-items: center; }
    footer .footer-menu ul dt,
    footer .footer-menu ul .link { font-size: 1.6rem; }
    footer .footer-menu dd { font-size: 1.2rem; }
    footer .footer-menu li:not(.link) { display: block; }
    footer .footer-copyright { margin-top: 2.25rem; padding: 0 1.375rem; text-align: center; font-size: 1.2rem; }
}

