/* Sanlab footer — the Smatwall (Nova) footer, copied from its stylesheet.
   Smatwall's design tokens are scoped to the footer so the rest of the page is not affected. */
.site-footer {
  --color-accent-wood:#8C6D53; --color-accent-dark:#0F0F0F;
  --font-display:'Work Sans','Helvetica Neue',Arial,sans-serif;
  --fs-nav:.75rem; --fs-caption:.8125rem;
  --space-xs:8px; --space-sm:16px; --space-md:24px; --space-lg:48px; --space-xl:96px;
  --container-max:1440px; --container-padding:clamp(20px,5vw,80px);
  --ease-large:cubic-bezier(.22,1,.36,1); --dur-ui:280ms;
  font-family:var(--font-display); line-height:1.6; font-weight:400; text-align:left; -webkit-font-smoothing:antialiased;
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing:border-box; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer p, .site-footer h4 { margin:0; }
.site-footer a { color:inherit; text-decoration:none; }
.site-footer img { max-width:100%; display:block; }
.site-footer button { font-family:inherit; cursor:pointer; }
.site-footer .container { max-width:var(--container-max); margin:0 auto; padding-left:var(--container-padding); padding-right:var(--container-padding); }
.wordmark { font-family:'Work Sans','Helvetica Neue',Arial,sans-serif; font-size:1.1rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }

.site-footer { background: var(--color-accent-dark); color: rgba(255,255,255,0.85); padding-top: var(--space-xl); }
.site-footer h4 {
  font-size: var(--fs-nav); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 500;
  color: #fff; margin-bottom: var(--space-sm);
}
.site-footer a:hover { color: var(--color-accent-wood); }
.wordmark--light { color: #fff; }
.footer-taxonomy {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg);
  padding-bottom: var(--space-lg); border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer-accordion__heading {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  background: none; border: none; color: #fff;
  font-size: var(--fs-nav); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 500;
  padding: 4px 0; margin-bottom: var(--space-sm); text-align: left;
}
.footer-accordion__icon { display: none; }
.footer-accordion__panel { display: flex; flex-direction: column; gap: 8px; }
.footer-accordion__panel a { font-size: var(--fs-caption); color: rgba(255,255,255,0.7); }
.footer-main {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: var(--space-lg);
  padding-top: var(--space-lg); padding-bottom: var(--space-lg);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.footer-col--brand p { font-size: var(--fs-caption); max-width: 260px; margin: var(--space-xs) 0 var(--space-md); }
.footer-col ul { display: flex; flex-direction: column; gap: 8px; }
.footer-col a { font-size: var(--fs-caption); color: rgba(255,255,255,0.7); }
.social-row { display: flex; gap: var(--space-xs); }
.social-icon {
  width: 34px; height: 34px; border: 1px solid rgba(255,255,255,0.3); border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: #fff;
  transition: border-color var(--dur-ui), color var(--dur-ui);
}
.social-icon:hover { border-color: var(--color-accent-wood); color: var(--color-accent-wood); }
.footer-col--lang select {
  width: 100%; padding: 10px; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.3);
}
.footer-legal {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-sm);
  padding: var(--space-md) var(--container-padding) var(--space-lg);
  font-size: 0.75rem; color: rgba(255,255,255,0.5);
}
.footer-legal__links { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.footer-legal__company { flex: 1 1 100%; }
@media (max-width: 900px) {
  .footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .footer-taxonomy { grid-template-columns: 1fr; gap: 0; }
  .footer-accordion { border-bottom: 1px solid rgba(255,255,255,0.12); padding: var(--space-sm) 0; }
  .footer-accordion__icon { display: inline-block; font-size: 1.2rem; transition: transform var(--dur-ui); }
  .footer-accordion[data-open="true"] .footer-accordion__icon { transform: rotate(45deg); }
  .footer-accordion__panel {
    max-height: 0; overflow: hidden; gap: 0;
    transition: max-height var(--dur-ui) var(--ease-large);
  }
  .footer-accordion[data-open="true"] .footer-accordion__panel { max-height: 300px; padding-top: var(--space-xs); }
  .footer-accordion__panel li { padding: 4px 0; }
  .footer-main { grid-template-columns: 1fr; }
}
.footer-payment-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding: var(--space-md) var(--container-padding);
  margin-top: var(--space-lg);
  border-top: 1px solid rgba(255,255,255,0.12);
  font-size: var(--fs-caption);
  color: rgba(255,255,255,0.7);
}
.payment-badges-images { display: flex; gap: 8px; }
.payment-badge { background: #fff; padding: 4px 8px; display: flex; align-items: center; }
.payment-badge img { height: 16px; width: auto; }
.payment-numbers-inline { color: rgba(255,255,255,0.7); }
.footer-col--visit .footer-locations { display: flex; flex-direction: column; gap: var(--space-sm); }
.footer-col--visit .footer-locations li { display: flex; flex-direction: column; gap: 2px; }
.footer-col--visit .footer-locations strong { color: rgba(255,255,255,0.92); font-weight: 500; font-size: var(--fs-caption); }
.footer-col--visit .footer-locations span { font-size: var(--fs-caption); color: rgba(255,255,255,0.7); }
.footer-col--visit .footer-hours { color: rgba(255,255,255,0.55) !important; }
.site-footer .wordmark--light { color:#fff; }

@media (max-width: 900px) {
  .site-footer .footer-accordion__heading { min-height: 52px; }
  .site-footer .footer-legal { padding-bottom: 76px; }          /* keeps the copyright line clear of the floating WhatsApp button */
  .site-footer .footer-col ul li a { display: inline-block; padding: 6px 0; }
}
@media (max-width: 900px) {
  .site-footer .footer-accordion__panel a { display: inline-block; padding: 9px 0; }
}
