.icon-text {
    padding: 0px 0;
    text-align: center;
}

.icon-text .icon-wrapper {
    margin-bottom: 20px;
}

.icon-text .icon-wrapper img,
.icon-text .icon-wrapper svg {
    width: 64px;
    height: 64px;
    margin: 0 auto;
    display: block;
}

/* Ensure SVG has good contrast */
.icon-text .icon-wrapper svg path,
.icon-text .icon-wrapper svg rect,
.icon-text .icon-wrapper svg circle {
    fill: currentColor;
}

.icon-text .heading {
    font-size: var(--typography-size-24);
    font-weight: bold;
    margin-bottom: 15px;
    color: var(--color-heading, inherit);
}

.icon-text .text {
    font-size: var(--typography-size-16);
    line-height: 1.6;
    color: var(--color-text, inherit);
    max-width: 350px;
    margin: 0 auto;
}

/* Interactive elements focus states */
.icon-text a:focus {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}

.icon-text a:focus:not(:focus-visible) {
    outline: none;
}

.icon-text a:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}

/* High contrast mode support */
@media (forced-colors: active) {
    .icon-text .icon-wrapper svg {
        forced-color-adjust: auto;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .icon-text * {
        animation: none !important;
        transition: none !important;
    }
} 

.icon-text .text p {margin-top: 0px;}