/* Shared public footer: restrained contrast and clear groups at every width. */
.site-footer { display: block; min-height: 0; padding: 0; background: #202125; border-top: 3px solid #cc0000; }
.site-footer .footer-brand-row { margin: 0; padding: 36px 0; gap: 36px; border-bottom: 1px solid #ffffff17; }
.site-footer .footer-logo { display: inline-flex; flex: 0 0 auto; }
.site-footer .footer-logo img { width: 160px; max-width: 100%; height: auto; }
.footer-invitation { display: flex; align-items: center; gap: 32px; }
.footer-invitation p { margin: 0; color: #f4f4f5; font-size: 22px; font-weight: 500; line-height: 1.45; letter-spacing: -.5px; }
.site-footer .footer-contact-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; flex-shrink: 0; min-height: 48px; padding: 12px 20px; border: 1px solid #ffffff35; border-radius: 10px; color: #fff; font-size: 13px; font-weight: 600; transition: background .2s, border-color .2s; }
.site-footer .footer-contact-button:hover { background: #cc0000; border-color: #cc0000; }
.footer-contact-button span { font-size: 19px; }
.footer-grid { display: grid; grid-template-columns: 1.12fr 1.3fr .85fr 1fr; gap: 40px; padding: 42px 0; }
.footer-grid > * { min-width: 0; }
.site-footer .footer-grid h2 { margin: 0 0 24px; color: #fff; font-size: 15px; font-weight: 600; line-height: 1.5; }
.footer-company-name { margin: 0 0 18px; color: #d5d5d8; font-size: 13px; line-height: 1.7; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer .footer-links li { margin: 0 0 10px; }
.site-footer .footer-links a { display: inline-block; color: #bfc0c6; font-size: 13px; line-height: 1.75; text-decoration: none; transition: color .2s; }
.site-footer .footer-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #d65656; }
.footer-contact-list li { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 12px; margin-bottom: 14px; }
.footer-contact-list i { padding-top: 5px; color: #a9a9af; font-size: 13px; }
.site-footer .footer-contact-list a { color: #c9cad0; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.site-footer .footer-contact-list li:first-child a { color: #fff; font-size: 17px; font-weight: 500; line-height: 1.4; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.site-footer .footer-socials a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #ffffff22; border-radius: 10px; color: #e0e0e4; background: #ffffff05; font-size: 15px; transition: background .2s, border-color .2s; }
.site-footer .footer-socials a:hover { background: #cc0000; border-color: #cc0000; color: white; }
.site-footer .footer-all-products { display: inline-flex; gap: 16px; align-items: center; margin-top: 8px; color: #fff; font-size: 13px; font-weight: 600; }
.footer-all-products span { color: #ed7979; font-size: 18px; }
.footer-assurance { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; border-top: 1px solid #ffffff17; }
.footer-payment { display: flex; align-items: center; justify-content: center; max-width: 100%; padding: 11px 16px; background: #fff; border-radius: 8px; }
.footer-payment img { width: 210px; max-width: 100%; height: auto; }
.footer-badges { display: flex; align-items: center; gap: 24px; }
.footer-badges .footer-ssl { display: block; width: 85px; height: 66px; object-fit: contain; }
.footer-badges #ETBIS { margin: 0; padding: 0; }
.footer-badges #ETBIS a { display: block; background: #fff; border-radius: 4px; padding: 3px; }
.footer-badges #ETBIS img { display: block; width: 65px; height: 75px; object-fit: contain; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0 84px; border-top: 1px solid #ffffff17; }
.footer-bottom p { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; margin: 0; color: #aeb0b8; font-size: 12px; line-height: 1.8; }
.footer-rights { padding-left: 12px; border-left: 1px solid #ffffff25; }
.site-footer .footer-credit { flex-shrink: 0; opacity: .7; }
.site-footer .footer-credit:hover { opacity: 1; }
.footer-credit img { display: block; width: 42px; height: auto; }
.site-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; border-radius: 4px; }
@media (max-width: 1199px) {
 .footer-grid { gap: 26px; grid-template-columns: 1fr 1.1fr .8fr 1fr; }
 .footer-invitation p { font-size: 20px; }
}
@media (max-width: 991px) {
 .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 40px; }
 .footer-invitation { gap: 20px; }
 .footer-invitation p { max-width: 230px; font-size: 18px; }
 .site-footer .footer-logo img { width: 140px; }
}
@media (max-width: 575px) {
 .site-footer .footer-brand-row { flex-direction: column; align-items: flex-start; padding: 28px 6px; gap: 24px; }
 .footer-invitation { width: 100%; flex-direction: column; align-items: flex-start; gap: 16px; }
 .footer-invitation p { max-width: none; font-size: 22px; }
 .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 4px 6px 8px; }
 .footer-grid > * { padding: 26px 0; }
 .footer-grid > * + * { border-top: 1px solid #ffffff17; }
 .site-footer .footer-grid h2 { margin-bottom: 18px; }
 .site-footer .footer-links li { margin-bottom: 7px; }
 .site-footer .footer-links a { padding: 4px 0; font-size: 14px; }
 .footer-socials { gap: 12px; }
 .site-footer .footer-socials a { width: 42px; height: 42px; }
 .footer-assurance { padding: 24px 6px; flex-wrap: wrap; justify-content: flex-start; gap: 24px; }
 .footer-bottom { margin: 0 6px; gap: 18px; padding-bottom: 104px; }
 .footer-bottom p { display: block; }
 .footer-bottom p > span { margin-left: 4px; }
 .footer-bottom p .footer-rights { display: block; margin: 4px 0 0; padding: 0; border: 0; }
}
