/* --- 5. Preserved Site Footer, Mobile CTA, Cookie Banner & Dialogs --- */




[hidden] { display: none !important; }
.lucide { width: 19px; height: 19px; stroke-width: 1.7; flex: 0 0 auto; }
.brand-wordmark {
  display: inline-block;
  position: relative;
  width: 4.35em;
  height: 0.84em;
  vertical-align: -0.035em;
  white-space: nowrap;
  font-style: normal;
  overflow: hidden;
}
.brand-wordmark .brand-wordmark-image {
  position: absolute;
  display: block;
  width: 124.37%;
  height: auto;
  max-width: none;
  max-height: none;
  left: -0.548em;
  top: -0.548em;
  border: 0;
  padding: 0;
  filter: none;
  transform: none;
  object-fit: fill;
  pointer-events: none;
}
.brand-wordmark-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.site-footer {
  --studio-silver: 230px;
  --studio-plate-w: max(100vw, 1600px);
  --studio-floor: calc(var(--studio-plate-w) * 1067 / 1600 * 0.26);
  position: relative;
  background-color: #f7f8f8;
  background-image: url('assets/atelier-surface.webp');
  background-repeat: no-repeat;
  background-size: var(--studio-plate-w) auto;
  background-position: center calc(100% + max(0px, var(--studio-floor) - var(--studio-silver)));
  border-top: 0;
  padding: 72px 0 36px;
  color: #20262b;
  font-family: Noto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.site-footer .footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.site-footer .brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  width: auto;
  height: auto;
  overflow: visible;
  margin-bottom: 22px;
}
.site-footer .logo-crop {
  width: 119px;
  height: 23px;
  position: relative;
  overflow: hidden;
  display: inline-block;
}
.site-footer .logo-crop img {
  position: absolute;
  width: 148px;
  height: auto;
  max-width: none;
  left: -15px;
  top: -15px;
  mix-blend-mode: normal;
}
.footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.75fr) minmax(0, 1fr);
  gap: 64px;
  align-items: flex-start;
}
.footer-top > div { min-width: 0; }
.footer-tagline {
  font: italic 26px/1.3 Georgia, serif;
  color: #ad3923;
  margin: 17px 0;
}
.site-footer .text-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  padding-block: 4px;
  font-weight: 600;
}
.site-footer .social-links {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 38px;
}
.social-slot { display: inline-flex; }
.social-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #e3dfdd;
  border-radius: 6px;
  background: transparent;
  color: #28262a;
  transition: background 0.18s, border-color 0.18s;
  cursor: pointer;
}
.social-icon .lucide { width: 19px; height: 19px; }
.social-icon:hover { background: #fbf5f1; border-color: #ad3923; }
.social-pending:disabled { color: #a2a1a1; border-color: #e9e7e6; cursor: default; }
.mechanical-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  color: #656169;
  margin-top: 16px;
}
.mechanical-link:hover { color: #ad3923; }
.footer-group h2 {
  font: 650 12px/1.4 Noto, sans-serif;
  margin: 0 0 20px;
  color: #ad3923;
}
.footer-explore, .footer-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 13px;
  font-size: 12px;
}
.footer-explore a:hover, .footer-links a:hover {
  text-decoration: underline;
}
.privacy-trigger {
  padding: 0;
  background: none;
  border: 0;
  color: #656169;
  font-size: 11px;
  text-decoration: underline;
  text-align: left;
  line-height: 1.6;
  cursor: pointer;
}
.footer-base {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  border-top: 1px solid #e3dfdd;
  margin-top: 28px;
  padding-top: 22px;
  font-size: 10px;
  color: #656169;
}
