.home-body .footer--premium {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0;
    background: radial-gradient(ellipse at 18% 0, #67248a 0, transparent 55%), #3d1058;
    color: #f6edf9;
    font-family: var(--sans, "Poppins", Arial, sans-serif);
}
.footer--premium .footer-art {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: url('../img/home/footer-pasture.webp') center bottom / cover no-repeat;
    opacity: .3;
    pointer-events: none;
}
.footer--premium .footer-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.footer--premium svg { width: 21px; height: 21px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.footer--premium .footer-shell { width: min(1400px, calc(100% - 80px)); margin-inline: auto; }
.footer--premium .footer-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.45fr); gap: clamp(20px, 2.5vw, 36px); padding: 44px 0 48px; align-items: start; }
.footer--premium .footer-brand { min-width: 0; padding: 0; grid-column: auto; }
.footer--premium .footer-nav-logo { display: block; box-sizing: border-box; width: min(210px, 100%); padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.footer--premium .footer-nav-logo img { display: block; width: 100%; height: auto; }
.footer--premium .footer-brand > p { max-width: 300px; margin: 18px 0; font-family: inherit; font-size: .875rem; line-height: 1.75; color: #e5d6ee; }
.footer--premium .footer-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.footer--premium .footer-social-icon, .footer--premium .footer-contact-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #b64ed357, #902bb54d); border: 1px solid #e5a9ff38; color: #fff3ff; }
.footer--premium .footer-socials .footer-social-icon--filled { fill: currentColor; stroke: none; }
.footer--premium .footer-column { min-width: 0; padding: 0; }
.home-body .footer--premium h2 { position: relative; margin: 0 0 20px; padding-bottom: 13px; font-family: inherit; font-size: clamp(1rem, 1.2vw, 1.2rem); font-weight: 600; line-height: 1.45; color: #fff9ff; letter-spacing: normal; }
.footer--premium h2::after { content: ''; position: absolute; left: 0; bottom: 0; width: 32px; height: 3px; border-radius: 4px; background: #cb73e9; }
.footer--premium ul { list-style: none; margin: 0; padding: 0; }
.footer--premium .footer-column li + li { margin-top: 10px; }
.footer--premium .footer-column a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #e9dcf0; font-size: .875rem; line-height: 1.65; text-decoration: none; overflow-wrap: anywhere; }
.footer--premium .footer-column a > svg { width: 15px; height: 15px; color: #d8bbe5; transition: transform .2s; }
.footer--premium .footer-column a:hover > svg { transform: translateX(3px); }
.footer--premium .footer-contact li { display: flex; align-items: center; gap: 10px; font-size: .875rem; line-height: 1.65; color: #e9dcf0; }
.footer--premium .footer-contact li > :last-child { min-width: 0; overflow-wrap: anywhere; }
.footer--premium .footer-contact-icon { width: 32px; height: 32px; flex: 0 0 auto; }
.footer--premium .footer-contact .footer-store-link { justify-content: flex-start; margin-top: 18px; color: #efb8ff; font-size: .875rem; font-weight: 500; }
.footer--premium a:hover { color: #fff; }
.footer--premium a:focus-visible { outline: 2px solid #edb5ff; outline-offset: 5px; border-radius: 5px; }
.footer--premium .footer-base { border-top: 1px solid #d8a4f12e; background: #2b0938cc; backdrop-filter: blur(12px); }
.footer--premium .footer-base-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; min-height: 85px; padding-block: 18px; gap: 20px; font-size: .75rem; color: #e2cde9; }
.footer--premium .footer-base-inner > p { margin: 0; line-height: 1.65; }
.footer--premium .footer-credit { display: flex; align-items: center; justify-content: center; justify-self: center; gap: 4px; }
.footer--premium .footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px 12px; line-height: 1.65; }
.footer--premium .footer-legal a { color: #e2cde9; text-decoration: none; }
.footer--premium .footer-legal > * { white-space: nowrap; }
.footer--premium .footer-legal > * + * { padding-left: 12px; border-left: 1px solid #d8a4f147; }
.footer--premium .footer-legal span { color: #cdb7d5; }
@media (max-width: 1100px) {
    .footer--premium .footer-shell { width: calc(100% - 48px); }
    .footer--premium .footer-columns { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 30px 24px; }
    .footer--premium .footer-contact { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid #cf8dec35; }
    .footer--premium .footer-contact ul { display: flex; gap: 14px 28px; flex-wrap: wrap; }
    .footer--premium .footer-contact li + li { margin-top: 0; }
    .footer--premium .footer-base-inner { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 12px; }
    .footer--premium .footer-credit { grid-row: 3; }
    .footer--premium .footer-legal { justify-content: center; }
}
@media (max-width: 800px) {
    .footer--premium .footer-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 24px; padding-block: 36px; }
    .footer--premium .footer-brand { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 210px) minmax(0, 1fr); gap: 14px 24px; align-items: center; }
    .footer--premium .footer-brand > p { margin: 0; max-width: none; }
    .footer--premium .footer-socials { grid-column: 2; }
    .footer--premium .footer-art { background-size: auto 100%; }
}
@media (max-width: 540px) {
    .footer--premium .footer-shell { width: calc(100% - 32px); }
    .footer--premium .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding-block: 32px; }
    .footer--premium .footer-brand { display: block; }
    .footer--premium .footer-nav-logo { width: min(200px, 100%); }
    .footer--premium .footer-brand > p { max-width: 340px; margin: 16px 0; }
    .home-body .footer--premium h2 { font-size: 1rem; margin-bottom: 17px; }
    .footer--premium .footer-contact { grid-column: auto; padding: 0; border: 0; }
    .footer--premium .footer-contact ul { display: grid; gap: 12px; }
    .footer--premium .footer-base-inner { gap: 10px; padding-block: 20px; }
    .footer--premium .footer-art { opacity: .22; background-position: 24% bottom; }
}
