.pp-footer { position: relative; isolation: isolate; background: radial-gradient(ellipse at 44% 0%, #48347e 0%, #342653 48%, #14131e 100%); color: #d4cde1; font: 14px/1.8 'Inter', sans-serif; padding: 64px 0 30px; }
.pp-footer::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('../images/BG-Footer.png') left center / cover no-repeat; opacity: .08; mix-blend-mode: luminosity; }
.pp-footer, .pp-footer * { box-sizing: border-box; }
.pp-footer-wrap { width: min(1240px, calc(100% - 64px)); margin: 0 auto; }
.pp-footer-grid { display: grid; grid-template-columns: 1.6fr .9fr .7fr 1.25fr; gap: 40px; padding-bottom: 48px; }
.pp-footer-grid > * { min-width: 0; }
.pp-footer h2 { margin: 0 0 18px; color: #fff; font: 600 16px/1.5 'Inter', sans-serif; letter-spacing: normal; }
.pp-footer p { margin: 0; }
.pp-footer a, .pp-footer button { color: inherit; text-decoration: none; transition: color .2s, background-color .2s, border-color .2s; }
.pp-footer button { display: inline; border: 0; padding: 0; background: none; font: inherit; cursor: pointer; text-align: left; }
.pp-footer a:hover, .pp-footer button:hover { color: #fff; }
.pp-footer a:focus-visible, .pp-footer button:focus-visible { outline: 2px solid #b1d6ff; outline-offset: 5px; border-radius: 4px; }
.pp-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.pp-footer-logo { display: inline-block; padding: 12px 16px; background: #fff; border-radius: 16px; margin-bottom: 20px; max-width: 100%; }
.pp-footer-logo img { display: block; width: 164px; max-width: 100%; height: auto; }
.pp-footer-brand > p { max-width: 330px; }
.pp-footer-socials { display: flex; gap: 12px; margin-top: 24px; }
.pp-footer-socials a { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #ffffff10; border: 1px solid #ffffff18; font-weight: 600; }
.pp-footer-socials a:hover { background: #ffffff25; }
.pp-footer address { display: grid; gap: 12px; font-style: normal; }
.pp-footer-contact { scroll-margin-top: 110px; }
.pp-footer-contact a { overflow-wrap: anywhere; }
.pp-footer-bottom { border-top: 1px solid #ffffff24; padding-top: 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; font-size: 13px; }
.pp-footer-bottom-links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.pp-footer .pp-footer-admin { display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 10px 18px; border: 1px solid #a797c7; border-radius: 24px; background: #412e79; color: #fff; font-size: 14px; font-weight: 600; }
.pp-footer .pp-footer-admin:hover { background: #543a97; border-color: #c7b6e7; }
@media (max-width: 1000px) { .pp-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; } }
@media (max-width: 540px) {
 .pp-footer { padding: 44px 0 26px; }
 .pp-footer-wrap { width: calc(100% - 36px); }
 .pp-footer-grid { grid-template-columns: 1fr; gap: 30px; padding-bottom: 30px; }
 .pp-footer-bottom { align-items: flex-start; flex-direction: column; }
 .pp-footer-bottom-links { gap: 16px 22px; }
}
@media (prefers-reduced-motion: reduce) { .pp-footer a, .pp-footer button { transition: none; } }
