/* Webmaster Plus — Blog Single (WebinSEO-inspired) */
.wm-blog-page {
    --wm-blog-accent: var(--wm-module-primary);
    --wm-blog-accent-soft: var(--wm-module-soft);
    --wm-blog-accent-glow: var(--wm-brand-primary-glow);
    --wm-blog-ink: var(--wm-module-ink);
    --wm-blog-ink-soft: var(--wm-module-ink);
    --wm-blog-muted: var(--wm-module-muted);
    --wm-blog-page-bg: var(--wm-module-bg);
    --wm-blog-surface: var(--wm-module-surface);
    --wm-blog-surface-2: var(--wm-module-bg-soft);
    --wm-blog-surface-3: var(--wm-brand-pill);
    --wm-blog-border: var(--wm-module-line);
    --wm-blog-teal: var(--wm-module-soft);
    --wm-blog-tip: var(--wm-brand-pill);
    --wm-blog-tip-border: var(--wm-module-soft);
    --wm-blog-info: var(--wm-brand-pill);
    --wm-blog-info-border: var(--wm-module-primary);
    --wm-blog-radius-sm: 12px;
    --wm-blog-radius-md: 16px;
    --wm-blog-radius-lg: 20px;
    --wm-blog-shadow: 0 22px 56px rgba(60, 49, 140, 0.08);
    --wm-blog-shadow-sm: 0 10px 32px rgba(60, 49, 140, 0.07);
    direction: rtl;
    font-family: inherit;
    color: var(--wm-blog-ink-soft);
    background: var(--wm-blog-page-bg);
    padding: 0 0 64px;
    position: relative;
}

.wm-blog-page--section {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 0;
    background: transparent;
    overflow: visible;
}

/* Blog page background sync */
body.single-post:has(.wm-blog-page),
body.single:has(.wm-blog-page) {
    background: var(--wm-brand-bg, #f7f6fe);
}

.elementor-location-single:has(.wm-blog-page) {
    background: var(--wm-brand-bg, #f7f6fe);
}

.elementor-element:has(.wm-blog-page) {
    background-color: var(--wm-brand-bg, #f7f6fe) !important;
}

.wm-blog-page * {
    box-sizing: border-box;
}

.wm-blog-page__ambient {
    display: none;
}

.wm-blog-page > * {
    position: relative;
    z-index: 1;
}

/* buttons */
.wm-blog-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 28px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wm-blog-btn--order {
    background: var(--wm-grad-cta);
    color: #fff;
    box-shadow: 0 8px 24px var(--wm-blog-accent-glow);
    white-space: nowrap;
}

.wm-blog-promo .wm-blog-btn--order {
    background: #fff;
    color: var(--wm-brand-primary-dark, #372b7d);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.14);
}

.wm-blog-promo .wm-blog-btn--order:hover {
    background: var(--wm-brand-accent, #fea80d);
    color: #fff;
    box-shadow: 0 12px 28px rgba(254, 168, 13, 0.35);
}

.wm-blog-btn--order:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 32px var(--wm-blog-accent-glow);
}

/* breadcrumb */
.wm-blog-breadcrumb {
    margin: 0 0 18px;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.wm-blog-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.82rem;
}

.wm-blog-breadcrumb__list li {
    display: inline-flex;
    align-items: center;
    color: var(--wm-blog-muted);
}

.wm-blog-breadcrumb__list li:not(:last-child)::after {
    content: '›';
    margin: 0 8px;
    opacity: 0.5;
    font-size: 1rem;
    line-height: 1;
}

.wm-blog-breadcrumb__list a {
    color: var(--wm-blog-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.wm-blog-breadcrumb__list a:hover {
    color: var(--wm-blog-accent);
}

.wm-blog-breadcrumb__list .is-current {
    color: var(--wm-blog-ink);
    font-weight: 600;
}

/* header */
.wm-blog-header {
    max-width: var(--wm-container, 1360px);
    margin: 0 auto 32px;
    text-align: right;
}

.wm-blog-header__title {
    font-size: clamp(1.6rem, 4vw, 2.35rem);
    font-weight: 900;
    color: var(--wm-blog-ink);
    line-height: 1.45;
    margin: 0 0 20px;
    letter-spacing: -0.02em;
}

.wm-blog-header__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
}

.wm-blog-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: 999px;
    font-size: 0.78rem;
    color: var(--wm-blog-muted);
}

.wm-blog-meta-chip i {
    color: var(--wm-blog-teal);
    font-size: 0.72rem;
}

.wm-blog-meta-chip--accent {
    background: var(--wm-blog-surface-3);
    border-color: var(--wm-module-soft);
    color: var(--wm-blog-accent);
    font-weight: 600;
}

/* article intro — inside main column, above prose */
.wm-blog-article-surface {
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-lg);
    padding: 24px 28px 28px;
    box-shadow: var(--wm-blog-shadow-sm);
    margin-bottom: 20px;
}

.wm-blog-article-surface .wm-blog-article-intro {
    margin-bottom: 20px;
}

.wm-blog-article-surface .wm-blog-article-intro:last-child {
    margin-bottom: 0;
}

.wm-blog-article-surface .wm-blog-prose {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.wm-blog-article-intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

.wm-blog-main > .wm-blog-article-intro {
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-lg);
    padding: 24px 28px;
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-article-intro .wm-blog-breadcrumb {
    margin-bottom: 4px;
}

.wm-blog-article-intro__title {
    margin: 0;
    font-size: clamp(1.55rem, 3.5vw, 2.1rem);
    font-weight: 800;
    color: var(--wm-blog-ink);
    line-height: 1.45;
    letter-spacing: -0.02em;
}

.wm-blog-article-intro__head {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.wm-blog-article-intro__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 16px 20px;
}

.wm-blog-article-intro__meta .wm-blog-meta-chip {
    background: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
    font-size: 0.84rem;
    color: var(--wm-blog-muted);
    gap: 7px;
}

.wm-blog-article-intro__meta .wm-blog-meta-chip i {
    color: #94a3b8;
    font-size: 0.9rem;
}

.wm-blog-article-intro__media {
    margin: 0;
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: var(--wm-blog-surface-2);
    border: 1px solid var(--wm-blog-border);
}

.wm-blog-article-intro__media--video {
    background: var(--wm-brand-primary-deep);
    border-color: transparent;
}

.wm-blog-article-intro__media .wm-blog-hero__ratio,
.wm-blog-article-intro__media .wm-blog-hero__thumb {
    display: block;
    width: 100%;
}

/* legacy hero (standalone widgets) */
.wm-blog-top {
    display: none;
}

/* layout */
.wm-blog-layout {
    max-width: var(--wm-container, 1360px);
    margin: 0 auto 48px;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    gap: 40px;
    align-items: start;
    padding: 24px clamp(16px, 3vw, 28px) 0;
    border-top: none;
}

.wm-blog-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.wm-blog-article-surface .wm-blog-prose .wm-blog-block {
    margin: 1.75rem 0;
}

.wm-blog-article-surface .wm-blog-prose .wm-blog-block--compare,
.wm-blog-article-surface .wm-blog-prose .wm-blog-block--process,
.wm-blog-article-surface .wm-blog-prose .wm-blog-block--promo {
    padding-top: 1.5rem;
    border-top: 1px dashed #c5d0dc;
}

.wm-blog-main > .wm-blog-block--related,
.wm-blog-main > .wm-blog-block--author {
    margin-top: 20px;
}

/* hero — stacked single column */
.wm-blog-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    text-align: right;
}

.wm-blog-hero__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wm-blog-hero__title {
    font-size: clamp(1.65rem, 4vw, 2.35rem);
    font-weight: 800;
    color: var(--wm-blog-ink);
    line-height: 1.45;
    margin: 0;
    letter-spacing: -0.02em;
    text-align: right;
}

.wm-blog-hero__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 16px 20px;
    margin: 0;
}

.wm-blog-hero__meta .wm-blog-meta-chip {
    background: transparent;
    border: none;
    padding: 0;
    border-radius: 0;
    font-size: 0.84rem;
    color: var(--wm-blog-muted);
    gap: 7px;
}

.wm-blog-hero__meta .wm-blog-meta-chip i {
    color: #94a3b8;
    font-size: 0.9rem;
}

.wm-blog-meta-chip--author {
    font-weight: 600;
    color: var(--wm-blog-ink-soft);
}

.wm-blog-meta-chip__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.wm-blog-meta-chip--category {
    color: var(--wm-blog-muted);
}

.wm-blog-hero__figure {
    margin: 4px 0 0;
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: var(--wm-blog-surface-2);
    box-shadow: none;
    border: 1px solid var(--wm-blog-border);
}

.wm-blog-hero__figure--video {
    background: var(--wm-brand-primary-deep);
    border-color: transparent;
}

.wm-blog-hero__excerpt {
    margin: 0;
    font-size: 1rem;
    line-height: 2;
    color: var(--wm-blog-ink-soft);
    text-align: right;
}

.wm-blog-lead {
    margin: 0 0 1.8em;
    font-size: 1.05rem;
    line-height: 2.05;
    color: var(--wm-blog-ink-soft);
    text-align: right;
}

.wm-blog-hero__ratio {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
}

.wm-blog-hero__ratio iframe,
.wm-blog-hero__ratio video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    object-fit: cover;
}

.wm-blog-hero__thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.wm-blog-hero--intro-only .wm-blog-hero__title {
    display: none;
}

/* legacy intro aliases */
.wm-blog-intro {
    display: grid;
    grid-template-columns: minmax(240px, 0.62fr) minmax(0, 1fr);
    gap: 20px 32px;
    align-items: start;
}

.wm-blog-intro__media {
    border-radius: 14px;
    overflow: hidden;
    background: var(--wm-blog-ink);
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.12);
}

.wm-blog-intro__video,
.wm-blog-intro__video iframe,
.wm-blog-intro__video video {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    display: block;
    object-fit: cover;
}

.wm-blog-intro__thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.wm-blog-intro__text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 4px 0;
}

.wm-blog-intro__label {
    display: inline-flex;
    align-self: flex-start;
    padding: 5px 12px;
    background: linear-gradient(135deg, var(--wm-blog-ink), var(--wm-brand-primary-dark));
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 999px;
    margin-bottom: 12px;
}

.wm-blog-intro__text p {
    margin: 0;
    font-size: 0.94rem;
    line-height: 2;
    color: var(--wm-blog-ink-soft);
    text-align: justify;
}

.wm-blog-page--section > .wm-blog-prose {
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-lg);
    padding: clamp(24px, 3vw, 32px) clamp(28px, 3.5vw, 40px);
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-page--section > .wm-blog-article-intro {
    margin-bottom: 20px;
}

/* prose */
.wm-blog-prose {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    font-size: 1.02rem;
    line-height: 2.05;
    color: var(--wm-blog-ink-soft);
}

.wm-blog-prose > h2:first-child {
    margin-top: 0;
}

.wm-blog-prose > *:first-child {
    margin-top: 0;
}

.wm-blog-prose > *:last-child {
    margin-bottom: 0;
}

.wm-blog-prose h2,
.wm-blog-prose h3,
.wm-blog-prose h4 {
    color: var(--wm-blog-ink);
    font-weight: 800;
    margin: 1.6em 0 0.6em;
    line-height: 1.4;
}

.wm-blog-prose h2 {
    font-size: 1.35rem;
    padding-right: 14px;
    border-right: 4px solid var(--wm-blog-teal);
}

.wm-blog-prose ul,
.wm-blog-prose ol {
    padding-right: 1.4em;
}

.wm-blog-prose img,
.wm-blog-prose figure img {
    max-width: 92%;
    width: auto;
    height: auto;
    border-radius: 12px;
    margin: 1.6em auto;
    display: block;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
}

.wm-blog-prose figure {
    margin: 1.6em 0;
    text-align: center;
}

.wm-blog-prose figcaption {
    margin-top: 10px;
    font-size: 0.82rem;
    color: var(--wm-blog-muted);
    line-height: 1.7;
}

.wm-blog-prose a {
    color: var(--wm-blog-teal);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.wm-blog-prose table,
.wm-blog-prose .wm-blog-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.4em 0;
    font-size: 0.9rem;
}

.wm-blog-prose table th,
.wm-blog-prose table td,
.wm-blog-table th,
.wm-blog-table td {
    padding: 14px 16px;
    border: 1px solid var(--wm-blog-border);
    text-align: center;
    vertical-align: middle;
}

.wm-blog-prose table th,
.wm-blog-table thead th {
    background: var(--wm-blog-accent);
    color: #fff;
    font-weight: 700;
}

.wm-blog-prose table tbody tr:nth-child(even) td,
.wm-blog-table tbody tr:nth-child(even) td {
    background: var(--wm-brand-pill);
}

.wm-blog-prose table tbody tr:nth-child(odd) td,
.wm-blog-table tbody tr:nth-child(odd) td {
    background: #ffffff;
}

.wm-blog-prose table td:first-child,
.wm-blog-table td:first-child {
    text-align: right;
    font-weight: 600;
    color: var(--wm-blog-ink);
}

.wm-blog-prose .wm-blog-highlight,
.wm-blog-prose .wm-blog-callout {
    margin: 0;
}

.wm-blog-prose .wm-blog-compare {
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    background: transparent;
}

.wm-blog-related--inline,
.wm-blog-author--inline {
    max-width: none;
    margin: 0;
    padding: 0;
}

.wm-blog-related--inline .wm-blog-related__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.wm-blog-author--inline .wm-blog-author__card {
    padding: 20px 22px;
}

.wm-blog-prose .wm-blog-process--inline {
    margin: 0;
    padding: 24px 16px 20px;
    box-shadow: var(--wm-blog-shadow-sm);
    border: 1px solid #c7d2fe;
    background: linear-gradient(165deg, var(--wm-brand-pill) 0%, var(--wm-module-bg) 55%, #ffffff 100%);
    border-radius: var(--wm-blog-radius-md);
}

.wm-blog-prose .wm-blog-process--inline .wm-blog-process__orbit {
    max-width: 360px;
}

.wm-blog-prose .wm-blog-process--inline .wm-blog-process__node {
    width: 76px;
}

.wm-blog-prose .wm-blog-process--inline .wm-blog-process__icon {
    width: 38px;
    height: 38px;
    font-size: 0.85rem;
}

.wm-blog-prose .wm-blog-process--inline .wm-blog-process__label {
    font-size: 0.72rem;
}

.wm-blog-prose .wm-blog-promo--inline {
    margin: 0;
    box-shadow: none;
}

.wm-blog-prose .wm-blog-promo--inline .wm-blog-promo__inner {
    padding: 22px 24px;
}

/* unified in-article blocks */
.wm-blog-block {
    margin: 1.75rem 0;
}

.wm-blog-block:first-child {
    margin-top: 0;
}

.wm-blog-block--compare,
.wm-blog-block--process,
.wm-blog-block--promo,
.wm-blog-block--related,
.wm-blog-block--author {
    margin: 2.25rem 0;
    padding-top: 1.75rem;
    border-top: 1px dashed #c5d0dc;
}

.wm-blog-block--tip .wm-blog-callout--tip,
.wm-blog-block--info .wm-blog-callout--info,
.wm-blog-block--highlight .wm-blog-highlight {
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-block--compare .wm-blog-compare {
    background: var(--wm-blog-surface-2);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-md);
    padding: 20px 22px;
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-block--process .wm-blog-process {
    background: linear-gradient(165deg, var(--wm-brand-pill) 0%, var(--wm-module-bg) 55%, #ffffff 100%);
    border-color: var(--wm-module-soft);
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-block--author .wm-blog-author__card {
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg-soft) 45%, #ffffff 100%);
    border-color: #c4b5fd;
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-block--related .wm-blog-related__card {
    background: var(--wm-blog-surface);
    border-color: var(--wm-blog-border);
    box-shadow: var(--wm-blog-shadow-sm);
}

.wm-blog-block--comments {
    max-width: var(--wm-container, 1360px);
    margin: 48px auto 0;
    padding: 32px clamp(16px, 3vw, 28px) 0;
    border-top: 2px solid #c5d0dc;
}

.wm-blog-section-title {
    font-size: 1.12rem;
    font-weight: 800;
    color: var(--wm-blog-ink);
    margin: 0 0 1rem;
    line-height: 1.45;
    text-align: right;
    padding-right: 14px;
    border-right: 4px solid var(--wm-blog-teal);
}

.wm-blog-block--highlight .wm-blog-highlight,
.wm-blog-block--tip .wm-blog-callout,
.wm-blog-block--info .wm-blog-callout {
    margin: 0;
}

.wm-blog-block--compare .wm-blog-compare__title,
.wm-blog-block--process .wm-blog-process__title {
    margin-bottom: 1rem;
}

/* highlight callout — L-border style */
.wm-blog-highlight {
    border-radius: var(--wm-blog-radius-md);
    padding: 24px 28px;
    margin: 0;
    border: 1px solid transparent;
    border-right-width: 5px;
    border-bottom-width: 5px;
    border-right-style: solid;
    border-bottom-style: solid;
}

.wm-blog-highlight__intro {
    margin: 0 0 14px;
    font-size: 0.95rem;
    line-height: 1.9;
}

.wm-blog-highlight__list {
    margin: 0 0 16px;
    padding: 0 1.3em 0 0;
    list-style: disc;
}

.wm-blog-highlight__list li {
    margin: 6px 0;
    font-size: 0.92rem;
    line-height: 1.8;
}

.wm-blog-highlight__footer {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.9;
    font-weight: 800;
}

.wm-blog-highlight--green {
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg-soft) 100%);
    border-color: var(--wm-module-soft);
    border-right-color: var(--wm-module-primary);
    border-bottom-color: var(--wm-module-primary-dark);
    color: var(--wm-blog-ink);
}

.wm-blog-highlight--teal {
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg) 100%);
    border-color: var(--wm-module-soft);
    border-right-color: var(--wm-module-primary);
    border-bottom-color: var(--wm-module-primary-dark);
    color: var(--wm-blog-ink);
}

.wm-blog-highlight--gold {
    background: linear-gradient(135deg, #fdecc8 0%, #fff7e6 100%);
    border-color: var(--wm-brand-accent-light);
    border-right-color: var(--wm-module-accent);
    border-bottom-color: var(--wm-brand-accent-dark);
    color: var(--wm-blog-ink);
}

.wm-blog-highlight--blue {
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg-soft) 100%);
    border-color: var(--wm-module-soft);
    border-right-color: var(--wm-module-primary);
    border-bottom-color: var(--wm-module-primary-dark);
    color: var(--wm-blog-ink);
}

/* callouts */
.wm-blog-callout {
    border-radius: var(--wm-blog-radius-md);
    padding: 22px 26px;
    border-width: 1px;
    border-style: solid;
}

.wm-blog-callout--tip {
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg) 55%, var(--wm-module-surface) 100%);
    border: 1px solid var(--wm-blog-tip-border);
    border-right: 5px solid var(--wm-module-primary);
    position: relative;
    padding: 20px 26px 20px 20px;
    padding-right: 52px;
}

.wm-blog-callout--tip::before {
    content: '\f0eb';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: var(--wm-module-primary);
    font-size: 1.15rem;
    position: absolute;
    top: 18px;
    right: 18px;
    margin: 0;
}

.wm-blog-callout__badge {
    display: inline-flex;
    align-items: center;
    margin: 0 0 10px;
    padding: 4px 12px;
    background: var(--wm-module-primary);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    border-radius: 999px;
    line-height: 1.4;
}

.wm-blog-callout--tip p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.85;
    color: var(--wm-blog-ink);
    font-weight: 500;
}

.wm-blog-callout--info {
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg-soft) 55%, var(--wm-module-surface) 100%);
    border: 1px solid var(--wm-blog-info-border);
    border-right: 5px solid var(--wm-module-primary);
}

.wm-blog-callout__title {
    margin: 0 0 14px;
    color: #1e40af;
    border-right-color: #3b82f6;
}

.wm-blog-callout__list {
    margin: 0;
    padding: 0 1.2em 0 0;
    list-style: none;
}

.wm-blog-callout__list li {
    position: relative;
    padding: 6px 0;
    font-size: 0.9rem;
    line-height: 1.7;
    color: #172554;
    font-weight: 500;
}

.wm-blog-callout__list li::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #3b82f6;
    border-radius: 50%;
    margin-left: 10px;
    vertical-align: middle;
}

/* compare table */
.wm-blog-compare {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.wm-blog-compare__title {
    margin: 0 0 16px;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--wm-blog-ink);
}

.wm-blog-compare__scroll {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
}

.wm-blog-compare__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 480px;
    font-size: 0.88rem;
}

.wm-blog-compare__table th {
    background: var(--wm-blog-accent);
    color: #fff;
    padding: 14px 16px;
    font-weight: 700;
    text-align: center;
    border: 1px solid var(--wm-blog-accent);
}

.wm-blog-compare__table th:first-child {
    border-radius: 0 12px 0 0;
    text-align: right;
}

.wm-blog-compare__table th:last-child {
    border-radius: 12px 0 0 0;
}

.wm-blog-compare__table td {
    padding: 12px 16px;
    border: 1px solid var(--wm-blog-border);
    text-align: center;
    vertical-align: middle;
}

.wm-blog-compare__table tbody tr:nth-child(even) td {
    background: var(--wm-brand-pill);
}

.wm-blog-compare__table tbody tr:nth-child(odd) td {
    background: #ffffff;
}

.wm-blog-compare__table td:first-child {
    text-align: right;
    font-weight: 600;
    color: var(--wm-blog-ink);
    background: inherit;
}

.wm-blog-compare__table tr:last-child td:first-child {
    border-radius: 0 0 12px 0;
}

.wm-blog-compare__table tr:last-child td:last-child {
    border-radius: 0 0 0 12px;
}

/* promo */
.wm-blog-promo {
    border-radius: var(--wm-blog-radius-md);
    overflow: hidden;
    background: linear-gradient(120deg, var(--wm-brand-primary-dark) 0%, var(--wm-blog-accent) 42%, var(--wm-brand-purple-soft) 100%);
    box-shadow: 0 12px 36px rgba(79, 70, 229, 0.22);
}

.wm-blog-promo__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    padding: 28px 32px;
}

.wm-blog-promo__badge {
    background: #fff;
    color: var(--wm-blog-accent);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 6px 14px;
    border-radius: 999px;
    white-space: nowrap;
}

.wm-blog-promo__text {
    flex: 1;
    min-width: 200px;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.95rem;
    line-height: 1.75;
    font-weight: 500;
}

/* process — orbital diagram */
.wm-blog-process {
    background: var(--wm-blog-page-bg);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-md);
    padding: 28px 20px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.wm-blog-process__title {
    margin: 0 0 20px;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--wm-blog-ink);
}

.wm-blog-process__orbit {
    position: relative;
    width: min(100%, 440px);
    aspect-ratio: 1;
    margin: 0 auto;
}

.wm-blog-process__ring {
    position: absolute;
    inset: 8%;
    border: 2px dashed #cbd5e1;
    border-radius: 50%;
    pointer-events: none;
}

.wm-blog-process__ring::before {
    content: '';
    position: absolute;
    inset: 18%;
    border: 1px solid var(--wm-blog-border);
    border-radius: 50%;
}

.wm-blog-process__hub {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    margin: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--wm-brand-primary-dark), var(--wm-blog-accent));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 800;
    box-shadow: 0 12px 32px rgba(67, 56, 202, 0.35);
    z-index: 2;
}

.wm-blog-process__node {
    --wm-orbit-r: min(38vw, 168px);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 92px;
    transform: translate(-50%, -50%)
        rotate(calc(360deg / var(--wm-step-count) * var(--wm-step-i) - 90deg))
        translateY(calc(-1 * var(--wm-orbit-r)))
        rotate(calc(-1 * (360deg / var(--wm-step-count) * var(--wm-step-i) - 90deg)));
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    z-index: 1;
}

.wm-blog-process__icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--wm-grad-cta);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    box-shadow: 0 8px 20px var(--wm-brand-glow-strong);
    border: 3px solid #fff;
}

.wm-blog-process__label {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--wm-blog-ink-soft);
    line-height: 1.45;
    text-align: center;
}

/* legacy grid fallback (unused) */
.wm-blog-process__steps {
    display: none;
}

.wm-blog-process__step {
    display: none;
}

/* sidebar */
.wm-blog-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 24px;
}

.wm-blog-sidebar__card {
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-md);
    padding: 20px;
    box-shadow: var(--wm-blog-shadow);
}

.wm-blog-sidebar__card--categories {
    background: linear-gradient(160deg, #ffffff 0%, #f0fdfa 100%);
    border-color: var(--wm-module-soft);
}

.wm-blog-sidebar__cats {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wm-blog-sidebar__cat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--wm-blog-surface-2);
    border: 1px solid var(--wm-blog-border);
    text-decoration: none;
    color: inherit;
    transition: background 0.2s, border-color 0.2s;
}

.wm-blog-sidebar__cat:hover {
    background: var(--wm-brand-pill);
    border-color: var(--wm-module-soft);
}

.wm-blog-sidebar__cat-name {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--wm-blog-ink-soft);
    line-height: 1.5;
}

.wm-blog-sidebar__cat-count {
    flex-shrink: 0;
    min-width: 26px;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--wm-brand-pill);
    color: var(--wm-blog-accent);
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
}

.wm-blog-sidebar__title {
    margin: 0 0 16px;
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--wm-blog-ink);
    padding-right: 10px;
    border-right: 3px solid var(--wm-blog-teal);
    line-height: 1.45;
}

.wm-blog-sidebar__author {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.wm-blog-sidebar__avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--wm-blog-surface-3);
    flex-shrink: 0;
}

.wm-blog-sidebar__author-name {
    display: block;
    font-size: 0.9rem;
    color: var(--wm-blog-ink);
    margin-bottom: 6px;
}

.wm-blog-sidebar__author-bio {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.7;
    color: var(--wm-blog-muted);
}

.wm-blog-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wm-blog-sidebar__post {
    display: flex;
    gap: 12px;
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
}

.wm-blog-sidebar__post:hover {
    opacity: 0.8;
}

.wm-blog-sidebar__thumb {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--wm-blog-surface-2);
}

.wm-blog-sidebar__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wm-blog-sidebar__post-title {
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.55;
    color: var(--wm-blog-ink-soft);
}

.wm-blog-sidebar__empty {
    font-size: 0.82rem;
    color: var(--wm-blog-muted);
}

/* related */
.wm-blog-related {
    max-width: none;
    margin: 0;
}

.wm-blog-related__title {
    text-align: right;
}

.wm-blog-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.wm-blog-related__card {
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-md);
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wm-blog-related__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--wm-blog-shadow);
}

.wm-blog-related__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--wm-blog-surface-2);
}

.wm-blog-related__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.wm-blog-related__card:hover .wm-blog-related__media img {
    transform: scale(1.05);
}

.wm-blog-related__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--wm-blog-border), var(--wm-blog-surface-2));
}

.wm-blog-related__body {
    padding: 16px 18px 20px;
}

.wm-blog-related__body time {
    font-size: 0.75rem;
    color: var(--wm-blog-muted);
}

.wm-blog-related__body h3 {
    margin: 8px 0 0;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.55;
}

.wm-blog-related__body h3 a {
    color: var(--wm-blog-ink);
    text-decoration: none;
}

.wm-blog-related__body h3 a:hover {
    color: var(--wm-blog-accent);
}

/* author box */
.wm-blog-author {
    max-width: none;
    margin: 0;
}

.wm-blog-author__title {
    margin: 0 0 1rem;
}

.wm-blog-author__card {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    background: linear-gradient(135deg, var(--wm-brand-pill) 0%, var(--wm-module-bg-soft) 45%, #ffffff 100%);
    border: 1px solid #c4b5fd;
    border-radius: var(--wm-blog-radius-lg);
    padding: 28px 32px;
    box-shadow: var(--wm-blog-shadow);
}

.wm-blog-author__avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
    flex-shrink: 0;
}

.wm-blog-author__content h3 {
    margin: 0 0 10px;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--wm-blog-ink);
}

.wm-blog-author__content p {
    margin: 0 0 14px;
    font-size: 0.92rem;
    line-height: 1.85;
    color: var(--wm-blog-ink-soft);
}

.wm-blog-author__brand {
    display: inline-flex;
    padding: 6px 14px;
    background: var(--wm-blog-ink);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 999px;
}

/* comments */
.wm-blog-comments {
    max-width: none;
    margin: 0;
}

.wm-blog-comments__title {
    margin: 0 0 1.25rem;
}

.wm-blog-comments__inner {
    background: var(--wm-blog-surface);
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-lg);
    padding: 28px 32px;
    box-shadow: var(--wm-blog-shadow);
}

.wm-blog-comments__inner .comment-list,
.wm-blog-comments__inner .comment-respond {
    margin: 0;
}

.wm-blog-comments__inner .comment-list {
    list-style: none;
    padding: 0;
}

.wm-blog-comments__inner .comment-body {
    padding: 16px 0;
    border-bottom: 1px solid var(--wm-blog-border);
}

.wm-blog-comments__inner .comment-body:last-child {
    border-bottom: none;
}

.wm-blog-comments__inner input[type="text"],
.wm-blog-comments__inner input[type="email"],
.wm-blog-comments__inner input[type="url"],
.wm-blog-comments__inner textarea {
    width: 100%;
    max-width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--wm-blog-border);
    border-radius: var(--wm-blog-radius-sm);
    font-size: 0.9rem;
    background: var(--wm-blog-surface-2);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.wm-blog-comments__inner input:focus,
.wm-blog-comments__inner textarea:focus {
    outline: none;
    border-color: var(--wm-blog-teal);
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.12);
}

.wm-blog-comments__inner .submit,
.wm-blog-comments__inner input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: none;
    border-radius: 999px;
    background: var(--wm-grad-cta);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wm-blog-comments__inner .submit:hover,
.wm-blog-comments__inner input[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px var(--wm-blog-accent-glow);
}

.wm-blog-comments__placeholder {
    margin: 0;
    color: var(--wm-blog-muted);
    font-size: 0.9rem;
}

.wm-blog-sidebar__empty {
    color: var(--wm-blog-muted);
    font-size: 0.88rem;
}

/* desktop — sidebar sticky + article assembly */
@media (min-width: 1025px) {
    :is(
        .elementor-location-single > .e-con.wm-blog-single-layout,
        .elementor-location-single > .e-con.e-parent:has(> .elementor-widget-blogsidebar),
        .elementor-location-single > .e-con.e-parent:has(> .elementor-widget-wmplus-blogsidebar),
        .e-con:has(.wm-blog-page) > .e-con-inner
    ) > :is(.elementor-widget-blogsidebar, .elementor-widget-wmplus-blogsidebar) {
        position: sticky;
        top: 96px;
        z-index: 2;
    }

    .wm-blog-sidebar {
        position: static;
        top: auto;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .wm-blog-prose--assembled > .wm-blog-block--info,
    .wm-blog-prose--assembled > .wm-blog-hero__excerpt,
    .wm-blog-prose--assembled > .wm-blog-block--text {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }

    .wm-blog-prose--assembled > .wm-blog-block-text {
        font-size: 1.05rem;
        line-height: 1.9;
        color: var(--wm-blog-ink);
    }

    .wm-blog-blocks-stack {
        display: contents;
    }

    .wm-blog-prose--assembled > .wm-blog-block--info {
        margin: 0 0 1.25rem;
        padding-top: 0;
        border-top: none;
    }

    .wm-blog-prose--assembled > .wm-blog-toc-host {
        margin: 0 0 1.25rem;
        padding-top: 0;
        border-top: none;
    }

    .wm-blog-prose--assembled > .wm-blog-block {
        margin-top: 1.75rem;
        padding-top: 1.5rem;
        border-top: 1px solid var(--wm-brand-line, #e8e6f5);
    }

    .wm-blog-prose--assembled > .wm-blog-block--promo {
        margin-top: 1.75rem;
        padding-top: 0;
        border-top: none;
    }

    .wm-blog-prose--assembled .wm-blog-promo__inner {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        text-align: start;
    }

    .wm-blog-toc {
        margin: 0 0 1.25rem;
        padding: 20px 22px;
        background: var(--wm-blog-surface);
        border: 1px solid var(--wm-blog-border);
        border-radius: var(--wm-blog-radius-md);
        box-shadow: var(--wm-blog-shadow-sm);
    }

    .wm-blog-toc__title {
        margin: 0 0 14px;
        font-size: 1.05rem;
        font-weight: 800;
        color: var(--wm-blog-ink);
        padding-right: 12px;
        border-right: 4px solid var(--wm-blog-accent);
        line-height: 1.45;
    }

    .wm-blog-toc__list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .wm-blog-toc__item--h3 {
        padding-inline-start: 16px;
    }

    .wm-blog-toc__link {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        border-radius: 10px;
        color: var(--wm-blog-ink-soft);
        text-decoration: none;
        font-size: 0.9rem;
        line-height: 1.55;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .wm-blog-toc__link::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--wm-blog-accent);
        flex-shrink: 0;
        opacity: 0.65;
    }

    .wm-blog-toc__link:hover,
    .wm-blog-toc__link:focus-visible {
        background: var(--wm-blog-surface-3);
        color: var(--wm-blog-accent);
    }

    .wm-blog-block--info {
        margin-top: 0;
    }

    .wm-blog-prose h2,
    .wm-blog-prose h3,
    .wm-blog-section-title {
        scroll-margin-top: 96px;
    }
}

/* responsive */
@media (max-width: 1024px) {
    .wm-blog-layout {
        grid-template-columns: 1fr;
    }

    .wm-blog-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .wm-blog-top {
        margin: 20px auto 28px;
    }

    body.wm-single-app-view .wm-blog-top {
        margin: 8px auto 16px;
    }

    body.wm-single-app-view .wm-blog-sidebar {
        display: none !important;
    }

    body.wm-single-app-view .wm-blog-layout {
        display: block !important;
    }

    body.wm-single-app-view .wm-blog-main {
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -8px 32px rgba(55, 43, 125, 0.08);
        overflow: hidden;
        background: #fff;
        margin-bottom: 12px;
    }

    .wm-blog-hero {
        gap: 16px;
    }

    .wm-blog-hero__meta {
        gap: 12px 16px;
    }

    .wm-blog-hero__title {
        font-size: clamp(1.4rem, 6vw, 1.75rem);
    }

    .wm-blog-article-surface {
        padding: 18px 16px 20px;
    }

    .wm-blog-prose {
        padding: 0;
    }

    .wm-blog-process__node {
        --wm-orbit-r: min(30vw, 118px);
        width: 72px;
    }

    .wm-blog-process__icon {
        width: 40px;
        height: 40px;
        font-size: 0.82rem;
    }

    .wm-blog-process__hub {
        width: 64px;
        height: 64px;
        font-size: 0.7rem;
    }

    .wm-blog-related__grid {
        grid-template-columns: 1fr;
    }

    .wm-blog-sidebar {
        grid-template-columns: 1fr;
    }

    .wm-blog-comments__inner {
        padding: 20px 18px;
    }

    .wm-blog-block--compare,
    .wm-blog-block--process,
    .wm-blog-block--promo,
    .wm-blog-block--related,
    .wm-blog-block--author {
        margin: 1.75rem 0;
        padding-top: 1.25rem;
    }

    .wm-blog-author__card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .wm-blog-promo__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Tables — scroll wrapper, not the table element */
    .wm-blog-table-scroll,
    .wm-blog-compare__scroll,
    .wm-blog-prose figure.wp-block-table,
    .wm-blog-prose figure.wm-blog-table-scroll-host,
    .wm-blog-prose figure:has(> table) {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
    }

    .wm-blog-table-scroll {
        margin: 1.4em 0;
        border-radius: 12px;
    }

    .wm-blog-compare__scroll table,
    .wm-blog-table-scroll table,
    .wm-blog-prose table {
        display: table !important;
        width: max-content;
        min-width: 100%;
        overflow: visible !important;
        margin: 0;
    }

    .wm-blog-prose figure.wp-block-table,
    .wm-blog-prose figure.wm-blog-table-scroll-host,
    .wm-blog-prose figure:has(> table) {
        margin: 1.4em 0;
    }
}

@media (max-width: 480px) {
    .wm-blog-header__meta {
        justify-content: flex-start;
    }

    .wm-blog-process__steps {
        grid-template-columns: 1fr 1fr;
    }
}
