/* Shared EN/ES footer. Scoped so the header and other signup placements stay unchanged. */
/* Keep closing CTA cards separate from the dark footer in both languages.
   Use section padding, not card margins, so the white gap cannot collapse. */
.boxymi-e-page .boxymi-e-closing-section,
.boxymi-p-page .boxymi-p-closing { padding-bottom:64px; }
@media(max-width:767px) {
 .boxymi-e-page .boxymi-e-closing-section,
 .boxymi-p-page .boxymi-p-closing { padding-bottom:40px; }
}
.boxymi-e-footer.boxymi-e-footer--unified {
 --bx-heading:#fff; --bx-body:#d6dcef; --bx-action:#d0d8ff;
 width:100%; height:auto!important; min-height:0!important;
 padding:60px 40px 28px; background:#17244b; color:#d6dcef;
}
.boxymi-e-footer--unified > .boxymi-e-inner { gap:0; }
.boxymi-e-footer--unified .boxymi-e-footer-brand {
 width:100%; flex-direction:row!important; align-items:center;
 justify-content:space-between; gap:32px; margin-bottom:48px;
}
.boxymi-e-footer--unified .boxymi-e-footer-brand .elementor-widget-text-editor {
 max-width:440px!important; color:#c5cde4; font-size:14px; line-height:1.65;
}
.boxymi-e-footer--unified .boxymi-e-footer-logo,
.boxymi-e-footer--unified .boxymi-e-footer-logo img {
 width:140px!important; max-width:100%; height:auto; flex-shrink:0;
}
.boxymi-e-footer--unified .boxymi-e-footer-top {
 display:grid!important; grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);
 align-items:start; gap:56px; width:100%; height:auto!important;
 padding:0 0 40px; border-bottom:1px solid #394564;
}
.boxymi-e-footer--unified .boxymi-e-footer-columns {
 display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-items:start; gap:28px; width:100%; height:auto;
}
.boxymi-e-footer--unified .boxymi-e-footer-column { gap:8px; min-width:0; }
.boxymi-e-footer--unified .boxymi-e-footer-column:last-child { grid-column:auto; }
.boxymi-e-footer--unified .boxymi-e-footer-heading .elementor-heading-title {
 color:#fff; padding:0 0 16px; font-size:15px; line-height:1.5;
 font-weight:700; text-transform:none; letter-spacing:0;
}
.boxymi-e-footer--unified .boxymi-e-footer-link { color:#d6dcef; font-size:14px; line-height:1.6; }
.boxymi-e-footer--unified .boxymi-e-footer-link a {
 display:inline-block; padding-block:5px; color:inherit; text-decoration:none;
}
.boxymi-e-footer--unified .boxymi-e-footer-link a:hover { color:#fff; text-decoration:underline; }
.boxymi-e-footer--unified a:focus-visible { outline:2px solid #ff9878; outline-offset:4px; }
.boxymi-e-footer--unified .boxymi-e-footer-engage { width:100%; min-width:0; gap:32px; }
.boxymi-e-footer--unified .boxymi-footer-downloads h3 {
 color:#fff; margin:0 0 20px;
 font-family:inherit; font-size:15px; font-weight:700; line-height:1.5;
}
.boxymi-footer-badges { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.boxymi-footer-badges a { display:block; width:156px; max-width:100%; border-radius:6px; }
.boxymi-footer-badges img { display:block; width:100%; height:auto; }
/* Same surface as the navigation: no card, border or separate banner. */
.boxymi-e-footer--unified .boxymi-subscriber-widget { width:100%; margin:0!important; }
.boxymi-e-footer--unified .boxymi-subscriber-signup {
 display:flex; flex-direction:column; gap:20px; padding:0; margin:0;
 border:0; border-radius:0; background:transparent; box-shadow:none;
}
.boxymi-e-footer--unified .boxymi-subscriber-eyebrow { display:none; }
.boxymi-e-footer--unified .boxymi-subscriber-signup h2 {
 font-size:18px; line-height:1.4; margin:0 0 10px!important;
}
.boxymi-e-footer--unified .boxymi-subscriber-signup p { font-size:14px; line-height:1.6; }
.boxymi-e-footer--unified .boxymi-subscriber-input-row { flex-direction:column; gap:12px; }
.boxymi-e-footer--unified .boxymi-subscriber-input-row button { width:100%; }
.boxymi-e-footer--unified .boxymi-subscriber-consent { font-size:12px; line-height:1.65; }
.boxymi-e-footer--unified .boxymi-subscriber-signup .boxymi-subscriber-note,
.boxymi-e-footer--unified .boxymi-subscriber-signup .boxymi-subscriber-test { font-size:12px; }
.boxymi-e-footer--unified .boxymi-e-footer-bottom {
 display:grid!important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto;
 width:100%; height:auto!important; align-items:center; gap:16px 32px; padding-top:28px;
}
.boxymi-e-footer--unified .boxymi-e-copyright { color:#c5cde4; font-size:12px; line-height:1.6; }
.boxymi-e-footer--unified .boxymi-e-legal {
 grid-row:2; grid-column:1 / -1; display:flex!important; width:100%!important;
 flex-direction:row!important; flex-wrap:wrap; align-items:center; gap:8px 24px;
}
.boxymi-e-footer--unified .boxymi-e-legal .boxymi-e-footer-link { font-size:12px; line-height:1.6; }
.boxymi-e-footer--unified .boxymi-footer-social { grid-column:2; grid-row:1; width:auto; }
.boxymi-e-footer--unified .boxymi-footer-social .elementor-social-icons-wrapper {
 display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.boxymi-e-footer--unified .boxymi-footer-social .elementor-social-icon {
 display:inline-flex; align-items:center; justify-content:center;
 width:40px; height:40px; padding:0; margin:0; border:1px solid #526080;
 border-radius:50%; background:transparent; font-size:17px;
 --icon-size:17px; --icon-padding:0; color:#fff; transition:background-color .15s;
}
.boxymi-e-footer--unified .boxymi-footer-social .elementor-social-icon :is(i,svg) { color:#fff; fill:#fff; }
.boxymi-e-footer--unified .boxymi-footer-social .elementor-social-icon:hover { background:#34416a; }
.boxymi-e-footer--unified .boxymi-e-language--footer { display:block; width:auto!important; flex:0 0 auto; margin-left:auto; }
.boxymi-e-footer--unified .boxymi-e-language--footer .elementor-widget-container > div { color:#d6dcef; }
.boxymi-e-footer--unified .cpel-switcher__nav,
.boxymi-e-footer--unified .cpel-switcher__toggle { background:transparent; }
.boxymi-e-footer--unified .cpel-switcher__toggle > a {
 height:40px; padding:8px 12px!important; border:1px solid #526080;
 border-radius:8px; background:transparent; color:#fff;
}
.boxymi-e-footer--unified .cpel-switcher__lang a {
 background-color:transparent!important; color:#fff!important;
}
.boxymi-e-footer--unified .cpel-switcher__lang a:hover,
.boxymi-e-footer--unified .cpel-switcher__lang a:focus { background-color:#34416a!important; }
.boxymi-e-footer--unified .cpel-switcher__icon { filter:brightness(0) invert(1); }
.boxymi-e-footer--unified .cpel-switcher__list {
 padding:0; border:0; border-radius:8px; background:#223158;
}
.boxymi-e-footer--unified .cpel-switcher__toggle--on + .cpel-switcher__list { border:1px solid #526080; }
.boxymi-e-footer--unified .cpel-switcher__list a { color:#fff; background:transparent; padding:10px; }
.boxymi-e-footer--unified .cpel-switcher__list a:hover { background:#34416a; }
.boxymi-e-footer--unified .boxymi-e-language--footer select {
 max-width:100%; min-height:40px; border:1px solid #526080; border-radius:8px;
 background:#17244b; color:#fff; padding:8px 10px; font:inherit; font-size:13px;
}
@media(max-width:1024px) {
 .boxymi-e-footer.boxymi-e-footer--unified { padding:48px 32px 28px; }
 .boxymi-e-footer--unified .boxymi-e-footer-top { grid-template-columns:minmax(0,1fr) minmax(290px,1fr); gap:36px; }
 .boxymi-e-footer--unified .boxymi-e-footer-columns { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px 20px; }
}
@media(max-width:767px) {
 .boxymi-e-footer.boxymi-e-footer--unified { padding:40px 24px 24px; }
 .boxymi-e-footer--unified .boxymi-e-footer-brand { flex-direction:column!important; align-items:flex-start; gap:20px; margin-bottom:36px; }
 .boxymi-e-footer--unified .boxymi-e-footer-top { grid-template-columns:minmax(0,1fr); gap:36px; }
 .boxymi-e-footer--unified .boxymi-e-footer-engage { max-width:440px; gap:28px; }
 .boxymi-e-footer--unified .boxymi-e-footer-bottom { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:20px; }
 .boxymi-e-footer--unified .boxymi-footer-social { grid-column:1; grid-row:3; }
 .boxymi-e-footer--unified .boxymi-e-legal { grid-row:2; grid-column:1; gap:10px 20px; }
 .boxymi-e-footer--unified .boxymi-e-language--footer { margin-left:0; }
 .boxymi-footer-badges { gap:12px; }
 .boxymi-footer-badges a { width:min(156px,calc((100% - 12px)/2)); }
}
