.cews-service-box {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, 0.08);
    transition-property: transform, box-shadow, background-color;
    transition-duration: .3s;
    transition-timing-function: ease;
}

.cews-service-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(17, 24, 39, 0.13);
}

.cews-service-box__image-wrap {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #f3f4f6;
}

.cews-service-box__image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform .45s ease;
}

.cews-service-box:hover .cews-service-box__image-wrap img {
    transform: scale(1.04);
}

.cews-service-box__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 26px;
}


.cews-service-box__title {
    width: 100%;
    margin: 0;
    color: #111827;
    font-size: 1.35rem;
    line-height: 1.25;
}

.cews-service-box__location {
    display: flex;
    width: 100%;
    align-items: flex-start;
    gap: 10px;
    justify-content: var(--cews-location-justify, flex-start);
}


.cews-service-box__location-icon {
    display: inline-flex;
    flex: 0 0 auto;
    margin-top: .12em;
    color: #111827;
    font-size: 18px;
    line-height: 1;
}

.cews-service-box__location-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.cews-service-box__address {
    color: #6b7280;
    line-height: 1.6;
}

.cews-service-box__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: auto;
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;
    background: #111827;
    color: #fff;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.cews-service-box__button:hover,
.cews-service-box__button:focus-visible {
    background: #374151;
    color: #fff;
    text-decoration: none;
}

.cews-service-box__button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.cews-service-box__button-icon {
    display: inline-flex;
    line-height: 1;
    transition: transform .25s ease;
}

.cews-service-box__button-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.cews-service-box__button:hover .cews-service-box__button-icon {
    transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
    .cews-service-box,
    .cews-service-box__image-wrap img,
    .cews-service-box__button,
    .cews-service-box__button-icon {
        transition: none !important;
    }

    .cews-service-box:hover,
    .cews-service-box:hover .cews-service-box__image-wrap img,
    .cews-service-box__button:hover .cews-service-box__button-icon {
        transform: none !important;
    }
}
