/* Shared styles for the native Gutenberg components and their public output. */
.wp-block-l4sc-logo.l4sc-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--l4sc-logo-desktop, 360px);
  max-width: 100%;
  height: auto;
  flex: 0 1 auto;
  gap: 0;
  margin: 0;
  padding: 0;
  line-height: 0;
  box-sizing: border-box;
  text-decoration: none;
}
.l4sc-logo-link .l4sc-logo-image {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  flex: 0 1 auto !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
  margin: 0;
}
.wp-block-l4sc-logo.l4sc-logo-surface {
  padding: 12px;
  background: #fffdf7;
  border-radius: 4px;
}
.l4sc-logo-link:focus-visible {
  outline: 3px solid #e0a16a;
  outline-offset: 5px;
}

/* No second gutter inside the theme's outer footer wrapper. */
.site-footer.l4sc-managed-footer {
  padding: 0 !important;
  margin: 0 !important;
  background: #0c2b25;
  color: #e3e9e1;
  font-family: var(--sans, 'DM Sans', Arial, sans-serif);
}
.l4sc-managed-footer .footer-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3vw, 48px) !important;
  width: min(100%, calc(var(--max, 1320px) + 2 * var(--gutter, 40px))) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 64px var(--gutter, 40px) 48px !important;
  box-sizing: border-box;
  align-items: start;
}
.l4sc-managed-footer .footer-main > *,
.l4sc-managed-footer .footer-bottom > * {
  min-width: 0;
  margin: 0 !important;
}
.l4sc-managed-footer .footer-brand-col {
  grid-column: auto !important;
  grid-row: auto !important;
}
.l4sc-managed-footer .l4sc-footer-tagline {
  margin: 18px 0 !important;
  max-width: 290px;
  color: #c5d0c4;
  font: italic 16px/1.6 var(--serif, Georgia, serif);
}
.l4sc-managed-footer .footer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}
.l4sc-managed-footer .footer-col > * {
  margin: 0 !important;
  min-width: 0;
  max-width: 100%;
}
.l4sc-managed-footer .footer-col h2 {
  margin: 0 0 8px !important;
  color: #edc195;
  font: 700 11px/1.6 var(--sans, Arial, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.l4sc-managed-footer .footer-col p,
.l4sc-managed-footer .footer-col a {
  font: 400 13px/1.75 var(--sans, Arial, sans-serif);
  color: #e3e9e1;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.l4sc-managed-footer .footer-col p:last-child {
  color: #c5d0c4;
}
.l4sc-managed-footer .footer-col a {
  display: inline-block;
  padding: 2px 0;
  text-decoration: none;
}
.l4sc-managed-footer .footer-col a:hover,
.l4sc-managed-footer .footer-bottom a:hover {
  color: #f2c195 !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.l4sc-managed-footer .l4sc-social {
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 14px 0 0 !important;
}
.l4sc-managed-footer .l4sc-social .wp-social-link {
  background: transparent !important;
  border: 1px solid #839b8a;
  border-radius: 50%;
  margin: 0;
  padding: 0;
}
.l4sc-managed-footer .l4sc-social .wp-social-link a {
  display: flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px;
  color: #fff !important;
}
.l4sc-managed-footer .l4sc-social svg { width: 22px; height: 22px; fill: currentColor; }
.l4sc-managed-footer .footer-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px 28px;
  width: min(100%, calc(var(--max, 1320px) + 2 * var(--gutter, 40px))) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 20px var(--gutter, 40px) 24px !important;
  border-top: 1px solid rgba(255,255,255,.18);
  box-sizing: border-box;
}
.l4sc-managed-footer .footer-bottom p,
.l4sc-managed-footer .footer-bottom a {
  margin: 0;
  color: #c5d0c4;
  font: 400 11px/1.7 var(--sans, Arial, sans-serif);
  letter-spacing: 0;
}
.l4sc-managed-footer .l4sc-legal-links {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px 22px;
}
.l4sc-managed-footer .l4sc-legal-links > * { margin: 0 !important; }
.l4sc-managed-footer .footer-bottom .footer-signoff {
  color: #edc195;
  font: italic 14px/1.5 var(--serif, Georgia, serif);
}
@media (max-width: 1180px) {
  .wp-block-l4sc-logo.l4sc-logo-link { width: var(--l4sc-logo-tablet, 300px); }
  .l4sc-managed-footer .footer-bottom { grid-template-columns: minmax(0, 1fr) auto; }
  .l4sc-managed-footer .footer-bottom .footer-signoff { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .l4sc-managed-footer .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px 26px !important; }
  .l4sc-managed-footer .footer-brand-col { grid-column: 1 / -1 !important; }
}
@media (max-width: 600px) {
  .wp-block-l4sc-logo.l4sc-logo-link { width: var(--l4sc-logo-mobile, 240px); }
  .l4sc-managed-footer .footer-main { padding: 46px var(--gutter, 20px) 38px !important; }
  .l4sc-managed-footer .footer-bottom { grid-template-columns: minmax(0, 1fr) !important; gap: 14px; padding-bottom: 90px !important; }
  .l4sc-managed-footer .footer-bottom .footer-signoff { grid-column: auto; }
}
@media (max-width: 360px) {
  .l4sc-managed-footer .footer-main { grid-template-columns: minmax(0, 1fr) !important; }
  .l4sc-managed-footer .footer-brand-col { grid-column: auto !important; }
}

/* Classic themes may add a legacy inner-container to core/group.
   Treat it as transparent to layout, while retaining real Gutenberg blocks in storage. */
.l4sc-managed-footer .wp-block-group__inner-container {
  display: contents;
  padding: 0;
  margin: 0;
}
.l4sc-managed-footer :is(.footer-main, .footer-bottom, .footer-col, .l4sc-legal-links) > .wp-block-group__inner-container > * {
  min-width: 0;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.l4sc-managed-footer .footer-col > .wp-block-group__inner-container > h2 {
  margin-bottom: 8px !important;
}
