#vitrioFooter.site-footer { background: #202125; color: #d1d3dc; padding: 68px 0 26px; border-top: 1px solid #34353e; }
#vitrioFooter .container { max-width: 1360px; }
#vitrioFooter .footer-directory { display: grid; grid-template-columns: minmax(300px, 2.2fr) repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); }
#vitrioFooter .footer-brand { display: inline-flex; align-items: center; gap: 13px; font-size: 27px; color: #fff; font-weight: 600; letter-spacing: 3px; margin-bottom: 18px; }
#vitrioFooter .footer-brand-mark { width: 43px; height: 43px; }
#vitrioFooter .footer-tagline { max-width: 470px; color: #d1d3dc; font-size: 14px; line-height: 1.75; margin: 0 0 22px; }
#vitrioFooter .footer-newsletter-heading { color: #fff; font-size: 20px; line-height: 1.4; font-weight: 500; margin: 0 0 6px; letter-spacing: 0; }
#vitrioFooter .footer-newsletter-description { font-size: 13px; color: #c0c3cf; line-height: 1.6; margin: 0 0 12px; }
#vitrioFooter .newsletter-form { display: flex; gap: 8px; max-width: 470px; margin: 0; }
#vitrioFooter .newsletter-form input[type=email] { min-width: 0; width: 100%; flex: 1; background: #fff; color: #202125; border: 1px solid #b2b5c1; border-radius: 5px; min-height: 44px; padding: 10px 12px; font: inherit; font-size: 14px; }
#vitrioFooter .newsletter-form input::placeholder { color: #626775; }
#vitrioFooter .newsletter-form button { flex-shrink: 0; border: 1px solid #9a67f2; background: #7c3aed; color: #fff; border-radius: 5px; padding: 10px 14px; font: 500 13px/1.5 var(--vi-font-body, sans-serif); cursor: pointer; }
#vitrioFooter .newsletter-form button:hover { background: #6d28d9; }
#vitrioFooter .newsletter-msg { font-size: 13px; min-height: 8px; margin-top: 7px; }
#vitrioFooter .newsletter-msg.ok { color: #a7e5c3; }
#vitrioFooter .newsletter-msg.err { color: #ffb3b3; }
#vitrioFooter .footer-contact-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 19px; }
#vitrioFooter .footer-contact-list li { display: flex; gap: 17px; align-items: flex-start; font-size: 14px; line-height: 1.6; }
#vitrioFooter .footer-contact-list i { color: #c4a8ff; width: 18px; flex: 0 0 18px; margin-top: 2px; }
#vitrioFooter .footer-contact-list strong { display: block; color: #e9eaf0; font-size: 12px; font-weight: 500; margin-bottom: 2px; }
#vitrioFooter .footer-contact-list address { margin: 0; font-style: normal; }
#vitrioFooter .footer-contact-list small { display: block; color: #b6bbc8; font-size: 11px; line-height: 1.6; margin-top: 3px; }
#vitrioFooter .footer-col { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 9px; min-width: 0; }
#vitrioFooter .footer-col h2 { color: #fafaff; font: 500 12px/1.5 var(--vi-font-body, sans-serif); text-transform: uppercase; letter-spacing: 1.2px; margin: 0 0 8px; }
#vitrioFooter .footer-col h2.footer-subheading { margin-top: 25px; }
#vitrioFooter h2 { font-family: var(--vi-font-body, sans-serif) !important; }
#vitrioFooter .footer-contact-list svg { color: #c4a8ff; width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; }
#vitrioFooter :is(.footer-col a, .footer-col button, .footer-contact-list a, .footer-contact-list button) { color: #d2bdff; font: 400 13px/1.6 var(--vi-font-body, sans-serif); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #d2bdff60; overflow-wrap: anywhere; }
#vitrioFooter :is(.footer-col button, .footer-contact-list button) { border: 0; padding: 0; background: transparent; text-align: left; cursor: pointer; }
#vitrioFooter :is(a, button):hover { color: #fff; text-decoration-color: #fff; }
#vitrioFooter .footer-social { margin-top: 22px; }
#vitrioFooter .footer-bottom { border-top: 1px solid #444650; margin-top: 44px; padding-top: 22px; color: #bfc2ce; font-size: 12px; gap: 20px; }
#vitrioFooter .footer-legal { font-size: 11px; line-height: 1.7; color: #bfc2ce; max-width: 760px; }
#vitrioFooter .footer-legal a { color: #d2bdff; }
#vitrioFooter :is(a, button, input):focus-visible { outline: 3px solid #76d7ff; outline-offset: 4px; }
@media (max-width: 1000px) {
  #vitrioFooter .footer-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
  #vitrioFooter .footer-introduction { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  #vitrioFooter.site-footer { padding-top: 40px; }
  #vitrioFooter .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
  #vitrioFooter .footer-col:last-child { grid-column: 1 / -1; }
  #vitrioFooter .footer-bottom { flex-direction: column; align-items: flex-start; margin-top: 30px; }
  #vitrioFooter .newsletter-form button { padding-inline: 11px; }
}
