/* Widget direction follows the configured directory language. */
.sag-footer{--sag-footer-accent:#f59e0b;box-sizing:border-box;width:100%;min-width:0;color:#1e293b;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-align:left;direction:ltr!important;container-type:inline-size}
.sag-footer *{box-sizing:border-box}
.sag-footer a,.sag-footer a:visited{color:inherit;text-decoration:none;box-shadow:none}
.sag-footer a:hover{color:#0f172a;text-decoration:none}
.sag-footer a:focus-visible{outline:2px solid var(--sag-footer-accent);outline-offset:3px;border-radius:6px}
.sag-footer .sag-footer__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 2px 0}
.sag-footer .sag-footer__heading h2{font-family:inherit;font-size:21px!important;font-weight:700!important;line-height:26px!important;color:#1e293b!important;margin:0!important;padding:0!important;letter-spacing:-.3px!important;overflow-wrap:anywhere;unicode-bidi:plaintext;text-align:left;border:0}
.sag-footer .sag-footer__accent{display:block;width:44px;height:3.5px;background:var(--sag-footer-accent,#f59e0b);border-radius:3px;margin:9px 0 16px 0}
.sag-footer .sag-footer__view{font-size:14.5px;font-weight:500;line-height:22px;flex-shrink:0;color:var(--sag-footer-accent,#f59e0b);display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}
.sag-footer .sag-footer__view:hover{color:#d97706}
.sag-footer .sag-footer__arrow{display:inline-block;direction:ltr;unicode-bidi:isolate;transform:none}

/* Column 1: Brand & Socials */
.sag-footer.sag-footer--brand{position:relative;padding:0;isolation:isolate}
.sag-footer.sag-footer--brand::before{content:'';position:absolute;z-index:-1;pointer-events:none;left:0;bottom:0;width:100%;max-width:380px;height:130px;background:url('../images/footer-skyline.svg') left bottom/contain no-repeat;opacity:.75}
.sag-footer .sag-footer__brand{display:inline-flex;align-items:center;min-height:50px;max-height:72px;margin:0;padding:0;font-size:32px;line-height:38px;font-weight:800;overflow-wrap:anywhere}
.sag-footer .sag-footer__logo{display:block;max-width:100%;height:auto;max-height:68px;object-fit:contain;object-position:left center;margin:0;border:0}
.sag-footer--brand .sag-footer__accent{margin:10px 0 16px 0}
.sag-footer .sag-footer__description{margin:0 0 20px 0;color:#4b5563;font:14.5px/24px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow-wrap:anywhere;unicode-bidi:plaintext;max-width:380px}
.sag-footer .sag-footer__socials{display:flex;direction:ltr!important;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;max-width:380px;margin:0 0 20px 0}
.sag-footer .sag-footer__social{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;color:#fff!important;fill:#fff!important;text-decoration:none!important;font-size:17px;line-height:1;transition:transform .18s ease,opacity .18s ease}
.sag-footer .sag-footer__social svg{display:block;fill:#fff!important;color:#fff!important}
.sag-footer .sag-footer__social svg *{fill:#fff!important}
.sag-footer .sag-footer__social--facebook svg{width:11px;height:18px}
.sag-footer .sag-footer__social--instagram svg{width:17.5px;height:17.5px}
.sag-footer .sag-footer__social--x svg{width:16.5px;height:15px}
.sag-footer .sag-footer__social--pinterest svg{width:15px;height:17.5px}
.sag-footer .sag-footer__social--whatsapp svg{width:18px;height:18px}
.sag-footer .sag-footer__social i,.sag-footer .sag-footer__social .fa-brands{color:#fff!important;font-size:17px;line-height:1}
.sag-footer .sag-footer__social:hover{color:#fff!important;fill:#fff!important;transform:translateY(-2px);opacity:.9}
.sag-footer .sag-footer__social--facebook{background:#1877f2}
.sag-footer .sag-footer__social--instagram{background:linear-gradient(135deg,#833ab4 0%,#c13584 30%,#e1306c 50%,#fd1d1d 75%,#f77737 90%,#fcaf45 100%)}
.sag-footer .sag-footer__social--x{background:#000}
.sag-footer .sag-footer__social--pinterest{background:#e60023}
.sag-footer .sag-footer__social--whatsapp{background:#25d366}
.sag-footer .sag-footer__tagline{font:italic 21px/28px "Dancing Script","Caveat","Segoe Print","Brush Script MT",cursive;color:#4b5563;text-align:center;margin:18px 0 0 0;overflow-wrap:anywhere;unicode-bidi:plaintext;max-width:320px}
.sag-footer .sag-footer__tagline::after{content:'';display:block;width:130px;height:16px;margin:2px auto 0 auto;background:var(--sag-footer-accent,#f59e0b);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cpath d='M 3 14.5 C 1 15.5 2 17 5 16.5 C 26 10 58 4 92 3.2 C 110 3 124 3.2 128 3.5 C 104 6.5 54 8.5 3 14.5 Z' fill='%23000'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cpath d='M 3 14.5 C 1 15.5 2 17 5 16.5 C 26 10 58 4 92 3.2 C 110 3 124 3.2 128 3.5 C 104 6.5 54 8.5 3 14.5 Z' fill='%23000'/%3E%3C/svg%3E") no-repeat center;mask-size:contain}

/* Column 2: Top Rated Businesses */
.sag-footer ul.sag-footer__businesses{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.sag-footer .sag-footer__businesses>li{list-style:none;margin:0;padding:0;border:0;background:none}
.sag-footer .sag-footer__businesses>li+li{border-top:1px solid #f1f5f9}
.sag-footer .sag-footer__business{display:flex;direction:ltr!important;align-items:center;gap:14px;padding:7px 0;min-height:66px;text-decoration:none}
.sag-footer .sag-footer__photo{display:flex;align-items:center;justify-content:center;width:78px;height:52px;flex:0 0 78px;border-radius:8px;overflow:hidden;background:#f0f1f2;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.sag-footer .sag-footer__photo img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;margin:0}
.sag-footer .sag-footer__details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;text-align:left}
.sag-footer .sag-footer__name{font-size:14.5px;font-weight:700;line-height:18px;color:#1e293b;overflow-wrap:anywhere;text-align:left}
.sag-footer .sag-footer__rating{display:flex;direction:ltr!important;align-items:center;gap:5px;font-size:12.5px;line-height:16px;color:#64748b}
.sag-footer .sag-footer__stars{display:inline-block;position:relative;white-space:nowrap;direction:ltr!important;font-size:13px;line-height:1;letter-spacing:1px;color:#e2e8f0}
.sag-footer .sag-footer__stars>span+span{position:absolute;left:0;top:0;overflow:hidden;color:var(--sag-footer-accent,#f59e0b)}
.sag-footer .sag-footer__score{font-weight:600;color:#64748b}
.sag-footer .sag-footer__count{color:#94a3b8}
.sag-footer .sag-footer__location{display:flex;direction:ltr!important;align-items:center;gap:4px;font-size:11.5px;line-height:16px;color:#64748b;overflow-wrap:anywhere;text-align:left;margin-top:1px}
.sag-footer .sag-footer__icon{width:18px;height:18px;flex:0 0 18px;display:inline-block;vertical-align:middle}
.sag-footer .sag-footer__location .sag-footer__icon{width:11px;height:11px;flex:0 0 11px;stroke:#64748b}

/* Column 3: Legal Pages */
.sag-footer ul.sag-footer__legal{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.sag-footer .sag-footer__legal>li{list-style:none;margin:0;padding:0;border:0;background:none}
.sag-footer .sag-footer__legal a{display:flex;direction:ltr!important;align-items:center;justify-content:space-between;padding:9px 16px;min-height:42px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03);font-size:13.5px;font-weight:500;line-height:20px;color:#1e293b;transition:all .15s ease}
.sag-footer .sag-footer__legal a:hover{border-color:#cbd5e1;box-shadow:0 2px 6px rgba(0,0,0,.06);background:#fafbfc;color:#0f172a}
.sag-footer .sag-footer__legal a>span:not(.sag-footer__arrow){flex:1;min-width:0;overflow-wrap:anywhere;unicode-bidi:plaintext;text-align:left;margin-left:12px;color:#1e293b}
.sag-footer .sag-footer__legal .sag-footer__icon{width:18px;height:18px;flex:0 0 18px;stroke:#1e293b;stroke-width:1.8}
.sag-footer .sag-footer__legal .sag-footer__arrow{width:16px;height:16px;flex:0 0 16px;stroke:#64748b;margin-left:auto}

/* RTL overrides are local to each widget; explicit LTR widgets remain LTR. */
.sag-footer[dir=rtl]{direction:rtl!important;text-align:right}
.sag-footer[dir=rtl] .sag-footer__heading h2,
.sag-footer[dir=rtl] .sag-footer__description,
.sag-footer[dir=rtl] .sag-footer__details,
.sag-footer[dir=rtl] .sag-footer__name,
.sag-footer[dir=rtl] .sag-footer__location{ text-align:right }
.sag-footer[dir=rtl] .sag-footer__business,
.sag-footer[dir=rtl] .sag-footer__location,
.sag-footer[dir=rtl] .sag-footer__legal a{direction:rtl!important}
.sag-footer[dir=rtl] .sag-footer__accent,
.sag-footer[dir=rtl] .sag-footer__description,
.sag-footer[dir=rtl] .sag-footer__socials,
.sag-footer[dir=rtl] .sag-footer__tagline{margin-left:auto;margin-right:0}
.sag-footer[dir=rtl].sag-footer--brand::before{left:auto;right:0;background-position:right bottom}
.sag-footer[dir=rtl] .sag-footer__logo{object-position:right center}
.sag-footer[dir=rtl] .sag-footer__rating{justify-content:flex-end;flex-wrap:wrap}
.sag-footer[dir=rtl] .sag-footer__location bdi{min-width:0}
.sag-footer[dir=rtl] .sag-footer__legal a>span:not(.sag-footer__arrow){text-align:right;margin-left:0;margin-right:12px}
.sag-footer[dir=rtl] .sag-footer__legal .sag-footer__arrow{margin-left:0;margin-right:auto}
.sag-footer[dir=rtl] .sag-footer__arrow{transform:scaleX(-1)}
.sag-footer[dir=rtl] .sag-footer__view{min-width:0;max-width:100%;overflow-wrap:anywhere}

/* Wasabi adapter: only affect sections containing rendered Shark widgets. */
footer.main-footer:has(.sag-footer),
footer.main-footer.sag-has-footer{background:#fff!important;color:#1e293b!important;border-top:1px solid #e5e8ec!important;padding:36px 0 20px 0!important}
footer.main-footer:has(.sag-footer) a:not(.sag-footer__social),
footer.main-footer.sag-has-footer a:not(.sag-footer__social){color:inherit!important}
footer.main-footer:has(.sag-footer) a.sag-footer__social,
footer.main-footer:has(.sag-footer) a.sag-footer__social:visited,
footer.main-footer.sag-has-footer a.sag-footer__social,
footer.main-footer.sag-has-footer a.sag-footer__social:visited,
footer.main-footer a.sag-footer__social,
footer.main-footer a.sag-footer__social:visited,
.sag-footer a.sag-footer__social,
.sag-footer a.sag-footer__social:visited{color:#fff!important;fill:#fff!important;text-decoration:none!important}
footer.main-footer:has(.sag-footer) a.sag-footer__social:hover,
footer.main-footer.sag-has-footer a.sag-footer__social:hover,
footer.main-footer a.sag-footer__social:hover{color:#fff!important;fill:#fff!important}

footer.main-footer>.section.grid-cols-3:has(.sag-footer),
footer.main-footer>.section:has(.sag-footer),
footer.main-footer .section.sag-has-footer{display:grid!important;direction:ltr!important;grid-template-columns:35% 35% 30%!important;column-gap:0!important;row-gap:24px!important;max-width:1380px!important;width:calc(100% - 64px)!important;margin:0 auto!important;padding:0!important;align-items:start!important}

/* Keep the first 35% track for the brand, now starting at the right. */
footer.main-footer>.section.grid-cols-3:has(.sag-footer[dir=rtl]),
footer.main-footer>.section:has(.sag-footer[dir=rtl]),
footer.main-footer .section.sag-has-footer.sag-footer-rtl{direction:rtl!important}

/* Suppress Wasabi pseudo-elements creating phantom grid cells */
footer.main-footer .section:has(.sag-footer)::before,
footer.main-footer .section:has(.sag-footer)::after,
footer.main-footer .section.sag-has-footer::before,
footer.main-footer .section.sag-has-footer::after{content:none!important;display:none!important}

footer.main-footer .section:has(.sag-footer)>div,
footer.main-footer .section.sag-has-footer>div{min-width:0;margin:0!important;padding:0!important}
footer.main-footer .section>div:has(.sag-footer--brand),
footer.main-footer .section>div:has(.widget_sag_footer_brand),
footer.main-footer .section>div.sag-col-brand{order:1!important;grid-column:1!important;grid-row:1!important;padding-inline-end:28px!important}
footer.main-footer .section>div:has(.sag-footer--top_rated),
footer.main-footer .section>div:has(.widget_sag_footer_top_rated),
footer.main-footer .section>div.sag-col-top-rated{order:2!important;grid-column:2!important;grid-row:1!important;border-inline-start:1px solid #e5e8ec!important;padding-inline-start:28px!important;padding-inline-end:28px!important}
footer.main-footer .section>div:has(.sag-footer--legal),
footer.main-footer .section>div:has(.widget_sag_footer_legal),
footer.main-footer .section>div.sag-col-legal{order:3!important;grid-column:3!important;grid-row:1!important;border-inline-start:1px solid #e5e8ec!important;padding-inline-start:28px!important}

footer.main-footer .widget_sag_footer_brand,
footer.main-footer .widget_sag_footer_top_rated,
footer.main-footer .widget_sag_footer_legal{margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:none!important}

footer.main-footer:has(.sag-footer) .copyright,
footer.main-footer.sag-has-footer .copyright{color:#64748b!important;border-top:1px solid #f1f5f9!important;margin-top:24px!important;padding-top:18px!important;text-align:center!important;font-size:13.5px!important}
footer.main-footer:has(.sag-footer) .copyright a,
footer.main-footer.sag-has-footer .copyright a{color:#64748b!important}

/* Empty Wasabi columns must not create gaps or precede ordered widgets. */
footer.main-footer .section:has(.sag-footer)>div:empty,
footer.main-footer .section.sag-has-footer>div.sag-col-empty{display:none!important}

@media(max-width:860px){
    footer.main-footer .section:has(.sag-footer)>div,
    footer.main-footer .section.sag-has-footer>div{grid-column:auto!important;grid-row:auto!important}

    footer.main-footer>.section.grid-cols-3:has(.sag-footer),
    footer.main-footer>.section:has(.sag-footer),
    footer.main-footer .section.sag-has-footer{grid-template-columns:1fr!important;width:calc(100% - 40px)!important;max-width:560px!important;gap:28px!important}
    footer.main-footer .section>div:has(.sag-footer--brand),
    footer.main-footer .section>div:has(.widget_sag_footer_brand),
    footer.main-footer .section>div.sag-col-brand{padding-inline-end:0!important;border-bottom:1px solid #e5e8ec!important;padding-bottom:28px!important}
    footer.main-footer .section>div:has(.sag-footer--top_rated),
    footer.main-footer .section>div:has(.widget_sag_footer_top_rated),
    footer.main-footer .section>div.sag-col-top-rated{border-inline-start:0!important;padding-inline-start:0!important;padding-inline-end:0!important;border-bottom:1px solid #e5e8ec!important;padding-bottom:28px!important}
    footer.main-footer .section>div:has(.sag-footer--legal),
    footer.main-footer .section>div:has(.widget_sag_footer_legal),
    footer.main-footer .section>div.sag-col-legal{border-inline-start:0!important;padding-inline-start:0!important}
}

@container(max-width:380px){
    .sag-footer .sag-footer__heading h2{font-size:19px!important;line-height:24px!important}
    .sag-footer .sag-footer__heading{flex-wrap:wrap}
    .sag-footer .sag-footer__business{gap:10px}
    .sag-footer .sag-footer__photo{width:68px;height:48px;flex-basis:68px}
    .sag-footer .sag-footer__description{font-size:13.5px;line-height:22px}
}
@container(max-width:260px){
    .sag-footer .sag-footer__socials{gap:8px}
    .sag-footer .sag-footer__social{width:32px;height:32px;flex-basis:32px}
    .sag-footer .sag-footer__social svg{transform:scale(.88)}
}
@media(prefers-reduced-motion:reduce){.sag-footer .sag-footer__social{transition:none}}
