/* Shared footer: readable text, spacious navigation and comfortable touch targets. */
.site-footer { padding-block-start: 44px; }
.footer-grid {
  grid-template-columns: minmax(0,1.4fr) repeat(3,minmax(0,1fr)) minmax(0,1.6fr);
  gap: 28px;
  padding-block-end: 40px;
}
.footer-grid > div:not(:first-child) { padding-inline-start: 24px; }
.footer-grid h2 { font-size: 20px; line-height: 1.4; margin-block-end: 16px; }
.footer-grid a, .footer-grid p, .footer-link {
  font-size: 16px;
  line-height: 1.7;
  margin-block-end: 6px;
  overflow-wrap: anywhere;
}
.footer-grid a:not(.brand), .footer-link { min-block-size: 40px; }
.footer-grid a:not(.lj-button):hover, .footer-bottom a:hover, .footer-bottom button:hover { color: #ebcb75; text-decoration: underline; text-underline-offset: 5px; }
.footer-muted { opacity: 1; color: #cbd5e1!important; font-size: 14px!important; }
.footer-prompt { padding: 20px; border-radius: 12px; }
.footer-prompt > div { align-items: flex-start; gap: 12px; margin-block-end: 20px; }
.footer-prompt > div > .lj-icon { inline-size: 36px; block-size: 36px; flex-shrink: 0; }
.footer-prompt strong { display: block; font-size: 18px; line-height: 1.55; }
.footer-prompt small { font-size: 15px; line-height: 1.6; margin-block-start: 6px; color: #e2e8f0; }
.footer-prompt .lj-button { font-size: 16px; min-block-size: 48px; padding: 10px 12px; line-height: 1.5; margin: 0; gap: 8px; }
.footer-prompt .lj-button .lj-icon { inline-size: 20px; block-size: 20px; flex-shrink: 0; }
.footer-brand .brand { align-items: center; gap: 10px; margin-block-end: 18px; }
.footer-brand .brand-title { white-space: nowrap; overflow-wrap: normal; }
.footer-brand .brand-title bdi { font-size: 38px; }
.footer-brand .brand-title strong { font-size: 21px; }
.footer-brand .brand small { font-size: 13px; line-height: 1.6; }
.footer-brand .brand-mark { inline-size: 42px; block-size: 48px; flex-shrink: 0; }
.footer-brand p { color: #cbd5e1; }
.footer-bottom { padding-block: 16px; }
.footer-bottom > .lj-container { font-size: 14px; color: #e2e8f0; flex-wrap: wrap; }
.footer-bottom > .lj-container > div { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.footer-bottom button, .footer-bottom a { font-size: 14px; min-block-size: 44px; margin: 0; padding-block: 8px; display: inline-flex; align-items: center; }
@media (max-width: 1200px) {
  .footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
  .footer-brand { grid-column: 2 / 4; }
}
@media (max-width: 639px) {
  .site-footer { padding-block-start: 32px; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 20px; padding-block-end: 30px; }
  .footer-grid > div:not(:first-child) { padding-inline-start: 0; border: 0; }
  .footer-grid h2 { font-size: 20px; margin-block-end: 12px; }
  .footer-grid a:not(.brand), .footer-link { min-block-size: 44px; }
  .footer-prompt, .footer-brand { grid-column: 1 / -1; }
  .footer-prompt { padding: 22px; }
  .footer-prompt .lj-button { min-block-size: 48px; }
  .footer-brand .brand-title bdi { font-size: 40px; }
  .footer-bottom > .lj-container { align-items: flex-start; gap: 12px; }
  .footer-bottom > .lj-container > div { gap: 4px 20px; }
}
/* Two adjacent legal-area columns replace the footer brand panel. */
.footer-grid{grid-template-columns:minmax(0,1.35fr) repeat(4,minmax(0,1fr))}
.footer-grid>div{min-width:0}
@media(max-width:1200px){.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-prompt{grid-column:1/-1}}
@media(max-width:639px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'prompt prompt' 'lawyers info' 'areas areas-more'}.footer-prompt{grid-area:prompt}.footer-lawyers{grid-area:lawyers}.footer-info{grid-area:info}.footer-areas{grid-area:areas}.footer-areas-more{grid-area:areas-more}}
/* Keep the logo at the true center, independent of the width of the side links. */
.footer-bottom > .lj-container{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px}
.footer-bottom .footer-copyright{grid-column:3;grid-row:1;justify-self:end;white-space:nowrap;direction:ltr}
.footer-bottom > .lj-container > .footer-center-logo{grid-column:2;grid-row:1;justify-content:center}
.footer-bottom .footer-center-logo .lawj-brand-logo{margin-inline-start:0}
.footer-bottom > .lj-container > .footer-legal-links{grid-column:1;grid-row:1;justify-content:flex-start;min-width:0}
.footer-bottom .footer-copyright{white-space:normal;direction:rtl;text-align:left;line-height:1.7}
.footer-bottom .footer-year,.footer-bottom .footer-rights,.footer-bottom .footer-copy-permission{display:block}
.footer-bottom .footer-year{font-size:14px}
.footer-bottom .footer-rights,.footer-bottom .footer-copy-permission{font-size:13px;color:#e2e8f0}
@media(max-width:639px){
 .footer-bottom{padding-block:24px}
 .footer-bottom > .lj-container{grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:10px}
 .footer-bottom > .lj-container > .footer-center-logo{grid-column:1;grid-row:1;justify-content:center}
 .footer-bottom .footer-center-logo .lawj-brand-logo{width:112px}
 .footer-bottom > .lj-container > .footer-legal-links{grid-column:1;grid-row:2;justify-content:center;gap:0 10px}
 .footer-bottom .footer-legal-links button,.footer-bottom .footer-legal-links a{margin:0;padding:8px 6px;font-size:16px;min-block-size:44px}
 .footer-bottom .footer-copyright{grid-column:1;grid-row:3;justify-self:center;text-align:center;margin-top:2px}
 .footer-bottom .footer-rights,.footer-bottom .footer-copy-permission{font-size:14px}
}

/* Desktop legal footer: rights left, logo centered, document links right. */
@media(min-width:1024px){
 .footer-bottom{padding-block:20px}
 .footer-bottom>.lj-container{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}
 .footer-bottom .footer-copyright{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:nowrap;gap:4px;white-space:nowrap;text-align:left;line-height:1.7}
 .footer-bottom .footer-year,.footer-bottom .footer-rights,.footer-bottom .footer-copy-permission{font-size:13px}
}
@media(min-width:1024px) and (max-width:1279px){
 .footer-bottom>.lj-container{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px}
 .footer-bottom .footer-center-logo .lawj-brand-logo{width:90px}
 .footer-bottom .footer-year,.footer-bottom .footer-rights,.footer-bottom .footer-copy-permission{font-size:12px}
 .footer-bottom .footer-legal-links{gap:0 12px}
}

/* Compact search card with a separate social row underneath. */
.footer-grid>.footer-prompt-group{align-self:start;min-width:0}
.site-footer .footer-prompt{padding:16px;border-radius:12px;height:auto;min-height:0}
.site-footer .footer-prompt>div{gap:10px;margin-bottom:12px}
.site-footer .footer-prompt strong{font-size:17px;line-height:1.45}
.site-footer .footer-prompt small{font-size:14px;line-height:1.5;margin-top:4px}
.site-footer .footer-prompt .lj-button{min-height:44px;padding:8px 10px}
.site-footer .footer-social-links{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:12px;margin:12px 0 0}
.site-footer .footer-social-links .footer-social-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;margin:0;border:1px solid #d4af37;border-radius:50%;color:#fff;background:transparent;text-decoration:none}
.site-footer .footer-social-link svg{display:block;width:22px;height:22px;flex:none}
.site-footer .footer-social-links a:hover{background:#d4af37;color:#061e2c}
.site-footer .footer-social-links a:focus-visible{outline:3px solid #fff;outline-offset:4px;background:#d4af37;color:#061e2c}
.site-footer .footer-social-link.is-pending{color:#e2e8f0;border-color:#7f754d}
@media(max-width:1200px){.footer-grid>.footer-prompt-group{grid-column:1/-1}}
@media(max-width:639px){.footer-grid>.footer-prompt-group{grid-area:prompt;grid-column:1/-1}.site-footer .footer-prompt{padding:18px}.site-footer .footer-social-links{margin-top:12px}}
