/* Premium footer: explicit footer-premium component */
.footer.footer-premium { padding: clamp(3rem,7vw,6rem) 0 1.4rem; color: rgba(255,255,255,.72); }
.footer-premium .footer-premium__grid { display: grid; grid-template-columns: minmax(16rem,1.3fr) repeat(2,minmax(10rem,.7fr)) minmax(14rem,.9fr); gap: clamp(2rem,5vw,5.5rem); padding-bottom: clamp(2.5rem,5vw,4.5rem); }
.footer-premium__brand { display: grid; align-content: start; gap: 1.05rem; }
.footer-premium__logo { display: inline-flex; align-items: center; width: fit-content; }
.footer-premium__logo img { display: block; width: auto; height: 2rem; max-width: 11.5rem; object-fit: contain; }
.footer-premium__tagline { max-width: 29ch; margin: 0; color: rgba(255,255,255,.68); font-size: .98rem; line-height: 1.65; }
.footer-premium__fit-link { width: fit-content; color: var(--qs-gold-soft) !important; font-weight: 700; text-decoration: none !important; }
.footer-premium__fit-link::after { content: "→"; display: inline-block; margin-left: .45rem; transition: transform .2s ease; }
.footer-premium__fit-link:hover::after { transform: translateX(.22rem); }
.footer-premium__column { display: grid; align-content: start; gap: 1rem; }
.footer-premium__heading { margin: 0; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.footer-premium__links { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.footer-premium__links a { width: fit-content; font-size: .95rem; }
.footer-premium__contact-link { width: fit-content; color: #fff !important; font-size: 1.02rem; font-weight: 700; text-decoration: none !important; }
.footer-premium__socials { display: flex; flex-wrap: wrap; gap: .55rem; }
.footer-premium__socials a { display: inline-flex; align-items: center; min-height: 2.15rem; padding: .35rem .75rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.8); font-size: .82rem; font-weight: 700; text-decoration: none; transition: background .2s ease,border-color .2s ease,color .2s ease; }
.footer-premium__socials a:hover { color: #101112; background: var(--qs-gold); border-color: var(--qs-gold); }
.footer-premium__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.12); }
.footer-premium__copyright { margin: 0; color: rgba(255,255,255,.5); font-size: .82rem; }
.footer-premium__legal { display: flex; flex-wrap: wrap; gap: 1.15rem; }
.footer-premium__legal a { color: rgba(255,255,255,.62); font-size: .82rem; }
@media (max-width: 960px) { .footer-premium .footer-premium__grid { grid-template-columns: 1.25fr 1fr 1fr; } .footer-premium__contact { grid-column: 1 / -1; } }
@media (max-width: 640px) { .footer.footer-premium { padding-top: 3.4rem; } .footer-premium .footer-premium__grid { grid-template-columns: 1fr 1fr; gap: 2.3rem 1.25rem; } .footer-premium__brand, .footer-premium__contact { grid-column: 1 / -1; } .footer-premium__bottom { align-items: flex-start; flex-direction: column; } }
