/* ELMEMAR — Accessibility v1.2 */
/* All single posts: desktop + mobile */

/* 1. Orange text contrast */
body.single-post
.elementor-widget-theme-post-content
span[style*="#ff6600" i] {
    color: #a83c00 !important;
}

/* 2. Blue inline links and text */
body.single-post
.elementor-widget-theme-post-content
:is(span, a)[style*="#3366ff" i] {
    color: #124785 !important;
}

/* 3. Article introductions and excerpts */
body.single-post
.elementor-location-single
.elementor-element-52438a8 p,
body.single-post
.elementor-location-footer
.elementor-widget-posts
.elementor-post__excerpt p,
body.single-post
.display-posts-listing-new-design
.listing-item .excerpt {
    color: #334155 !important;
}

/* 4. Articles section label contrast */
body.single-post
.elementor-location-single
.elementor-element-5a31650
.elementor-widget-container {
    color: #1e293b !important;
    background-color: #ffffff !important;
}

/* 5. Keyboard focus */
body.single-post :is(
    .elementor-widget-theme-post-content,
    .top-posts,
    .categories-list,
    .display-posts-listing-new-design,
    .elementor-location-footer
) a:focus-visible {
    outline: 2px solid #07569c !important;
    outline-offset: 2px;
}

/* 6. Desktop touch targets */
@media screen and (min-width: 768px) {
    body.single-post
    .display-posts-listing-new-design
    .listing-item > a.title,
    body.single-post
    .display-posts-listing-new-design
    .listing-item .date > a {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        vertical-align: middle;
        min-height: 44px;
        max-width: 100%;
        padding-block: 9px;
        padding-inline: 8px;
    }

    /* Visual style after replacing phone h5 with p */
    body.single-post
    .elementor-element-6e921ae
    p.elementor-heading-title {
        margin: 0;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.2;
    }
}

/* 7. Mobile touch targets */
@media screen and (max-width: 767px) {
    body.single-post .top-posts li > a,
    body.single-post .categories-list li > a,
    body.single-post
    .display-posts-listing-new-design
    .listing-item > a.title,
    body.single-post
    .display-posts-listing-new-design
    .listing-item .date > a,
    body.single-post
    .display-posts-listing-new-design
    .listing-item a.excerpt-more,
    body.single-post
    .elementor-location-footer
    .elementor-widget-posts
    .elementor-post__title > a {
        box-sizing: border-box;
        display: block;
        min-height: 48px;
        padding-block: 10px;
        padding-inline: 8px;
    }
}

/* Elmemar Footer Phone Button */

.elementor-element-17572d3
.elementor-element-6e921ae
.elementor-widget-container
p.elementor-heading-title.elementor-size-default {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    background: #B34D0C;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(14, 43, 92, 0.22);
    line-height: 1.2;
    transition: background-color .2s ease,
                box-shadow .2s ease,
                transform .2s ease;
}

/* Phone number link */
.elementor-element-17572d3
.elementor-element-6e921ae
.elementor-widget-container
p.elementor-heading-title.elementor-size-default a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 18px;
    color: #FFFFFF !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    border-radius: 12px;
}

/* Hover */
.elementor-element-17572d3
.elementor-element-6e921ae
.elementor-widget-container
p.elementor-heading-title.elementor-size-default:hover {
    background: #0E2B5C;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(14, 43, 92, 0.30);
}

/* Keyboard accessibility */
.elementor-element-17572d3
.elementor-element-6e921ae
.elementor-widget-container
p.elementor-heading-title.elementor-size-default a:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: -5px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .elementor-element-17572d3
    .elementor-element-6e921ae
    .elementor-widget-container
    p.elementor-heading-title.elementor-size-default {
        transition: none;
    }

    .elementor-element-17572d3
    .elementor-element-6e921ae
    .elementor-widget-container
    p.elementor-heading-title.elementor-size-default:hover {
        transform: none;
    }
}
