.aff-cta {
--cta-bg: #1375d1;
--cta-text: #ffffff;
--cta-lead: #31343a;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
margin: 32px auto;
text-align: center;
}
.aff-cta__lead {
margin: 0;
color: var(--cta-lead);
font-size: 14px;
font-weight: 700;
letter-spacing: 0.04em;
line-height: 1.5;
}
.aff-cta__button {
display: inline-flex;
align-items: center;
justify-content: center;
width: auto;
max-width: 100%;
min-height: 56px;
padding: 15px 28px;
border: 2px solid var(--cta-bg);
border-radius: 12px;
background: var(--cta-bg);
color: var(--cta-text);
box-shadow:
0 7px 0 rgba(0, 0, 0, 0.22),
0 12px 24px rgba(0, 0, 0, 0.12);
font-size: 17px;
font-weight: 800;
line-height: 1.4;
text-align: center;
text-decoration: none;
cursor: pointer;
transition:
transform 0.16s ease,
box-shadow 0.16s ease,
background-color 0.18s ease,
color 0.18s ease;
}
.aff-cta__button::after {
content: "▶";
display: inline-block;
margin-left: 10px;
font-size: 0.82em;
line-height: 1;
transform: translateY(0.03em);
transition: transform 0.18s ease;
}
.aff-cta__button:hover::after {
transform: translate(3px, 0.03em);
}
.aff-cta__button:hover {
background: var(--cta-text);
color: var(--cta-bg);
transform: translateY(-2px);
box-shadow:
0 9px 0 rgba(0, 0, 0, 0.20),
0 15px 26px rgba(0, 0, 0, 0.14);
}
.aff-cta__button:active {
transform: translateY(5px);
box-shadow:
0 2px 0 rgba(0, 0, 0, 0.22),
0 6px 12px rgba(0, 0, 0, 0.10);
}
.aff-cta__button:focus-visible {
outline: 3px solid rgba(19, 117, 209, 0.25);
outline-offset: 4px;
}
@media (max-width: 600px) {
.aff-cta__button {
font-size: 16px;
padding: 14px 22px;
}
}