.b2io-rm-yes .wd-post-read-more > a {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    max-width: 100%;
    white-space: normal;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .3s ease;
}
.b2io-rm-yes .wd-post-read-more > a:is(:hover, :focus-visible) { opacity: 1; }
.b2io-rm-yes .wd-post-read-more > a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
/* Presets are local to the widget. Elementor's per-widget controls override
   these defaults, including background shorthand to replace a gradient. */
.b2io-rm-yes:where([class*="b2io-rm-style-"]:not(.b2io-rm-style-default)) {
    --b2io-rm-accent: var(--wd-primary-color, #1a62ab);
    --b2io-rm-bg: transparent;
    --b2io-rm-hover-bg: var(--b2io-rm-bg);
    --b2io-rm-color: var(--b2io-rm-accent);
    --b2io-rm-hover-color: var(--b2io-rm-color);
    --b2io-rm-border: transparent;
    --b2io-rm-hover-border: var(--b2io-rm-border);
    --b2io-rm-shadow: none;
}
.elementor-widget.b2io-rm-yes:where([class*="b2io-rm-style-"]:not(.b2io-rm-style-default)) .wd-post-read-more > a {
    padding: 12px 24px;
    min-height: 0;
    border: 1px solid var(--b2io-rm-border);
    border-radius: 999px;
    background: var(--b2io-rm-bg);
    color: var(--b2io-rm-color);
    box-shadow: var(--b2io-rm-shadow);
    text-decoration: none;
    line-height: 1.4;
    text-transform: none;
    transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .3s ease;
}
.elementor-widget.b2io-rm-yes:where([class*="b2io-rm-style-"]:not(.b2io-rm-style-default)) .wd-post-read-more > a:is(:hover, :focus-visible) {
    background: var(--b2io-rm-hover-bg);
    color: var(--b2io-rm-hover-color);
    border-color: var(--b2io-rm-hover-border);
}
.b2io-rm-yes.b2io-rm-style-primary {
    --b2io-rm-bg: linear-gradient(135deg, var(--b2io-rm-accent), color-mix(in srgb, var(--b2io-rm-accent) 70%, white));
    --b2io-rm-hover-bg: linear-gradient(135deg, color-mix(in srgb, var(--b2io-rm-accent) 85%, black), var(--b2io-rm-accent));
    --b2io-rm-color: white;
    --b2io-rm-shadow: 0 8px 20px color-mix(in srgb, var(--b2io-rm-accent) 20%, transparent);
}
.b2io-rm-yes.b2io-rm-style-outline {
    --b2io-rm-border: var(--b2io-rm-accent);
    --b2io-rm-hover-bg: color-mix(in srgb, var(--b2io-rm-accent) 8%, transparent);
}
.b2io-rm-yes.b2io-rm-style-soft {
    --b2io-rm-bg: color-mix(in srgb, var(--b2io-rm-accent) 10%, white);
    --b2io-rm-hover-bg: color-mix(in srgb, var(--b2io-rm-accent) 18%, white);
}
.b2io-rm-yes.b2io-rm-style-solid,
.b2io-rm-yes.b2io-rm-style-ghost {
    --b2io-rm-hover-bg: color-mix(in srgb, var(--b2io-rm-accent) 85%, black);
    --b2io-rm-hover-color: white;
}
.b2io-rm-yes.b2io-rm-style-solid { --b2io-rm-bg: var(--b2io-rm-accent); --b2io-rm-color: white; }
.b2io-rm-yes.b2io-rm-style-ghost { --b2io-rm-border: var(--b2io-rm-accent); }
.elementor-widget.b2io-rm-yes:where(.b2io-rm-style-text) .wd-post-read-more > a {
    padding: 4px 0;
    border-width: 0;
    border-radius: 0;
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}
.b2io-rm-yes.b2io-rm-style-flat {
    --b2io-rm-bg: #f5f7fb;
    --b2io-rm-hover-bg: #e8edf5;
    --b2io-rm-color: #172033;
    --b2io-rm-border: #e1e7f0;
}
.b2io-rm-yes.b2io-rm-style-glass {
    --b2io-rm-bg: rgba(255, 255, 255, .72);
    --b2io-rm-hover-bg: rgba(255, 255, 255, .92);
    --b2io-rm-border: color-mix(in srgb, var(--b2io-rm-accent) 22%, transparent);
    --b2io-rm-shadow: 0 8px 24px rgba(20, 35, 60, .1);
}
.elementor-widget.b2io-rm-yes:where(.b2io-rm-style-glass) .wd-post-read-more > a { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.b2io-rm-yes.b2io-rm-style-dark {
    --b2io-rm-bg: #172033;
    --b2io-rm-hover-bg: #0f1726;
    --b2io-rm-color: white;
    --b2io-rm-shadow: 0 8px 20px rgba(15, 23, 38, .2);
}
.b2io-rm-yes.b2io-rm-animation-underline .wd-post-read-more > a::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0;
    height: 2px; background: currentColor; transform: scaleX(0);
    transform-origin: left; transition: transform .3s ease;
}
.b2io-rm-yes.b2io-rm-animation-underline .wd-post-read-more > a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.b2io-rm-yes.b2io-rm-animation-lift .wd-post-read-more > a:is(:hover, :focus-visible) { transform: translateY(-4px); }
.b2io-rm-yes.b2io-rm-animation-grow .wd-post-read-more > a:is(:hover, :focus-visible) { transform: scale(1.06); }
.b2io-rm-yes.b2io-rm-animation-slide .wd-post-read-more > a:is(:hover, :focus-visible) { transform: translateX(6px); }
.b2io-rm-yes.b2io-rm-animation-bounce .wd-post-read-more > a:is(:hover, :focus-visible) { animation: b2io-rm-bounce .6s ease; }
/* Category layout is static CSS; Elementor emits device-specific overrides. */
.elementor-widget-wd_blog .wd-post-cat {
    display: inline-flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: .25em;
    max-width: 100%;
    box-sizing: border-box;
}
.elementor-widget-wd_blog .wd-post-cat.wd-style-with-bg {
    height: auto;
    min-height: 2em;
    line-height: 1.4;
}
.elementor-widget-wd_blog .wd-post-cat > a { min-width: 0; overflow-wrap: anywhere; }
/* Keep 2–4 narrow columns usable, including the native non-grid designs. */
.b2io-blog-device > .wd-blog-element > .wd-blog-holder:not(.wd-masonry) {
    grid-template-columns: repeat(var(--b2io-blog-columns), minmax(0, 1fr));
}
.b2io-blog-responsive .wd-post { min-width: 0; container-type: inline-size; }
.b2io-blog-responsive .wd-post-title { overflow-wrap: anywhere; }
.b2io-blog-responsive .wd-post-thumb img { width: 100%; height: auto; }
/* Equal-height rows use CSS flow; no resize observers or measured pixel heights. */
.b2io-blog-responsive .wd-blog-holder:not(.wd-masonry) { align-items: stretch; }
.b2io-blog-responsive .wd-blog-holder:not(.wd-masonry) > .wd-post,
.b2io-blog-responsive .wd-carousel-wrap > .wd-carousel-item:has(> .wd-post) {
    display: flex;
    flex-direction: column;
    height: auto;
    align-self: stretch;
}
.b2io-blog-responsive .wd-carousel-wrap:has(> .wd-carousel-item > .wd-post) { align-items: stretch; }
.b2io-blog-responsive .wd-carousel-item > .wd-post { display: flex; flex-direction: column; flex: 1; }
.b2io-blog-responsive :is(.wd-blog-holder:not(.wd-masonry), .wd-carousel-item) > .wd-post > .wd-post-inner { flex: 1; width: 100%; }
.b2io-blog-responsive :is(.wd-blog-holder:not(.wd-masonry), .wd-carousel-item) > .wd-post:not(.blog-design-list):not(.blog-design-small-images):not(.blog-design-chess) > .wd-post-inner {
    display: flex;
    flex-direction: column;
}
.b2io-blog-responsive :is(.wd-blog-holder:not(.wd-masonry), .wd-carousel-item) > .wd-post > .wd-post-inner > .wd-post-thumb { flex-shrink: 0; }
.b2io-blog-responsive :is(.wd-blog-holder:not(.wd-masonry), .wd-carousel-item) > .wd-post > .wd-post-inner > .wd-post-content { flex: 1; }
.b2io-blog-responsive :is(.wd-blog-holder:not(.wd-masonry), .wd-carousel-item) > .wd-post > .wd-post-inner > .wd-post-content > .wd-post-read-more { margin-top: auto; }
@container (max-width: 220px) {
    .b2io-blog-responsive .wd-post-inner,
    .b2io-blog-responsive .wd-post-content,
    .b2io-blog-responsive .wd-post-content-inner { gap: 6px; }
    .b2io-blog-responsive .blog-style-bg .wd-post-content { padding: 10px; }
    .b2io-blog-responsive .wd-post-meta { gap: 4px; }
    .b2io-blog-responsive .wd-post-title,
    .b2io-blog-responsive .wd-post-excerpt {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
    }
    .b2io-blog-responsive .blog-design-default-alt.blog-style-bg .wd-post-content { width: 100%; }
    .b2io-blog-responsive .wd-post-date.wd-style-with-bg { min-width: 0; padding: 4px; top: 6px; inset-inline-start: 6px; gap: 2px; }
    .b2io-blog-responsive .wd-post-date .post-date-day { font-size: 16px; }
    .b2io-blog-responsive .wd-post-date .post-date-month { font-size: 9px; }
    .b2io-blog-responsive .wd-share-with-lines { gap: 4px; }
    .b2io-blog-responsive .wd-post .wd-social-icons { --wd-social-size: 20px; --wd-social-icon-size: 11px; --wd-social-gap: 4px; }
    .b2io-blog-responsive .wd-post-cat { max-width: 100%; overflow-wrap: anywhere; }
    .b2io-blog-responsive .blog-design-list .wd-post-inner { flex-direction: column; align-items: stretch; }
    .b2io-blog-responsive .blog-design-list .wd-post-thumb { flex-basis: auto; }
    .b2io-blog-responsive .wd-post-read-more > a { white-space: normal; min-width: 0; max-width: 100%; }
}
@keyframes b2io-rm-bounce { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-5px); } 70% { transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) {
    .b2io-rm-yes .wd-post-read-more > a,
    .b2io-rm-yes .wd-post-read-more > a::after { transition: none !important; animation: none !important; }
    .b2io-rm-yes .wd-post-read-more > a:is(:hover, :focus-visible) { transform: none !important; }
}
