.tap-footer {
background: var(--tap-black);
color: rgba(255, 255, 255, 0.55);
font-size: 0.875rem;
line-height: 1.6;
border-top: 3px solid var(--tap-gold);
} .tap-footer__inner {
display: grid;
grid-template-columns: 1.4fr 1fr 1.4fr 1.6fr;
gap: 3.5rem;
padding-top: 4rem;
padding-bottom: 4rem;
align-items: start;
} .tap-footer__logo {
display: inline-block;
font-family: var(--tap-font-body);
font-size: 1.4rem;
font-weight: 700;
color: var(--tap-white);
text-decoration: none;
letter-spacing: -0.01em;
margin-bottom: 1rem;
line-height: 1;
}
.tap-footer__logo span {
color: var(--tap-gold);
}
.tap-footer__logo:hover {
color: var(--tap-white);
opacity: 0.85;
}
.tap-footer__tagline {
font-size: 0.825rem;
color: rgba(255, 255, 255, 0.4);
line-height: 1.65;
margin: 0;
font-style: italic;
} .tap-footer__heading {
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--tap-gold);
margin: 0 0 1.25rem;
font-family: inherit;
} .tap-footer__links {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
}
.tap-footer__links a {
color: rgba(255, 255, 255, 0.55);
text-decoration: none;
font-size: 0.875rem;
transition: color 0.2s;
}
.tap-footer__links a:hover {
color: var(--tap-white);
} .tap-footer__newsletter-desc {
font-size: 0.825rem;
color: rgba(255, 255, 255, 0.45);
line-height: 1.65;
margin: 0 0 1.25rem;
} .tap-footer .ff-el-group {
margin-bottom: 0.75rem;
} .tap-footer .ff-el-form-control {
background: rgba(255, 255, 255, 0.07) !important;
border: 1px solid rgba(255, 255, 255, 0.15) !important;
border-radius: var(--tap-radius) !important;
color: var(--tap-white) !important;
font-size: 0.875rem !important;
padding: 0.7rem 1rem !important;
width: 100% !important;
box-sizing: border-box !important;
transition: border-color 0.2s !important;
}
.tap-footer .ff-el-form-control::placeholder {
color: rgba(255, 255, 255, 0.3) !important;
}
.tap-footer .ff-el-form-control:focus {
border-color: var(--tap-gold) !important;
outline: none !important;
box-shadow: none !important;
} .tap-footer .ff-btn-submit,
.tap-footer button[type="submit"] {
background: var(--tap-gold) !important;
border: none !important;
border-radius: var(--tap-radius) !important;
color: var(--tap-white) !important;
font-size: 0.8rem !important;
font-weight: 700 !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
padding: 0.7rem 1.5rem !important;
width: 100% !important;
cursor: pointer !important;
transition: background 0.2s !important;
margin-top: 0.25rem !important;
}
.tap-footer .ff-btn-submit:hover,
.tap-footer button[type="submit"]:hover {
background: var(--tap-gold-dark) !important;
} .tap-footer .ff-el-form-check-label,
.tap-footer .ff-el-form-check {
color: rgba(255, 255, 255, 0.4) !important;
font-size: 0.775rem !important;
line-height: 1.5 !important;
}
.tap-footer .ff-el-form-check-input {
accent-color: var(--tap-gold) !important;
margin-right: 0.4rem !important;
}
.tap-footer .ff-el-form-check-label a {
color: var(--tap-gold) !important;
text-decoration: underline;
text-underline-offset: 2px;
}
.tap-footer .ff-el-form-check-label a:hover {
color: var(--tap-white) !important;
} .tap-footer .error {
color: #f87171 !important;
font-size: 0.75rem !important;
} .tap-footer .ff-message-success {
color: rgba(255, 255, 255, 0.7) !important;
font-size: 0.85rem !important;
padding: 0.75rem 0 !important;
} .tap-footer__bottom {
border-top: 1px solid rgba(255, 255, 255, 0.08);
padding: 1.25rem 0;
text-align: center;
}
.tap-footer__copyright {
font-size: 0.775rem;
color: rgba(255, 255, 255, 0.3);
margin: 0;
text-align: center;
}
.tap-footer__copyright a {
color: rgba(255, 255, 255, 0.3);
text-decoration: none;
transition: color 0.2s;
}
.tap-footer__copyright a:hover {
color: rgba(255, 255, 255, 0.65);
}
.tap-footer__bottom-sep {
color: rgba(255, 255, 255, 0.15);
} @media (max-width: 900px) {
.tap-footer__inner {
grid-template-columns: 1fr 1fr;
gap: 2.5rem 3rem;
padding-top: 3rem;
padding-bottom: 3rem;
}
.tap-footer__col--brand {
grid-column: 1 / -1;
}
} @media (max-width: 480px) {
.tap-footer__inner {
grid-template-columns: 1fr;
gap: 2rem;
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
.tap-footer__col--brand {
grid-column: auto;
}
.tap-footer__copyright {
flex-direction: column;
gap: 0.3rem;
text-align: center;
align-items: center;
}
.tap-footer__bottom-sep {
display: none;
}
}