/* Version-Timestamp: 2026-09-10 20:28:17 AST. Shared footer v1.0.0. */
.site-footer.rc-footer {
  --footer-bg: var(--rc-color-ink);
  --footer-text: var(--rc-color-surface);
  --footer-muted: #ced2dc;
  --footer-accent: var(--rc-color-accent);
  background: var(--footer-bg); color: var(--footer-text); padding: 0;
  font-family: var(--rc-font-family); line-height: 1.6; letter-spacing: 0;
}
.rc-footer *, .rc-footer *::before, .rc-footer *::after { box-sizing: border-box; }
.rc-footer .rc-footer__inner { max-width: 1440px; margin: auto; padding-inline: 40px; }
.rc-footer .rc-footer__main { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 56px; padding: 40px 0 28px; align-items: start; }
.rc-footer .rc-footer__brand img { display: block; width: 252px; max-width: 100%; height: auto; background: transparent; }
.rc-footer .rc-footer__address { margin: 20px 0 14px; font-size: 13px; line-height: 1.6; font-style: normal; color: var(--footer-muted); }
.rc-footer__address span { display: block; color: var(--footer-text); font-weight: 500; margin-bottom: 3px; }
.rc-footer .rc-footer__phone-group { margin-top: 8px; }
.rc-footer__phone-label { display: block; font-size: 12px; color: var(--footer-muted); }
.rc-footer a { color: inherit; text-decoration: none; }
.rc-footer .rc-footer__phone { display: inline-flex; align-items: center; min-height: 32px; font-size: 21px; line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-footer a:hover, .rc-footer button:hover { color: var(--footer-accent); text-decoration: underline; text-underline-offset: 4px; }
.rc-footer :focus-visible { outline: 2px solid var(--footer-accent); outline-offset: 4px; }
.rc-footer .rc-footer__nav { display: grid; grid-template-columns: 1.15fr 1fr 1.1fr .8fr; gap: 28px; }
.rc-footer .rc-footer__nav h2 { margin: 0 0 12px; color: var(--footer-text); font-size: 14px; font-weight: 600; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.rc-footer .rc-footer__nav a { display: flex; align-items: center; min-height: 40px; padding: 7px 0; font-size: 13px; color: var(--footer-muted); line-height: 1.55; }
.rc-footer .rc-footer__nav a:hover { color: var(--footer-accent); }
.rc-footer .rc-footer__legal { border-top: 1px solid #ffffff26; padding: 16px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--footer-muted); font-size: 12px; }
.rc-footer__policies { display: flex; gap: 24px; flex-wrap: wrap; }
.rc-footer .rc-footer__policies button { min-height: 36px; font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 8px 0; cursor: pointer; }
.rc-footer .rc-footer__policies button:hover { color: var(--footer-accent); }
.rc-footer .rc-footer__dialog { width: calc(100% - 40px); max-width: 440px; border: 1px solid var(--rc-color-line); border-radius: 6px; padding: 28px; background: var(--rc-color-surface); color: var(--rc-color-ink); }
.rc-footer__dialog::backdrop { background: #0008; }
.rc-footer .rc-footer__dialog h2 { font-size: 20px; color: var(--rc-color-ink); text-transform: none; margin: 0 0 16px; }
.rc-footer .rc-footer__dialog p { font-size: 14px; margin: 0 0 20px; }
.rc-footer .rc-footer__dialog button { padding: 12px 20px; background: var(--rc-color-ink); color: var(--rc-color-surface); border: 0; font: inherit; cursor: pointer; }
.rc-footer__policy-note { font-size: 12px; }
@media (min-width: 1400px) { .rc-footer .rc-footer__nav a { font-size: 14px; } }
@media (max-width: 1150px) {
  .rc-footer .rc-footer__main { grid-template-columns: 240px 1fr; gap: 36px; }
  .rc-footer .rc-footer__nav { grid-template-columns: 1fr 1fr; gap: 24px 32px; }
  .rc-footer .rc-footer__brand img { width: 240px; }
  .rc-footer .rc-footer__nav a { font-size: 14px; min-height: 44px; }
}
@media (max-width: 700px) {
  .rc-footer .rc-footer__inner { padding-inline: 24px; }
  .rc-footer .rc-footer__main { grid-template-columns: 1fr; gap: 32px; padding-top: 32px; }
  .rc-footer .rc-footer__brand { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .rc-footer .rc-footer__brand img { grid-column: 1 / -1; margin-bottom: 20px; }
  .rc-footer .rc-footer__address { grid-row: 2 / 4; margin: 0; }
  .rc-footer .rc-footer__phone-group { margin: 0 0 10px; }
  .rc-footer .rc-footer__phone { font-size: 19px; min-height: 44px; }
  .rc-footer .rc-footer__nav { gap: 28px 24px; }
  .rc-footer .rc-footer__legal { align-items: flex-start; flex-direction: column; gap: 4px; }
  .rc-footer .rc-footer__policies { gap: 18px; }
  .rc-footer .rc-footer__policies button { min-height: 44px; }
}
@media (max-width: 420px) {
  .rc-footer .rc-footer__brand { grid-template-columns: 1fr 1fr; gap: 12px 16px; }
  .rc-footer .rc-footer__brand img { margin: 0 0 8px; }
  .rc-footer .rc-footer__address { grid-column: 1 / -1; grid-row: auto; margin: 0 0 2px; }
  .rc-footer .rc-footer__phone-group { margin: 0; }
  .rc-footer .rc-footer__phone { font-size: 17px; }
  .rc-footer .rc-footer__phone-label { font-size: 11px; }
  .rc-footer .rc-footer__main { gap: 24px; }
  .rc-footer .rc-footer__nav { gap: 24px 20px; }
}

/* Elementor wrapper integration. Footer surface tint/alpha values follow the supplied shared mockup. */
.elementor .site-footer.rc-footer{display:block;width:100%;max-width:none;gap:0;border:0;border-radius:0;--container-default-padding:0;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;}
.rc-footer .rc-footer-content{width:100%;max-width:none;margin:0;}
.rc-footer .rc-mobile-taskbar a{color:var(--rc-color-ink);}
.rc-footer .rc-footer__brand img{clip-path:none;}
.rc-footer .rc-footer__inner{width:100%;}
.rc-footer .rc-footer__nav>div{min-width:0;}
.rc-footer .rc-footer__dialog:not([open]){display:none;}
.rc-native-commerce .rc-footer .rc-mobile-taskbar-widget{display:none;}
body.rc-native-commerce:has(.rc-footer .rc-mobile-taskbar){padding-bottom:0;}
/* Avoid a nowrap phone overflowing its half-column on narrow 320px screens. */
@media(max-width:359px){.rc-footer .rc-footer__brand{grid-template-columns:1fr;}.rc-footer .rc-footer__phone-group{margin-top:2px;}}

/* Lorena spacing refinement. Match the established header container and gutters. */
.rc-footer .rc-footer__inner { max-width:1328px; padding-inline:24px; }
.rc-footer .rc-footer__main { padding-block:64px 48px; }
.rc-footer .rc-footer__legal { padding-block:24px 48px; }
@media(max-width:767px) {
 .rc-footer .rc-footer__inner { padding-inline:16px; }
 .rc-footer .rc-footer__main { padding-block:48px 40px; }
 .rc-footer .rc-footer__legal { padding-block:24px 40px; }
}
/* Native commerce header keeps its 24px gutter through 621px. */
@media(min-width:621px) and (max-width:767px) {
 .rc-native-commerce .rc-footer .rc-footer__inner { padding-inline:24px; }
}