/* One footer typography and spacing system, shared by both languages. */
.footer-refined{background:#434d37;color:#f5f3e9;padding:0;border-top:0;font-family:var(--catfe-font-body)}
.footer-refined .shell{max-width:1180px}
.footer-masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px 0 30px;border-bottom:1px solid #70795f}
.footer-identity{display:flex;align-items:center;gap:15px;color:inherit;text-decoration:none}
.footer-identity img{width:64px;height:64px;object-fit:contain;background:transparent;border-radius:0;padding:0;box-shadow:none}
.footer-identity strong{font-family:var(--catfe-font-display);font-size:29px;line-height:1.2;font-weight:500;letter-spacing:-.02em;display:block}
.footer-identity strong span{font-family:var(--catfe-font-body);font-size:23px}
.footer-identity small{display:block;font-size:10px;letter-spacing:.12em;line-height:1.7;margin-top:7px;color:#d8ddcc}
.footer-refined .footer-book{color:#fffdf5;text-decoration:none;border:1px solid #a8b291;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;line-height:1.5;flex-shrink:0}
.footer-refined .footer-book:hover{background:#566246}
.footer-refined .footer-directory{display:grid;grid-template-columns:1fr .85fr 1.25fr;gap:64px;padding:32px 0 34px}
.footer-refined .footer-directory h2{font-family:var(--catfe-font-body);font-size:15px;line-height:1.5;font-weight:600;letter-spacing:.02em;margin:0 0 18px;color:#fffdf5}
.footer-refined .footer-directory a{display:block;width:fit-content;color:#edf0e3;text-decoration:none;font-size:14px;line-height:1.7;margin:0 0 10px;text-underline-offset:4px}
.footer-refined .footer-directory a:hover{text-decoration:underline}
.footer-refined .footer-directory .footer-phone{font-size:20px;font-weight:500;letter-spacing:.025em;line-height:1.5;margin-bottom:10px;font-variant-numeric:tabular-nums}
.footer-refined .footer-directory address{font-style:normal;font-size:14px;line-height:1.7;margin-top:20px;color:#edf0e3}
.footer-refined .footer-directory p{font-family:var(--catfe-font-body);font-size:13px;font-weight:400;line-height:1.75;color:#d8ddcc;margin:10px 0 14px}
.footer-hour-line{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:baseline;font-size:14px;line-height:1.8;padding:4px 0}
.footer-hour-line strong{font-weight:400;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.footer-refined .footer-directory .footer-session-break{margin-top:14px;padding-top:12px;border-top:1px solid #70795f;color:#e8ecdf}
.footer-refined .footer-directory .footer-hours-note{max-width:350px;margin:10px 0}
.footer-connect{display:flex;align-items:center;gap:26px;padding:20px 0;border-top:1px solid #70795f;font-size:13px;line-height:1.7;color:#d8ddcc}
.footer-connect>div{display:flex;gap:24px;flex-wrap:wrap}
.footer-connect a{font-size:14px;text-decoration:none;color:#f5f3e9;text-underline-offset:4px;padding:6px 0}
.footer-connect a:hover{text-decoration:underline}
.footer-motto{margin-left:auto}
.footer-refined .foot-flex{display:flex;align-items:center;justify-content:space-between;margin:0;padding:18px 0 24px;border-top:1px solid #70795f;color:#d8ddcc;font-family:var(--catfe-font-body);font-size:12px;line-height:1.7}
.footer-refined .foot-admin{font-family:var(--catfe-font-body);font-size:12px;color:#d8ddcc;padding:8px 0;min-height:40px;cursor:pointer}
.footer-refined a:focus-visible,.footer-refined button:focus-visible{outline:2px solid #f1dba9;outline-offset:5px}
/* Bring the adjoining map section into the same quieter hierarchy. */
.footer-visit{padding:42px 0;background:#f0f2e9}
.footer-visit h2{font-size:clamp(28px,3.2vw,40px);line-height:1.3;margin:12px 0 18px}
.footer-visit p:not(.v8-kicker){font-size:14px;line-height:1.8}
.footer-visit .footer-map-frame{height:340px;border-radius:18px;box-shadow:none}
@media(max-width:1000px){.footer-refined .footer-directory{gap:32px;grid-template-columns:1fr 1fr}.footer-hours-section{grid-column:1/-1;max-width:460px;width:100%}.footer-masthead{gap:20px}.footer-identity small{letter-spacing:.05em}}
@media(max-width:600px){.footer-masthead{align-items:flex-start;flex-direction:column;padding:28px 0;gap:24px}.footer-identity img{width:56px;height:56px}.footer-identity strong{font-size:27px}.footer-identity small{font-size:10px}.footer-refined .footer-book{width:100%;text-align:center;min-height:46px}.footer-refined .footer-directory{grid-template-columns:1fr;gap:28px;padding:28px 0}.footer-refined .footer-directory h2{font-size:15px;margin-bottom:14px}.footer-refined .footer-directory nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-block:1px solid #70795f;padding:26px 0}.footer-directory nav h2{grid-column:1/-1}.footer-refined .footer-directory nav a{margin:0;min-height:40px;display:flex;align-items:center}.footer-hours-section{grid-column:auto;max-width:none}.footer-hour-line{font-size:13px;gap:10px}.footer-connect{flex-wrap:wrap;gap:10px 20px;padding:20px 0}.footer-connect>span:first-child{width:100%}.footer-motto{margin-left:auto;font-size:12px}.footer-connect>div{gap:20px}.footer-refined .foot-flex{flex-direction:row;align-items:center;padding:14px 0 26px;gap:16px}.footer-visit{padding:30px 0}.footer-visit .footer-map-frame{height:290px}.footer-visit h2{font-size:28px}}

/* Keep weekday ranges and times aligned in every row, including Mon–Thu. */
.footer-hour-line{grid-template-columns:7rem minmax(0,1fr);column-gap:18px}
.footer-hour-line>span{white-space:nowrap;word-break:keep-all}
.footer-hour-line>strong{font-variant-numeric:tabular-nums;font-weight:500;overflow-wrap:normal;word-break:normal}
@media(max-width:600px){.footer-hour-line{grid-template-columns:6.5rem minmax(0,1fr);column-gap:12px;line-height:1.9}}
