/* Widgetized footer builder */
.saj-footer-zone .saj-footer-widget,.saj-footer-zone .custom-html-widget{min-width:0;max-width:100%}
/* Keep fixed-size HTML map embeds inside their footer column. */
.saj-footer-zone iframe{display:block;box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0!important;height:200px!important;margin-inline:0;border:0;border-radius:16px;background:#e8eee9}
.saj-footer-builder__grid>.saj-footer-zone{min-width:0}.saj-footer-zone--1{grid-area:map}.saj-footer-zone--2{grid-area:contact}.saj-footer-zone--3{grid-area:services}.saj-footer-zone--4{grid-area:links}.saj-footer-zone--5{grid-area:newsletter}.saj-footer-social-widget{padding-inline:23px;margin-top:0}.saj-footer-social-widget>h3{margin:0 0 12px;color:#ead5b2;font-size:16px}.saj-footer-socials{display:flex;flex-wrap:wrap;gap:9px}.saj-footer-socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(208,170,106,.52);border-radius:50%;color:#d0aa6a;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}.saj-footer-socials a:hover{color:#073d33;background:#d0aa6a;border-color:#d0aa6a;transform:translateY(-2px)}.saj-footer-socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.saj-footer-menu-widget .saj-footer-menu ul{margin:8px 14px 0 0}.saj-footer-menu-widget .saj-footer-menu ul a{opacity:.88;font-size:14px}.saj-footer-menu-widget .saj-footer-menu li.menu-item-has-children>a{font-weight:700}.saj-footer-bottom-builder>.saj-footer-bottom-zone{min-width:0}.saj-footer-bottom-zone--2{display:flex;justify-content:center}.saj-footer-bottom-zone--3{display:flex;justify-content:flex-end}.saj-footer-bottom-widget{display:flex;align-items:center}.saj-footer-bottom-widget .saj-footer-legal-menu{display:flex;align-items:center}.saj-footer-bottom-widget .saj-footer-menu{display:flex;align-items:center;gap:18px}.saj-footer-bottom-widget .saj-footer-menu li{display:flex}.saj-footer-bottom-widget .saj-footer-menu a{font-size:14px}.footer-cta__mark>svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.saj-footer-widget .widget-title{color:#ead5b2}.saj-footer-widget>.widget{color:rgba(255,255,255,.8)}
@media(max-width:992px){.saj-footer-builder__grid{grid-template-areas:"map contact" "services links" "newsletter newsletter"}.saj-footer-zone--5{border-block-start:1px solid rgba(208,170,106,.2);padding-block-start:25px}.saj-footer-social-widget{margin-top:0}.saj-footer-bottom-builder{flex-wrap:wrap}.saj-footer-bottom-zone--1{flex:1 1 100%}.saj-footer-bottom-zone--2,.saj-footer-bottom-zone--3{flex:1 1 auto}}
@media(max-width:767px){.saj-footer-builder__grid{grid-template-areas:"map" "contact" "services" "links" "newsletter";grid-template-columns:1fr}.saj-footer-zone{border-block-end:1px solid rgba(208,170,106,.18)}.saj-footer-zone--5{border-block-start:0;border-block-end:0;padding-block-start:0}.saj-footer-zone>.saj-footer-widget>.footer-map,.saj-footer-zone>.saj-footer-widget>.footer-column{border-inline-start:0;border-block-end:0}.saj-footer-social-widget{padding:0 0 22px}.saj-footer-bottom-builder{flex-direction:column;justify-content:center;text-align:center}.saj-footer-bottom-zone--2,.saj-footer-bottom-zone--3{justify-content:center}.saj-footer-bottom-widget .saj-footer-menu{flex-wrap:wrap;justify-content:center}}
.saj-footer-zone:not(.saj-footer-zone--5) .saj-footer-social-widget{margin-top:0;padding:23px}.saj-footer-zone:not(.saj-footer-zone--5) .saj-footer-social-widget>h3{font-size:16px}

/* Stack newsletter and social links using their content height. */
.saj-footer-zone--5>.saj-footer-widget{height:auto}
.saj-footer-zone--5 .footer-newsletter{height:auto;min-height:0;padding-block-end:0}
.saj-footer-zone--5 .footer-newsletter__status:empty{min-height:0;margin-block:0}
.saj-footer-zone--5 .saj-footer-social-widget{margin-top:14px}
.saj-footer-zone--5 .saj-footer-socials{margin-block-start:0}

/* Global footer visibility controls: keep CTA layout balanced when individual parts are disabled. */
.footer-cta__panel.is-no-mark{grid-template-areas:"copy actions";grid-template-columns:minmax(0,1fr) 325px}
.footer-cta__panel.is-no-actions{grid-template-areas:"mark copy";grid-template-columns:112px minmax(0,1fr)}
.footer-cta__panel.is-no-copy{grid-template-areas:"mark actions";grid-template-columns:112px minmax(0,1fr)}
.footer-cta__panel.is-no-mark.is-no-actions{grid-template-areas:"copy";grid-template-columns:minmax(0,1fr)}
.footer-cta__panel.is-no-mark.is-no-copy{grid-template-areas:"actions";grid-template-columns:minmax(0,1fr)}
.footer-cta__panel.is-no-copy.is-no-actions{grid-template-areas:"mark";grid-template-columns:1fr;justify-items:center}
.footer-cta__panel.is-no-mark.is-no-copy.is-no-actions{display:none}
@media(max-width:992px){
  .footer-cta__panel.is-no-mark,.footer-cta__panel.is-no-actions,.footer-cta__panel.is-no-copy{grid-template-columns:1fr;grid-template-areas:"copy" "actions";text-align:center}
  .footer-cta__panel.is-no-mark .footer-cta__copy,.footer-cta__panel.is-no-mark .footer-cta__actions,
  .footer-cta__panel.is-no-actions .footer-cta__copy,.footer-cta__panel.is-no-copy .footer-cta__actions{justify-self:stretch}
}

/* Copyright, legal links and designer credit share a borderless bottom row.
 * Core text, HTML, block and menu widgets must not inherit sidebar card frames. */
.site-footer.saj-footer-builder .footer-bottom {
  border:0;
}
.site-footer.saj-footer-builder .footer-bottom :is(.saj-footer-bottom-widget,.footer-bottom__legal,.saj-footer-bottom-menu,.saj-footer-menu) {
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.site-footer.saj-footer-builder .footer-bottom :is(.saj-footer-bottom-menu,.saj-footer-menu) :is(li,ul),
.site-footer.saj-footer-builder .footer-bottom .saj-footer-bottom-widget__title {
  border:0;
}

/* The native grid owns spacing and dividers; widget content never draws a second line.
 * Use the footer root so these rules also win over older cached widget styles. */
.site-footer.saj-footer-builder .footer-grid {
  display:grid;
  align-items:stretch;
  grid-template-areas:"map contact services links newsletter";
  grid-template-columns:minmax(0,1.2fr) minmax(0,1.05fr) minmax(0,.82fr) minmax(0,.78fr) minmax(0,1.18fr);
}
.site-footer.saj-footer-builder .footer-grid>.saj-footer-zone {
  box-sizing:border-box;
  min-width:0;
  height:auto;
  align-self:stretch;
  padding:0 23px;
  border-inline-start:1px solid rgba(208,170,106,.2);
}
.site-footer.saj-footer-builder .footer-grid>.saj-footer-zone--1 {
  padding-inline:0 22px;
  border-inline-start:0;
}
.site-footer.saj-footer-builder .saj-footer-zone>.saj-footer-widget,
.site-footer.saj-footer-builder .saj-footer-zone :is(.footer-map,.footer-column) {
  height:auto;
  min-height:0;
}
.site-footer.saj-footer-builder .saj-footer-zone :is(.footer-map,.footer-column) {
  padding:0;
  border:0;
}
.site-footer.saj-footer-builder .saj-footer-zone .saj-footer-social-widget {padding:0}
.site-footer.saj-footer-builder .saj-footer-zone :is(.saj-footer-widget__title,.saj-wp-widget__title,.widget-title),
.site-footer.saj-footer-builder .saj-footer-zone :is(.footer-map,.footer-column)>h3,
.site-footer.saj-footer-builder .saj-footer-zone--1 :is(.custom-html-widget,.textwidget,.wp-block-html) :is(h2,h3,h4),
.site-footer.saj-footer-builder .saj-footer-zone--1 .wp-block-heading {
  margin:0 0 15px;
  padding:0;
  border:0;
  color:#ead5b2;
  font-size:16px;
  font-weight:790;
  line-height:1.5;
  text-align:start;
  overflow-wrap:anywhere;
}
/* Custom HTML and block headings may carry inline colors, sizes and margins. */
.site-footer.saj-footer-builder .saj-footer-zone--1 :is(.custom-html-widget,.textwidget,.wp-block-html) :is(h2,h3,h4),
.site-footer.saj-footer-builder .saj-footer-zone--1 .wp-block-heading {
  margin:0 0 15px!important;
  padding:0!important;
  border:0!important;
  color:#ead5b2!important;
  font-size:16px!important;
  font-weight:790!important;
  line-height:1.5!important;
}
/* A core HTML/text/block map shares the native column spacing and heading baseline. */
.site-footer.saj-footer-builder .saj-footer-zone--1>.saj-footer-widget:is(.widget_custom_html,.widget_text,.widget_block,.saj-wp-widget--custom_html,.saj-wp-widget--text,.saj-wp-widget--block) {
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.site-footer.saj-footer-builder .saj-footer-zone--1 :is(.custom-html-widget,.textwidget,.wp-block-html,.wp-block-embed__wrapper,figure) {
  min-width:0;
  max-width:100%;
  margin-inline:0;
}
.site-footer.saj-footer-builder .saj-footer-zone--1 :is(.custom-html-widget,.textwidget,.wp-block-html) :is(div,figure) {
  max-width:100%!important;
  min-width:0!important;
}
.site-footer.saj-footer-builder .saj-footer-zone--1 :is(img,iframe) {max-width:100%!important;min-width:0!important}
@media(max-width:1199px) {
  .site-footer.saj-footer-builder .footer-grid {
    grid-template-areas:"map contact newsletter" "services links newsletter";
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.05fr);
  }
  .site-footer.saj-footer-builder .footer-grid>.saj-footer-zone--3 {border-inline-start:0}
}
@media(max-width:992px) {
  .site-footer.saj-footer-builder .footer-grid {
    grid-template-areas:"map contact" "services links" "newsletter newsletter";
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .site-footer.saj-footer-builder .footer-grid>.saj-footer-zone--5 {
    border-inline-start:0;
    padding-block-start:25px;
  }
}
@media(max-width:767px) {
  .site-footer.saj-footer-builder .footer-grid {
    grid-template-areas:"map" "contact" "services" "links" "newsletter";
    grid-template-columns:minmax(0,1fr);
  }
  .site-footer.saj-footer-builder .footer-grid>.saj-footer-zone {
    padding:22px 0;
    border-inline-start:0;
  }
  .site-footer.saj-footer-builder .footer-grid>.saj-footer-zone--1 {padding-block-start:0}
  .site-footer.saj-footer-builder .footer-grid>.saj-footer-zone--5 {padding-block-start:22px}
}
