/* Figma 585:2. Shared container follows the site's responsive width. */
.site-footer { background: #171717; padding-top: clamp(40px, 4.0104vw, 77px); }
.ms-footer-cta__heading { position: relative; width: min(100%, 770px); }
.ms-footer-cta h2 { margin: 0; color: #fff; font-size: clamp(56px, 6.6667vw, 128px); font-weight: 700; line-height: 1.12; letter-spacing: 0; }
.ms-footer-cta__heading .ms-action { position: absolute; left: clamp(150px, 17.03125vw, 327px); bottom: clamp(12px, 2.0833vw, 40px); }
.ms-footer-cta .ms-action__label { min-height: clamp(40px, 3.2292vw, 62px); padding: clamp(12px, 1.0417vw, 20px) clamp(22px, 2.2917vw, 44px); font-size: clamp(12px, 1.0417vw, 20px); }
.ms-footer-cta__icon { width: 62px; height: 62px; object-fit: contain; }
.ms-footer-cta p { max-width: 857px; margin: clamp(24px, 2.0833vw, 40px) 0 clamp(26px, 2.6042vw, 50px); color: #fff; font-size: clamp(16px, 1.6667vw, 32px); font-weight: 400; line-height: 1.5; }
.site-footer__socials { width: min(100%, 967px); gap: 30px; padding: 0 0 clamp(32px, 2.6042vw, 50px); border-bottom: 1px solid #303030; }
.site-footer__socials a { width: 34px; height: 34px; border: 0; border-radius: 0; background: transparent; }
.site-footer__socials img { width: 34px; height: 34px; filter: none; opacity: 1; }
.site-footer__socials a:hover, .site-footer__socials a:focus-visible { background: transparent; transform: none; }
.site-footer__socials a:hover img, .site-footer__socials a:focus-visible img { filter: brightness(0) invert(1); }
.ms-footer-contact-row { width: min(100%, 967px); grid-template-columns: minmax(0, 320fr) minmax(0, 552fr); gap: clamp(32px, 4.9479vw, 95px); padding: clamp(32px, 2.6042vw, 50px) 0 clamp(48px, 4.9479vw, 95px); border: 0; align-items: start; }
.site-footer__contacts { border-right: 1px solid #303030; padding-right: 20px; }
.site-footer__contact span, .site-footer__contact a { color: #9a9a9a; font-size: clamp(12px, .78125vw, 15px); font-weight: 500; line-height: 1.3; }
.site-footer__contact > :first-child { margin-bottom: 22px; color: #fff; font-size: clamp(15px, 1.0417vw, 20px); font-weight: 600; }
.site-footer__form .ms-footer-email { gap: 16px; padding-bottom: 20px; border-color: #777; }
.site-footer__form .ms-footer-email input[type=email] { font-size: clamp(15px, 1.09375vw, 21px); font-weight: 600; }
.site-footer__form .ms-footer-email input::placeholder { color: #fff; }
.site-footer__form .ms-footer-email button { width: 46px; height: 46px; background: transparent; border-radius: 0; }
.site-footer__form .ms-footer-email button:hover,
.site-footer__form .ms-footer-email button:focus-visible { transform: none; background: transparent; box-shadow: none; }
.site-footer__form .ms-footer-email input[type=email]:focus { outline: none; box-shadow: none; }
.site-footer__form .ms-footer-email:focus-within { border-bottom-color: #777; }
.site-footer__form .ms-footer-email:has(input:focus-visible) { border-bottom-color: #fff; }
.site-footer__bottom { border-top: 1px solid #303030; padding: clamp(28px, 2.2396vw, 43px) 0 clamp(28px, 2.2396vw, 43px); gap: 32px; }
.ms-footer-identity { max-width: 288px; }
.site-footer__bottom p { font-size: clamp(12px, .8333vw, 16px); line-height: 1.3; font-weight: 500; color: #a6a6a6; }
.site-footer__bottom p a { color: #fff; }
.site-footer__bottom p strong { color: #fff; font-weight: 500; }
.site-footer__contact > span:not(:first-child) { text-transform: uppercase; }
.site-footer__form .ms-footer-email button img { width: 46px; height: 46px; transform: none; }
.site-footer__navigation, .site-footer__navigation ul { gap: clamp(24px, 4.1667vw, 80px); }
.site-footer__navigation a { font-size: clamp(12px, .7292vw, 14px); font-weight: 600; }
.site-footer a:focus-visible, .site-footer button:focus-visible, .site-footer input:focus-visible { outline: 2px solid #a89cff; outline-offset: 5px; }
.ms-floating-whatsapp { width: 80px; height: 80px; right: clamp(24px, 3.6979vw, 71px); bottom: 70px; background: transparent; box-shadow: none; animation: none; }
.ms-floating-whatsapp img { width: 80px; height: 80px; }
.ms-floating-whatsapp--left { left: 24px; right: auto; }
.ms-floating-top { width: 51px; height: 51px; bottom: 24px; right: 28px; border-color: #5b5b5b; box-shadow: none; }
.ms-floating-top img { width: 25.5px; height: 25.5px; filter: none; }
@media (max-width: 1100px) {
 .ms-footer-cta__heading { max-width: 620px; }
 .ms-footer-cta__heading .ms-action { position: static; margin-top: 20px; }
}
@media (max-width: 760px) {
 .ms-floating-whatsapp { transform: scale(.64); transform-origin: right bottom; bottom: 90px; right: 20px; }
 .ms-footer-contact-row { grid-template-columns: 1fr; gap: 30px; }
 .site-footer__contacts { border-right: 0; padding: 0; }
 .site-footer__bottom { flex-direction: column; align-items: flex-start; }
 .site-footer__navigation, .site-footer__navigation ul { flex-wrap: wrap; gap: 24px; }
}

/* Keep editable footer and policy menus within the shared container. */
.site-footer__bottom,.site-footer__navigation,.site-footer__navigation ul { flex-wrap:wrap; }
.site-footer__navigation { min-width:0; }
.site-footer__navigation ul { row-gap:16px; }

/* Mobile footer navigation: wrapping pill links with comfortable tap targets. */
@media (max-width: 760px) {
 .site-footer__bottom { gap: 24px; border-top: 0; padding-top: 0; padding-bottom: 24px; }
 .site-footer__navigation { order: -1; display: grid; width: 100%; gap: 12px; }
 .site-footer__navigation nav { min-width: 0; }
 .site-footer__navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; }
 .site-footer__navigation li { min-width: 0; margin: 0; }
 .site-footer__navigation li:last-child:nth-child(odd) { grid-column: 1 / -1; }
 .site-footer__navigation a { display: flex; align-items: center; justify-content: center; min-height: 46px; height: 100%; padding: 11px 14px; border: 1px solid #3b3947; border-radius: 999px; background: #24232b; color: #f1effa; font-size: 13px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; overflow-wrap: anywhere; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
 .site-footer__navigation :is(.current-menu-item, .current-menu-ancestor) > a,
 .site-footer__navigation a[aria-current="page"] { color: #fff; background: #4632e1; border-color: #4632e1; }
 .site-footer__navigation a:hover,
 .site-footer__navigation a:focus-visible { color: #4632e1; background: #fff; border-color: #fff; box-shadow: none; transform: none; }
 .ms-footer-identity { width: 100%; max-width: none; padding-top: 20px; border-top: 1px solid #303030; }
 .site-footer__bottom .ms-footer-identity p { margin: 0; font-size: 12px; line-height: 1.7; }
}
