/* ==========================================================================
   BaharLink2 Theme - theme.css  (v3.7.0 — unified design system)
   --------------------------------------------------------------------------
   The single source of truth for the BaharLink2 visual design (OpenVPN
   Connect palette, RTL-first, 8px spacing system).

   Load order: tokens → base → layout → components → style.css → THEME.CSS
   This file loads LAST on purpose so it wins the cascade and the whole
   site renders from ONE consistent design system.

   Everything is written with CSS logical properties so the layout works
   correctly in both RTL (Persian) and LTR.
   ========================================================================== */

/* ============ DESIGN TOKENS — OpenVPN Connect palette ============ */
:root{
    /* Palette - Light */
    --bl-bg:#F5F7FA;
    --bl-surface:#FFFFFF;
    --bl-surface-2:#EEF2F7;
    --bl-surface-3:#E5E9F0;
    --bl-navy:#0E1726;
    --bl-navy-2:#16202C;
    --bl-text:#0F172A;
    --bl-text-secondary:#5B6474;
    --bl-text-muted:#5B6474;
    --bl-text-subtle:#606B7A;
    --bl-text-on-primary:#06281A;

    /* Connect green — the brand action color */
    --bl-connect:#22C55E;
    --bl-connect-hover:#16A34A;
    --bl-connect-highlight:#087231;
    --bl-connect-ink:#087231;
    --bl-connect-text:#06281A;
    --bl-connect-soft:rgba(34,197,94,0.12);

    --bl-link:#2F6BFF;
    --bl-link-hover:#1E54D6;

    /* Brand slots (Customizer overrides these via inline style) */
    --bl-primary:var(--bl-connect);
    --bl-primary-hover:var(--bl-connect-hover);
    --bl-primary-soft:rgba(34,197,94,0.12);
    --bl-accent:var(--bl-navy);
    --bl-accent-hover:#1E293B;
    --bl-accent-soft:rgba(14,23,38,0.08);

    --bl-gradient:linear-gradient(180deg,#0E1726 0%,#122A22 100%);
    --bl-gradient-soft:linear-gradient(180deg,rgba(14,23,38,0.06) 0%,rgba(18,42,34,0.06) 100%);
    --bl-success:#22C55E;
    --bl-success-soft:rgba(34,197,94,0.08);
    --bl-warning:#F59E0B;
    --bl-warning-soft:rgba(245,158,11,0.08);
    --bl-danger:#EF4444;
    --bl-danger-soft:rgba(239,68,68,0.08);
    --bl-info:#2F6BFF;
    --bl-info-soft:rgba(47,107,255,0.08);

    --bl-border:#E5E9F0;
    --bl-border-strong:#CBD5E1;
    --bl-ring:rgba(34,197,94,0.35);

    /* Radii */
    --bl-radius-sm:10px;
    --bl-radius:16px;
    --bl-radius-lg:24px;
    --bl-radius-xl:24px;
    --bl-radius-pill:999px;

    /* Shadows - soft dual-layer */
    --bl-shadow-sm:0 1px 2px rgba(15,23,42,0.04),0 1px 3px rgba(15,23,42,0.06);
    --bl-shadow-md:0 1px 2px rgba(15,23,42,0.04),0 12px 32px rgba(15,23,42,0.08);
    --bl-shadow:0 1px 2px rgba(15,23,42,0.04),0 12px 32px rgba(15,23,42,0.08);
    --bl-shadow-lg:0 4px 8px rgba(15,23,42,0.06),0 24px 48px rgba(15,23,42,0.12);
    --bl-shadow-glow:0 8px 32px rgba(34,197,94,0.25);

    /* Spacing - 8px system (v3.6 design) */
    --bl-space-1:8px;
    --bl-space-2:12px;
    --bl-space-3:16px;
    --bl-space-4:24px;
    --bl-space-5:32px;
    --bl-space-6:48px;
    --bl-space-7:64px;
    --bl-space-8:96px;
    --bl-space-10:80px;
    --bl-space-12:96px;
    --bl-space-16:96px;
    --bl-space-20:120px;
    --bl-space-24:144px;

    /* Section rhythm — ROUND 10: symmetric 56/56 desktop, 40/40 mobile
       (was asymmetric 56/32 → total gap between sections now exactly 112px desktop) */
    --section-y:56px;
    --section-y-bottom:56px;

    /* Typography */
    --bl-font-body:"Vazirmatn",IRANSansX,Tahoma,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    --bl-font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
    --bl-fs-xs:0.75rem;
    --bl-fs-sm:0.875rem;
    --bl-fs-base:1rem;
    --bl-fs-md:1.125rem;
    --bl-fs-lg:1.25rem;
    --bl-fs-xl:1.5rem;
    --bl-fs-2xl:2rem;
    --bl-fs-3xl:2.5rem;
    --bl-lh-normal:1.7;
    --bl-lh-relaxed:1.85;
    --bl-fw-regular:400;
    --bl-fw-medium:500;
    --bl-fw-semibold:600;
    --bl-fw-bold:700;

    /* Container */
    --bl-container:1240px;
    --bl-container-wide:1320px;
    --bl-container-narrow:760px;
    --bl-container-pad:24px;

    /* Header */
    --bl-header-h:76px;
    --bl-header-h-mobile:60px;

    /* Transitions */
    --bl-transition:200ms cubic-bezier(0.4,0,0.2,1);
    --bl-transition-fast:150ms cubic-bezier(0.4,0,0.2,1);
    --bl-transition-slow:350ms cubic-bezier(0.4,0,0.2,1);

    /* Focus ring */
    --bl-focus-ring:0 0 0 3px var(--bl-ring);

    /* Z-index scale */
    --bl-z-sticky:100;
    --bl-z-back-top:90;
    --bl-z-drawer:1000;
    --bl-z-overlay:1100;
    --bl-z-toast:1200;
}

[data-theme="dark"]{
    /* Dark mode - like the OpenVPN Connect app */
    --bl-bg:#0E1726;
    --bl-surface:#16202C;
    --bl-surface-2:#1E2A3A;
    --bl-surface-3:#283648;
    --bl-navy:#0E1726;
    --bl-navy-2:#16202C;
    --bl-text:#E6EAF2;
    --bl-text-secondary:#A8B3C7;
    --bl-text-muted:#A8B3C7;
    --bl-text-subtle:#94A3B8;
    --bl-text-on-primary:#06281A;
    --bl-border:rgba(255,255,255,0.08);
    --bl-border-strong:rgba(255,255,255,0.15);
    --bl-ring:rgba(34,197,94,0.4);
    --bl-shadow-sm:0 1px 2px rgba(0,0,0,0.3);
    --bl-shadow:0 1px 2px rgba(0,0,0,0.4),0 12px 32px rgba(0,0,0,0.5);
    --bl-shadow-md:0 1px 2px rgba(0,0,0,0.4),0 12px 32px rgba(0,0,0,0.5);
    --bl-shadow-lg:0 4px 8px rgba(0,0,0,0.5),0 24px 48px rgba(0,0,0,0.6);
    --bl-connect-highlight:#4ADE80;
    --bl-connect-ink:#4ADE80;
    --bl-primary-soft:rgba(34,197,94,0.15);
    --bl-connect-soft:rgba(34,197,94,0.15);
    --bl-accent-soft:rgba(255,255,255,0.05);
    --bl-success-soft:rgba(34,197,94,0.15);
    --bl-warning-soft:rgba(245,158,11,0.15);
    --bl-danger-soft:rgba(239,68,68,0.15);
    --bl-info-soft:rgba(47,107,255,0.15);
    --bl-link:#5B8DEF;
    --bl-link-hover:#7BA5FF;
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* ============ BASE (element defaults) ============ */
body{
    background:var(--bl-bg);color:var(--bl-text);
    font-family:var(--bl-font-body);font-size:16px;line-height:1.7;font-weight:400;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;text-rendering:optimizeLegibility;
    transition:background var(--bl-transition),color var(--bl-transition);
    min-height:100vh;min-height:100dvh;
}
a{color:var(--bl-link);text-decoration:none;transition:color var(--bl-transition);}
a:hover{color:var(--bl-link-hover);text-decoration:underline;text-underline-offset:3px;}
h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:800;color:var(--bl-text);text-wrap:balance;}
h1{font-size:var(--bl-fs-3xl);}
h2{font-size:var(--bl-fs-2xl);}
h3{font-size:var(--bl-fs-xl);}
h4{font-size:var(--bl-fs-lg);font-weight:700;}
p{margin-bottom:1em;text-wrap:pretty;}
ul,ol{margin-bottom:1em;padding-inline-start:1.5em;}
li{margin-bottom:0.5em;}
button{cursor:pointer;font-family:inherit;background:none;border:none;color:inherit;}
input,textarea,select{font:inherit;color:inherit;}
:focus-visible{outline:2px solid transparent;box-shadow:var(--bl-focus-ring);border-radius:6px;}
::selection{background:var(--bl-primary-soft);color:var(--bl-text);}

/* ============ LAYOUT ============ */
.bl-container{max-width:var(--bl-container);margin-inline:auto;padding-inline:var(--bl-container-pad);}
.bl-container--narrow{max-width:760px;}
.bl-container--wide{max-width:var(--bl-container-wide);}
.bl-main{min-height:60vh;outline:none;}
.bl-section{padding-block:var(--section-y) var(--section-y-bottom);}
.bl-section--compact{padding-block:calc(var(--section-y) * 0.6);}
.bl-section__header{margin-block-end:20px;text-align:center;}
.bl-section__cta{margin-block-start:24px;margin-block-end:0;text-align:center;}
/* ROUND 10 — title bottom gap exactly 20px (was 12px margin + 12px padding = 24):
   the green underline bar now floats inside the margin (bottom:-10px) so the
   DevTools margin-bottom of the title is exactly 20px, never more. */
.bl-section__title{font-size:28px;font-weight:800;margin:0 0 20px;position:relative;display:inline-block;padding-block-end:0;}
.bl-section__title::after{
    content:"";position:absolute;bottom:-10px;inset-inline-start:50%;transform:translateX(-50%);
    width:48px;height:3px;border-radius:var(--bl-radius-pill);background:var(--bl-gradient);
}
.bl-section__subtitle{color:var(--bl-text-secondary);font-size:var(--bl-fs-md);max-width:60ch;margin-inline:auto;}
@media (max-width:639px){
    /* ROUND 10 — sections: uniform 40px top+bottom (mobile gap between sections = 80px ≤ 96) */
    :root{--section-y:40px;--section-y-bottom:40px;}
}
.bl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.bl-skip-link{position:absolute;top:-100px;inset-inline-start:var(--bl-space-3);background:var(--bl-gradient);color:#fff;padding:var(--bl-space-2) var(--bl-space-3);border-radius:var(--bl-radius-sm);z-index:9999;font-weight:700;}
.bl-skip-link:focus{top:var(--bl-space-3);color:#fff;}

/* ============ BUTTONS — OpenVPN Connect style ============ */
.bl-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:var(--bl-space-1);
    padding:12px 24px;font-size:var(--bl-fs-sm);font-weight:700;line-height:1.4;
    text-decoration:none;border:1.5px solid transparent;border-radius:var(--bl-radius-sm);
    cursor:pointer;transition:all var(--bl-transition);min-height:44px;white-space:nowrap;
}
.bl-btn:hover{text-decoration:none;transform:translateY(-1px);}
.bl-btn:active{transform:translateY(0);}
.bl-btn:focus-visible{outline:2px solid transparent;box-shadow:var(--bl-focus-ring);}
/* Primary CTA = connect green with dark text (AA contrast) */
.bl-btn--primary{background:var(--bl-connect);color:var(--bl-connect-text);box-shadow:var(--bl-shadow-glow);}
.bl-btn--primary:hover{background:var(--bl-connect-hover);color:var(--bl-connect-text);box-shadow:0 12px 40px rgba(34,197,94,0.4);}
.bl-btn--gradient{background:var(--bl-connect);color:var(--bl-connect-text);box-shadow:var(--bl-shadow-glow);border-radius:var(--bl-radius-pill);}
.bl-btn--gradient:hover{background:var(--bl-connect-hover);color:var(--bl-connect-text);box-shadow:0 12px 40px rgba(34,197,94,0.4);}
/* Secondary = navy outline */
.bl-btn--ghost{background:transparent;color:var(--bl-navy);border-color:var(--bl-navy);}
.bl-btn--ghost:hover{background:var(--bl-navy);color:#fff;border-color:var(--bl-navy);}
[data-theme="dark"] .bl-btn--ghost{color:#fff;border-color:rgba(255,255,255,0.3);}
[data-theme="dark"] .bl-btn--ghost:hover{background:rgba(255,255,255,0.1);color:#fff;}
.bl-btn--light{background:#fff;color:var(--bl-navy);}
.bl-btn--light:hover{background:var(--bl-surface-2);color:var(--bl-navy);}
.bl-btn--lg{padding:16px 32px;font-size:var(--bl-fs-md);min-height:52px;}
.bl-btn--sm{padding:8px 16px;font-size:var(--bl-fs-xs);min-height:36px;border-radius:var(--bl-radius-sm);}
.bl-btn--block{display:flex;width:100%;}
.bl-icon-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;color:var(--bl-text-secondary);
    border-radius:var(--bl-radius-sm);transition:all var(--bl-transition);
}
.bl-icon-btn:hover{background:var(--bl-surface-2);color:var(--bl-text);}

/* ============ CHIPS ============ */
.bl-chip{
    display:inline-flex;align-items:center;gap:6px;
    padding:4px 12px;background:var(--bl-surface-2);color:var(--bl-text-secondary);
    font-size:var(--bl-fs-xs);font-weight:600;border-radius:var(--bl-radius-pill);
    text-decoration:none;border:1px solid var(--bl-border);transition:all var(--bl-transition);
}
.bl-chip:hover{text-decoration:none;}
.bl-chip--cat{background:var(--bl-primary-soft);color:var(--bl-connect-ink);border-color:transparent;}
.bl-chip--cat:hover{background:var(--bl-gradient);color:#fff;}
.bl-chip--tag{background:var(--bl-surface-2);color:var(--bl-text-secondary);}
.bl-chip--tag:hover{background:var(--bl-primary-soft);color:var(--bl-connect-ink);border-color:transparent;}
.bl-chip--sm{font-size:0.7rem;padding:2px 10px;}

/* ============ HEADER (Glassmorphism) ============ */
.bl-header{
    position:sticky;top:0;z-index:var(--bl-z-sticky);
    background:rgba(246,247,251,0.8);
    backdrop-filter:saturate(180%) blur(12px);
    -webkit-backdrop-filter:saturate(180%) blur(12px);
    border-block-end:1px solid transparent;
    transition:all var(--bl-transition);
}
[data-theme="dark"] .bl-header{background:rgba(11,18,32,0.8);}
.bl-header.is-scrolled{
    border-block-end-color:var(--bl-border);
    box-shadow:0 4px 24px rgba(15,23,42,0.06);
}
.bl-header__inner{
    display:flex;align-items:center;
    height:76px;min-height:76px;gap:24px;
    max-width:var(--bl-container);
    margin-inline:auto;
    padding-inline:var(--bl-container-pad);
    padding-block:0; /* kill layout.css phantom padding-block */
}
/* One horizontal line: every direct child sits on the same vertical
   midpoint — no injected block margins, no vertical transforms. */
.bl-header__inner > *{
    align-self:center;
    margin-block:0;
    transform:none;
}

/* Brand (logo) — text or image, always 44px tall, one line */
.bl-brand{
    display:flex;align-items:center;height:44px;line-height:1;flex-shrink:0;
}
.bl-brand__link{
    display:inline-flex;align-items:center;gap:var(--bl-space-2);
    height:44px;line-height:1;
    color:var(--bl-text);text-decoration:none;font-weight:900;font-size:1.25rem;
    white-space:nowrap;
}
.bl-brand__link:hover{text-decoration:none;color:var(--bl-text);}
.bl-brand__logo-mark{
    width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
    background:var(--bl-gradient);border-radius:var(--bl-radius-sm);color:#fff;
    box-shadow:var(--bl-shadow-glow);flex-shrink:0;
}
.bl-brand__name{font-weight:900;font-size:1.25rem;letter-spacing:-0.02em;color:var(--bl-text);line-height:1;}
.bl-brand__desc{font-size:var(--bl-fs-xs);color:var(--bl-text-muted);display:block;line-height:1.2;}
.bl-brand__text{display:flex;flex-direction:column;justify-content:center;line-height:1.2;}
.bl-brand__title{font-size:var(--bl-fs-md);font-weight:800;color:var(--bl-text);line-height:1.2;}
/* Logos never exceed the 44px row — covers custom-logo images too */
.bl-brand__logo,.bl-brand__logo--dark,.bl-footer__logo,.bl-footer__logo--dark,
.bl-brand .custom-logo,.bl-brand .custom-logo-link img{
    max-height:40px;width:auto;
}
.bl-brand__logo--dark,.bl-footer__logo--dark{display:none;}
[data-theme="dark"] .bl-brand__logo:not(.bl-brand__logo--dark){display:none;}
[data-theme="dark"] .bl-footer__logo:not(.bl-footer__logo--dark){display:none;}
[data-theme="dark"] .bl-brand__logo--dark{display:block;}
[data-theme="dark"] .bl-footer__logo--dark{display:block;}
.bl-brand .custom-logo-link,.bl-footer .custom-logo-link{
    display:inline-flex;align-items:center;height:44px;line-height:1;
}

/* Nav — hugs the brand (RTL: flows right→left exactly like the document).
   No flex:1, no justify-content:center, no row-reverse, no direction:ltr —
   the first item («خانه») sits right beside the logo. */
.bl-nav-primary{
    display:flex;align-items:center;height:44px;line-height:1;
    margin-inline-start:8px; /* 24px flex gap + 8px = 32px logo→nav distance */
    flex-shrink:1;min-width:0;
}
.bl-nav-primary__list{
    display:flex;align-items:center;height:44px;line-height:1;
    gap:4px;list-style:none;margin:0;padding:0;flex-wrap:nowrap;
}
.bl-nav-primary__item{position:relative;list-style:none;margin:0;padding:0;}
.bl-nav-primary__link{
    display:flex;align-items:center;height:44px;
    padding-inline:12px;padding-block:0;margin:0;
    color:var(--bl-text);text-decoration:none;
    border-radius:var(--bl-radius-sm);font-size:14px;font-weight:600;
    line-height:1;white-space:nowrap;
    transition:all var(--bl-transition);
}
.bl-nav-primary__link:hover{background:var(--bl-surface-2);color:var(--bl-connect-ink);text-decoration:none;}
.bl-nav-primary__link.is-current,.bl-nav-primary__link[aria-current="page"]{
    color:var(--bl-connect-ink);background:var(--bl-connect-soft);
}
.bl-nav-primary__toggle{display:none;}
.bl-nav-primary__sub{
    position:absolute;top:100%;inset-inline-start:0;min-width:240px;
    background:var(--bl-surface);border:1px solid var(--bl-border);
    border-radius:var(--bl-radius);box-shadow:var(--bl-shadow-lg);
    padding:var(--bl-space-1);list-style:none;margin:0;
    opacity:0;visibility:hidden;transform:translateY(-4px);
    transition:all var(--bl-transition);z-index:10;
}
.bl-nav-primary__item--has-children:hover > .bl-nav-primary__sub,
.bl-nav-primary__item--has-children:focus-within > .bl-nav-primary__sub{
    opacity:1;visibility:visible;transform:translateY(0);
}
.bl-nav-primary__sub .bl-nav-primary__link{display:block;padding:8px 12px;height:auto;}

/* Header actions — pinned to the far (inline-end) edge by the auto margin */
.bl-header__actions{
    display:flex;align-items:center;gap:12px;height:44px;line-height:1;
    margin-inline-start:auto;margin-inline-end:0;flex-shrink:0;
}
/* Icon buttons: 40×40, inner 20px SVG perfectly centered */
.bl-header__actions .bl-icon-btn{
    width:40px;height:40px;padding:0;margin:0;line-height:1;flex-shrink:0;
}
/* CTA — exactly 44px tall, single line */
.bl-header__cta{
    display:inline-flex;align-items:center;justify-content:center;
    height:44px;min-height:44px;line-height:1;
    padding-block:0;margin:0;
    white-space:nowrap;flex-shrink:0;
}
.bl-header__menu-btn{
    display:none;width:44px;height:44px;align-items:center;justify-content:center;
    border-radius:var(--bl-radius-sm);color:var(--bl-text);cursor:pointer;
}
.bl-header__menu-btn:hover{background:var(--bl-surface-2);}
.bl-header__menu-icon{display:flex;flex-direction:column;gap:4px;width:22px;}
.bl-header__menu-icon span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform var(--bl-transition),opacity var(--bl-transition);}

/* ============ HERO — Two-column with app mockup ============ */
.bl-hero{
    position:relative;padding-block:var(--section-y) var(--section-y-bottom);
    background:var(--bl-bg);overflow:hidden;
}
.bl-hero__bg{
    position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
        radial-gradient(circle at 85% 20%,rgba(34,197,94,0.08) 0%,transparent 40%),
        radial-gradient(circle at 15% 80%,rgba(14,23,38,0.06) 0%,transparent 40%);
}
.bl-hero__bg::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(15,23,42,0.04) 1px,transparent 1px);
    background-size:24px 24px;opacity:0.5;
}
[data-theme="dark"] .bl-hero__bg::before{
    background-image:radial-gradient(circle,rgba(255,255,255,0.04) 1px,transparent 1px);
}
.bl-hero__grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:minmax(0,1fr) 420px;
    gap:var(--bl-space-6);align-items:center;
    max-width:var(--bl-container);margin-inline:auto;padding-inline:var(--bl-container-pad);
}
/* Legacy/landing hero: centered single column (bl-hero__inner) */
.bl-hero__inner{
    position:relative;z-index:1;
    display:flex;flex-direction:column;align-items:center;gap:var(--bl-space-3);
    text-align:center;
}
.bl-hero__content{display:flex;flex-direction:column;gap:var(--bl-space-3);text-align:start;min-width:0;}
.bl-hero__badge{align-self:flex-start;}
.bl-hero__title{
    font-size:clamp(2.75rem,2rem+2.5vw,3.25rem);font-weight:900;line-height:1.2;
    margin:0;letter-spacing:-0.03em;text-align:start;
}
.bl-hero__inner .bl-hero__title{text-align:center;}
.bl-hero__title-highlight{color:var(--bl-connect-highlight);}
.bl-hero__subtitle{
    font-size:18px;color:var(--bl-text-secondary);max-width:50ch;line-height:1.75;margin:0;text-align:start;
}
.bl-hero__inner .bl-hero__subtitle{text-align:center;}
.bl-hero__search{
    display:flex;align-items:center;gap:var(--bl-space-2);
    background:var(--bl-surface);border:1.5px solid var(--bl-border-strong);
    border-radius:var(--bl-radius-pill);
    padding-block:6px;padding-inline-start:20px;padding-inline-end:6px;
    width:100%;max-width:520px;min-width:0;
    box-shadow:var(--bl-shadow);transition:all var(--bl-transition);
}
.bl-hero__search:focus-within{border-color:var(--bl-connect);box-shadow:var(--bl-shadow),var(--bl-focus-ring);}
.bl-hero__search-icon{color:var(--bl-text-muted);flex-shrink:0;}
.bl-hero__search-input{
    flex:1;border:0;background:transparent;padding-block:12px;font-size:var(--bl-fs-md);
    color:var(--bl-text);min-width:0;
}
.bl-hero__search-input::placeholder{color:var(--bl-text-subtle);}
.bl-hero__search-input:focus{outline:none;box-shadow:none;}
/* More specific than the global input[type=search] base styles: the
   enclosing form supplies the border and focus indicator. */
.bl-hero__search input[type="search"],
.bl-search input[type="search"],
.bl-search-overlay__form input[type="search"]{
    width:auto;border:0;background:transparent;box-shadow:none;padding-inline:0;
}
.bl-hero__search input[type="search"]{padding-block:12px;}
.bl-hero__search input[type="search"]:focus,
.bl-search input[type="search"]:focus,
.bl-search-overlay__form input[type="search"]:focus{outline:none;box-shadow:none;}
.bl-hero__search-btn{flex-shrink:0;}
.bl-hero__stats{
    list-style:none;padding:0;margin:var(--bl-space-3) 0 0;
    display:flex;align-items:center;gap:var(--bl-space-4);flex-wrap:wrap;
}
.bl-hero__stat{display:flex;align-items:baseline;gap:8px;}
.bl-hero__stat-value{font-size:24px;font-weight:900;color:var(--bl-text);line-height:1;letter-spacing:-0.02em;}
.bl-hero__stat-label{font-size:var(--bl-fs-sm);color:var(--bl-text-muted);}
.bl-hero__stat-sep{width:1px;height:24px;background:var(--bl-border-strong);}
.bl-hero__cta{
    display:flex;gap:var(--bl-space-3);flex-wrap:wrap;justify-content:center;
    margin-block-start:var(--bl-space-3);
}

/* ============ APP MOCKUP (OpenVPN Connect card) ============ */
.bl-hero__mockup{display:flex;justify-content:center;align-items:center;}
.bl-app-card{
    width:100%;max-width:380px;
    background:var(--bl-navy-2);border-radius:24px;
    box-shadow:0 24px 64px rgba(14,23,38,0.25),0 8px 24px rgba(14,23,38,0.15);
    transform:rotate(-3deg);transition:transform var(--bl-transition-slow);
    overflow:hidden;border:1px solid rgba(255,255,255,0.06);
}
.bl-app-card:hover{transform:rotate(-1deg) translateY(-4px);}
.bl-app-card__header{
    display:flex;align-items:center;gap:var(--bl-space-2);
    padding:14px 20px;background:rgba(0,0,0,0.2);
    border-block-end:1px solid rgba(255,255,255,0.06);
}
.bl-app-card__dots{display:flex;gap:6px;}
.bl-app-card__dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.15);}
.bl-app-card__dots span:nth-child(1){background:#FF5F57;}
.bl-app-card__dots span:nth-child(2){background:#FEBC2E;}
.bl-app-card__dots span:nth-child(3){background:#28C840;}
.bl-app-card__title{
    color:#E6EAF2;font-size:13px;font-weight:700;letter-spacing:0.02em;
    margin-inline-start:auto;font-family:var(--bl-font-mono);
}
.bl-app-card__body{padding:24px;display:flex;flex-direction:column;gap:20px;}
.bl-app-card__server{display:flex;align-items:center;gap:14px;}
.bl-app-card__server-icon{
    width:48px;height:48px;border-radius:12px;
    background:rgba(34,197,94,0.15);color:var(--bl-connect);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.bl-app-card__server-info{flex:1;min-width:0;}
.bl-app-card__server-name{color:#fff;font-size:15px;font-weight:700;line-height:1.3;}
.bl-app-card__server-meta{color:#7C8BAA;font-size:12px;font-family:var(--bl-font-mono);margin-block-start:2px;}
.bl-app-card__status{display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(34,197,94,0.08);border-radius:10px;}
.bl-app-card__status-dot{width:8px;height:8px;border-radius:50%;background:var(--bl-connect);box-shadow:0 0 8px var(--bl-connect);}
.bl-app-card__status-text{color:#A8B3C7;font-size:13px;font-weight:500;}
.bl-app-card__connect{
    display:flex;align-items:center;justify-content:center;gap:8px;
    padding:14px;border-radius:12px;
    background:var(--bl-connect);color:var(--bl-connect-text);
    font-size:15px;font-weight:800;letter-spacing:0.05em;
    cursor:default;border:none;width:100%;
    box-shadow:0 4px 16px rgba(34,197,94,0.3);
}
.bl-app-card__footer{display:flex;gap:var(--bl-space-3);padding-block-start:8px;border-block-start:1px solid rgba(255,255,255,0.06);}
.bl-app-card__stat{flex:1;text-align:center;}
.bl-app-card__stat-label{display:block;color:#7C8BAA;font-size:11px;margin-block-end:2px;}
.bl-app-card__stat-value{display:block;color:#E6EAF2;font-size:14px;font-weight:700;font-family:var(--bl-font-mono);}

/* ============ CARDS ============ */
.bl-cards--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--bl-space-4);}
.bl-card{
    display:flex;flex-direction:column;background:var(--bl-surface);
    border:1px solid var(--bl-border);border-radius:20px;overflow:hidden;
    transition:all var(--bl-transition);position:relative;
}
.bl-card:hover{
    transform:translateY(-4px);box-shadow:var(--bl-shadow-lg);border-color:var(--bl-primary);
}
.bl-card__media{
    display:block;aspect-ratio:16/9;overflow:hidden;
    background:var(--bl-surface-2);position:relative;
}
.bl-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--bl-transition-slow);}
.bl-card:hover .bl-card__img{transform:scale(1.08);}
.bl-card__fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.9);}
.bl-card__fallback-icon{width:48px;height:48px;opacity:0.7;}
.bl-card__cat{position:absolute;top:var(--bl-space-2);inset-inline-start:var(--bl-space-2);z-index:2;}
.bl-card__body{padding:var(--bl-space-3);display:flex;flex-direction:column;gap:var(--bl-space-2);flex:1;}
.bl-card__title{font-size:17px;font-weight:700;line-height:1.4;margin:0;}
.bl-card__title a,.bl-card__link{color:var(--bl-text);text-decoration:none;}
.bl-card__title a:hover,.bl-card__link:hover{color:var(--bl-connect-ink);text-decoration:none;}
.bl-card__excerpt{
    color:var(--bl-text-secondary);font-size:var(--bl-fs-sm);line-height:1.7;margin:0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bl-card__meta{
    display:flex;flex-wrap:wrap;gap:var(--bl-space-2);color:var(--bl-text-muted);
    font-size:var(--bl-fs-xs);margin-block-start:auto;align-items:center;
}
.bl-card__meta-item{display:inline-flex;align-items:center;gap:4px;}

/* Compact card — legacy horizontal variant (kept for other lists) */
.bl-card--compact{flex-direction:row;align-items:stretch;}
.bl-card__media--compact{flex:0 0 96px;aspect-ratio:1;border-radius:12px;overflow:hidden;margin-block:12px;margin-inline-end:12px;}
.bl-card__media--compact .bl-card__img,
.bl-card__media--compact .bl-card__fallback{width:100%;height:100%;object-fit:cover;border-radius:12px;aspect-ratio:auto;}
.bl-card__body--compact{padding:12px;gap:6px;}
.bl-card__title--compact{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bl-card__meta--compact{font-size:11px;gap:8px;}
.bl-cards--compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--bl-space-3);}

/* Snippet card (v3.7.3) — vertical card for «عیب‌یابی‌های رایج»:
   image on top (16:9, 16px top corners, NO chip overlay), body with chip →
   2-line title → date row; hover lift; equal heights via grid stretch. */
.bl-cards--snippet{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch;}
.bl-card--snippet{padding:0;border-radius:16px;}
.bl-card--snippet:hover{transform:translateY(-4px);}
.bl-card__media--snippet{aspect-ratio:16/9;width:100%;border-radius:16px 16px 0 0;}
.bl-card__body--snippet{padding:16px;display:flex;flex-direction:column;flex:1;min-height:0;}
.bl-chip--snippet{
    align-self:flex-start;margin:0;
    padding:3px 10px;background:var(--bl-connect-soft);color:var(--bl-connect-ink);
    font-size:12px;font-weight:700;border-radius:var(--bl-radius-pill);
    text-decoration:none;border:none;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bl-chip--snippet:hover{text-decoration:none;background:var(--bl-connect);color:var(--bl-connect-text);}
.bl-card__title--snippet{
    font-size:15px;font-weight:700;line-height:1.9;margin:10px 0 0;
    text-align:start;word-break:normal;overflow-wrap:break-word;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bl-card__title--snippet a{color:inherit;text-decoration:none;}
.bl-card__title--snippet a:hover{color:var(--bl-connect-ink);text-decoration:none;}
.bl-card__meta--snippet{
    display:flex;align-items:center;gap:6px;margin:8px 0 0;
    font-size:12px;color:var(--bl-text-muted);
}
.bl-card__meta--snippet svg{flex-shrink:0;color:var(--bl-text-subtle);}

/* Service card (services page template, v3.7.4) — 44px connect-soft icon
   top-right (RTL-start), title 16px/800, description 13px, outline button.
   ROUND 10: padding 24px → 16px (card padding standard). */
.bl-card--service{
    padding:var(--bl-space-3);text-align:start;gap:var(--bl-space-2);
    border-radius:20px;align-items:flex-start;
}
.bl-card__service-icon{
    width:44px;height:44px;border-radius:12px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--bl-connect-soft);color:var(--bl-connect-ink);
    flex-shrink:0;
}
.bl-card__service-title{font-size:16px;font-weight:800;margin:0;line-height:1.6;}
.bl-card__service-text{color:var(--bl-text-secondary);font-size:13px;line-height:1.8;margin:0;}
.bl-card__service-cta{margin-block-start:auto;align-self:flex-start;}

/* ============ BREADCRUMB ============ */
/* ROUND 10 — margin-bottom 16px (was 24px). Standalone variant (404 page);
   the single-post page now uses the .bl-post-topline row (see SINGLE POST). */
.bl-breadcrumb{padding:0;margin-block-end:16px;font-size:13px;color:var(--bl-text-muted);}
.bl-breadcrumb--inline{margin-block-end:0;} /* inline variant inside .bl-page-head — gap handles spacing */
.bl-breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px;}
.bl-breadcrumb__item{display:inline-flex;align-items:center;gap:4px;}
.bl-breadcrumb__link{color:var(--bl-text-muted);text-decoration:none;padding:4px 8px;border-radius:6px;transition:all var(--bl-transition);}
.bl-breadcrumb__link:hover{color:var(--bl-connect-ink);background:var(--bl-surface-2);text-decoration:none;}
.bl-breadcrumb__current{color:var(--bl-text);font-weight:600;padding:4px 8px;}
.bl-breadcrumb__sep{color:var(--bl-text-subtle);opacity:0.5;display:inline-flex;align-items:center;}
/* The icon is chevron-left which is already correct for RTL flow; mirror for LTR. */
[dir="ltr"] .bl-breadcrumb__sep{transform:scaleX(-1);}

/* ============ PAGE HEAD — global internal-page template (v3.7.4) ============
   Flat white block INSIDE the central container: breadcrumb at the RTL-start
   edge (right), H1 30px/900 right-aligned, description 15px muted,
   padding-block 32px 24px, hairline bottom border. Never centered, never
   floating, no gray bar below. Used by page.php, archive.php, index.php,
   search.php and the services template. */
.bl-page-head{
    display:flex;flex-direction:column;align-items:flex-start;gap:10px;
    padding-block:32px 24px;
    border-block-end:1px solid var(--bl-border);
    margin-block-end:var(--bl-space-4);
}
.bl-page-head .bl-breadcrumb{align-self:flex-start;}
.bl-page-head__title{
    font-size:30px;font-weight:900;margin:0;color:var(--bl-text);
    text-align:start;letter-spacing:-0.02em;line-height:1.5;
}
.bl-page-head__desc{
    font-size:15px;color:var(--bl-text-muted);margin:0;
    line-height:1.9;text-align:start;max-width:70ch;
}
/* Archive extras kept for elements that live INSIDE .bl-page-head now */
.bl-archive__count{color:var(--bl-text-muted);font-size:13px;margin:0;}
/* v3.7.5 — blog archive intro (the «بلاگ» page content) + category filter */
.bl-archive__intro{
    font-size:15px;color:var(--bl-text-muted);
    line-height:2;text-align:start;max-width:70ch;
    margin:12px 0 0;
}
.bl-archive__intro p{margin:0;}
.bl-archive__intro p + p{margin-block-start:10px;}
.bl-archive__filter{
    display:flex;flex-wrap:wrap;gap:8px;align-items:center;
    margin:18px 0 0;padding-block-start:18px;
    border-block-start:1px dashed var(--bl-border);
}
.bl-chip--filter{
    display:inline-flex;align-items:center;gap:6px;
    padding:6px 14px;border-radius:var(--bl-radius-pill);
    background:var(--bl-surface);border:1px solid var(--bl-border);
    color:var(--bl-text-secondary);font-size:13px;font-weight:700;
    text-decoration:none;transition:all var(--bl-transition);
}
.bl-chip--filter:hover{
    background:var(--bl-connect-soft);border-color:var(--bl-connect);
    color:var(--bl-connect-ink);text-decoration:none;
}
.bl-chip--filter.is-active{
    background:var(--bl-connect-soft);border-color:var(--bl-connect);
    color:var(--bl-connect-ink);
}
/* v3.7.5 — services page SEO intro (page content before the pricing) */
.bl-services__intro{margin-block-end:8px;}
@media (max-width:639px){
    .bl-page-head{padding-block:24px 20px;gap:8px;}
    .bl-page-head__title{font-size:24px;}
    .bl-archive__filter{gap:6px;}
    .bl-chip--filter{padding:5px 12px;font-size:12px;}
}

/* ============ PAGINATION ============ */
.bl-pagination{margin-block-start:var(--bl-space-5);}
.bl-pagination__list{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:4px;flex-wrap:wrap;}
.bl-pagination__link,.bl-pagination__dots{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:44px;height:44px;padding-inline:14px;color:var(--bl-text);text-decoration:none;
    border:1px solid var(--bl-border);border-radius:var(--bl-radius-sm);
    font-size:var(--bl-fs-sm);font-weight:600;transition:all var(--bl-transition);
}
.bl-pagination__link:hover{background:var(--bl-surface-2);color:var(--bl-connect-ink);border-color:var(--bl-primary);text-decoration:none;}
.bl-pagination__link.is-current{background:var(--bl-gradient);color:#fff;border-color:transparent;box-shadow:var(--bl-shadow-glow);}
.bl-pagination__dots{border:0;color:var(--bl-text-subtle);}

/* ============ SEARCH (inline + 404/no-results) ============ */
.bl-search{
    display:flex;align-items:center;gap:var(--bl-space-1);background:var(--bl-surface);
    border:1px solid var(--bl-border-strong);border-radius:var(--bl-radius);
    padding-block:6px;padding-inline-start:6px;padding-inline-end:16px;
    transition:all var(--bl-transition);
}
.bl-search:focus-within{border-color:var(--bl-primary);box-shadow:var(--bl-focus-ring);}
.bl-search__icon{color:var(--bl-text-subtle);flex-shrink:0;}
.bl-search__input{flex:1;border:0;background:transparent;padding-block:8px;font-size:var(--bl-fs-sm);color:var(--bl-text);min-width:0;}
.bl-search__input:focus{outline:none;box-shadow:none;}
.bl-search--inline{border-radius:var(--bl-radius);max-width:560px;}
.bl-search--inline .bl-search__input{padding-block:12px;}

/* ============ SINGLE POST — 2 column grid ============ */
/* ROUND 10 — the body starts flush at the top of .bl-single (padding 0):
   all header→title spacing is owned by .bl-single padding-block-start
   (32px desktop / 24px mobile) + the .bl-post-topline row. */
/* Use one measure for the complete post column. The font-size on the grid
   makes 75ch resolve using the same font metrics as the prose and image;
   its two children are reset to the normal site text size below. */
.bl-article__body{
    --bl-post-prose-size:18px;
    --bl-post-prose-width:75ch;
    --bl-post-sidebar-width:320px;
    --bl-post-column-gap:40px;
    display:grid;grid-template-columns:minmax(0,1fr) var(--bl-post-sidebar-width);
    gap:var(--bl-post-column-gap);align-items:start;
    font-size:var(--bl-post-prose-size);
    max-width:var(--bl-container);
    max-width:min(var(--bl-container),calc(var(--bl-post-prose-width) + var(--bl-post-sidebar-width) + var(--bl-post-column-gap) + var(--bl-container-pad) + var(--bl-container-pad)));
    margin-inline:auto;padding-block-start:0;padding-inline:var(--bl-container-pad);
}
.bl-article__main,.bl-post-sidebar{font-size:16px;}
.bl-article__main{min-width:0;}

/* ============ SINGLE POST — header block (v3.7.1 / ROUND 10 topline) ============ */
/* Structure: topline (breadcrumb + category chip) → H1 → lead → meta
   → 24px → featured image. Titles and metadata can wrap on narrow screens.
   Everything is aligned to the main column (right in RTL). Breadcrumbs and
   the category chip share a row where space allows. */
.bl-article__header{text-align:start;padding:0;margin:0;}
.bl-post-topline{
    display:flex;align-items:flex-start;justify-content:space-between;
    gap:12px;flex-wrap:wrap;
}
/* ROUND 10 fix — the breadcrumb NEVER wraps: single line, current page
   ellipsized (full title lives in the H1 + title attr right below anyway).
   This is what keeps the row at one ~26px line so header→H1 ≤ 80/64px. */
.bl-post-topline .bl-breadcrumb{
    margin-block-end:16px;flex:1;min-width:0;align-self:flex-start;
}
.bl-post-topline .bl-breadcrumb__list{flex-wrap:nowrap;overflow:hidden;min-width:0;}
.bl-post-topline .bl-breadcrumb__item{flex-shrink:0;}
.bl-post-topline .bl-breadcrumb__item:last-child{flex-shrink:1;min-width:0;overflow:hidden;display:flex;}
.bl-post-topline .bl-breadcrumb__link,
.bl-post-topline .bl-breadcrumb__current{
    padding-block:1px;line-height:1.4;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
.bl-post-topline .bl-article__chip{margin-block-end:16px;flex-shrink:0;line-height:1.4;max-width:100%;overflow-wrap:anywhere;}
.bl-article__chip{
    display:inline-flex;align-items:center;gap:6px;
    padding:6px 14px;background:var(--bl-connect-soft);
    color:var(--bl-connect-ink);font-size:13px;font-weight:700;
    border-radius:999px;text-decoration:none;border:none;
    margin-block-end:12px;transition:all var(--bl-transition);
}
.bl-article__chip:hover{background:var(--bl-connect);color:var(--bl-connect-text);text-decoration:none;}
/* Keep the entire title visible instead of truncating it on small screens. */
.bl-article__title{
    display:block;font-size:clamp(19px,2.1vw,28px);font-weight:900;line-height:1.5;
    color:var(--bl-navy);margin:0;text-align:start;letter-spacing:-0.02em;max-width:100%;
    white-space:normal;overflow-wrap:anywhere;
}
[data-theme="dark"] .bl-article__title{color:var(--bl-text);}
.bl-article__title bdi{unicode-bidi:isolate;}
/* Show the full excerpt within the same measure, including on phones. */
.bl-article__lead{
    font-size:16px;color:var(--bl-text-muted);line-height:1.9;
    margin:12px 0 0;text-align:start;max-width:100%;overflow-wrap:anywhere;
}
/* Metadata may wrap; do not clip the author, date or reading time. */
.bl-article__meta{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 10px;
    min-height:40px;margin-block-start:16px;text-align:start;
}
.bl-article__meta .bl-meta{
    display:inline-flex;align-items:center;gap:6px;min-height:32px;max-width:100%;
    font-size:13px;line-height:1.4;color:var(--bl-text-muted);
    flex-shrink:0;min-width:0;
}
.bl-article__meta .bl-meta__value{min-width:0;overflow-wrap:anywhere;}
.bl-article__meta .bl-meta + .bl-meta{position:relative;padding-inline-start:10px;}
.bl-article__meta .bl-meta + .bl-meta::before{
    content:"";position:absolute;inset-inline-start:0;
    top:50%;transform:translateY(-50%);
    width:1px;height:20px;background:var(--bl-border-strong);
}
.bl-meta__avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover;}
/* First-letter avatar — never an empty or broken gray circle. */
.bl-meta__avatar-fallback{
    display:inline-flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:50%;flex-shrink:0;
    background:var(--bl-connect-soft);color:var(--bl-navy);
    font-size:14px;font-weight:800;line-height:1;
}
[data-theme="dark"] .bl-meta__avatar-fallback{color:var(--bl-text);}
.bl-meta__value{color:var(--bl-text-muted);}
.bl-meta a{color:var(--bl-text-muted);text-decoration:none;transition:color var(--bl-transition);}
.bl-meta a:hover{color:var(--bl-connect-ink);text-decoration:none;}
/* (v3.7.1) gradient separator removed — thumb margin is the exact 24px gap. */
/* ch depends on font size: the image and prose share both size and measure.
   This prevents the featured image from extending past the text on desktop. */
.bl-article__thumb{
    margin:24px 0 0;width:100%;max-width:var(--bl-post-prose-width);
    font-size:var(--bl-post-prose-size);box-sizing:border-box;
}
.bl-article__thumb-img{
    width:100%;aspect-ratio:16/9;object-fit:cover;
    border-radius:20px;
    box-shadow:0 1px 2px rgba(15,23,42,0.04),0 12px 32px rgba(15,23,42,0.08);
}
.bl-article__thumb-caption{
    font-size:12px;color:var(--bl-text-subtle);text-align:center;
    margin-block-start:8px;
}
.bl-article__content{min-width:0;width:100%;}
.bl-article__content.bl-prose{
    font-size:var(--bl-post-prose-size);max-width:var(--bl-post-prose-width);
}


/* MK embeds light boxes and a blue link color inline. Keep these readable in
   dark mode without altering stored article HTML or its other inline styles. */
.bl-article__content .mk-key-takeaways,
.bl-article__content .mk-toc{color:#0F172A;}
[data-theme="dark"] .bl-article__content .mk-mid-image figcaption{color:var(--bl-text-muted) !important;}
[data-theme="dark"] .bl-article__content a[style*="#0073aa" i]{color:#7DD3FC !important;}
[data-theme="dark"] .bl-article__content .mk-key-takeaways a[style*="#0073aa" i],
[data-theme="dark"] .bl-article__content .mk-toc a[style*="#0073aa" i],
[data-theme="dark"] .bl-article__content [style*="#f0f6fc" i] a[style*="#0073aa" i]{color:#0073AA !important;}

/* ============ PROSE ============ */
.bl-prose{color:var(--bl-text);font-size:18px;line-height:2.1;max-width:75ch;}
.bl-prose > * + *{margin-block-start:var(--bl-space-3);}
.bl-prose h2{
    margin-block-start:var(--bl-space-6);scroll-margin-top:96px;
    font-size:26px;font-weight:800;line-height:1.4;
    padding-inline-start:14px;border-inline-start:4px solid var(--bl-connect);
}
.bl-prose h3{margin-block-start:var(--bl-space-5);scroll-margin-top:96px;font-size:20px;font-weight:700;line-height:1.4;}
.bl-prose h4{font-size:18px;font-weight:700;margin-block-start:var(--bl-space-4);}
.bl-prose ul,.bl-prose ol{padding-inline-start:1.5rem;margin:var(--bl-space-2) 0;}
.bl-prose li{margin-block-end:var(--bl-space-1);}
.bl-prose a{color:var(--bl-connect-ink);text-decoration:underline;text-underline-offset:3px;}
.bl-prose a:hover{color:var(--bl-text);}
.bl-prose img{border-radius:var(--bl-radius);margin-block:var(--bl-space-3);}
.bl-prose figcaption{text-align:center;color:var(--bl-text-subtle);font-size:var(--bl-fs-xs);margin-block-start:var(--bl-space-1);}
.bl-prose blockquote{
    margin:var(--bl-space-3) 0;padding:var(--bl-space-3) var(--bl-space-4);
    border-inline-start:4px solid var(--bl-primary);background:var(--bl-primary-soft);
    border-radius:var(--bl-radius);color:var(--bl-text-secondary);font-style:italic;
}
.bl-prose blockquote p:last-child{margin-block-end:0;}
.bl-prose pre{
    background:var(--bl-surface-2);padding:var(--bl-space-3);border-radius:var(--bl-radius);
    overflow-x:auto;direction:ltr;text-align:left;font-size:var(--bl-fs-sm);
    border:1px solid var(--bl-border);
}
.bl-prose code{font-family:var(--bl-font-mono);background:var(--bl-surface-3);padding:2px 6px;border-radius:6px;direction:ltr;unicode-bidi:embed;font-size:0.9em;}
.bl-prose pre code{background:none;padding:0;}

/* TABLE — full width, gradient header */
.bl-prose .wp-block-table,.bl-prose table{
    width:100%;max-width:100%;border-collapse:collapse;
    margin:var(--bl-space-3) 0;font-size:var(--bl-fs-sm);display:table;table-layout:auto;
}
.bl-prose figure.wp-block-table,.bl-prose .bl-table-wrap{
    margin:var(--bl-space-3) 0;overflow-x:auto;border-radius:var(--bl-radius);
    border:1px solid var(--bl-border);
}
.bl-prose thead{background:var(--bl-gradient);color:#fff;}
.bl-prose th{color:#fff;font-weight:700;border-color:rgba(255,255,255,0.15);}
.bl-prose th,.bl-prose td{padding:12px 16px;border:1px solid var(--bl-border);text-align:start;}
.bl-prose tbody tr:nth-child(even){background:var(--bl-surface-2);}
.bl-prose tbody tr:hover{background:var(--bl-primary-soft);}

/* Post pagination (wp_link_pages) */
.bl-article__pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block-start:var(--bl-space-3);}
.bl-article__pages-link{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:36px;height:36px;padding-inline:10px;
    border:1px solid var(--bl-border);border-radius:var(--bl-radius-sm);
    font-size:var(--bl-fs-sm);font-weight:600;text-decoration:none;color:var(--bl-text);
}
.bl-article__pages-link:hover,.bl-article__pages-link.is-current{background:var(--bl-primary-soft);border-color:var(--bl-primary);color:var(--bl-connect-ink);text-decoration:none;}
.bl-article__pages > .page-numbers{display:inline-flex;align-items:center;gap:6px;margin-inline-end:8px;color:var(--bl-text-muted);font-size:var(--bl-fs-sm);}

/* ============ CALLOUTS ============ */
.bl-callout{
    display:grid;grid-template-columns:auto 1fr;gap:var(--bl-space-2);
    padding:var(--bl-space-3) var(--bl-space-4);border-radius:var(--bl-radius);
    border-inline-start:4px solid var(--bl-info);background:var(--bl-info-soft);
    margin:var(--bl-space-3) 0;
}
.bl-callout--tip{border-inline-start-color:var(--bl-success);background:var(--bl-success-soft);}
.bl-callout--warning{border-inline-start-color:var(--bl-warning);background:var(--bl-warning-soft);}
.bl-callout--security{border-inline-start-color:var(--bl-danger);background:var(--bl-danger-soft);}
.bl-callout--info{border-inline-start-color:var(--bl-info);background:var(--bl-info-soft);}
.bl-callout__icon{color:var(--bl-info);flex-shrink:0;}
.bl-callout--tip .bl-callout__icon{color:var(--bl-success);}
.bl-callout--warning .bl-callout__icon{color:var(--bl-warning);}
.bl-callout--security .bl-callout__icon{color:var(--bl-danger);}
.bl-callout__body{min-width:0;}
.bl-callout__label{margin:0 0 4px;font-size:var(--bl-fs-sm);font-weight:700;}
.bl-callout__content{font-size:var(--bl-fs-sm);line-height:1.75;}

/* ============ POST SIDEBAR — separate cards per category ============ */
.bl-post-sidebar{position:sticky;top:96px;align-self:start;padding:0;display:flex;flex-direction:column;gap:var(--bl-space-3);}
.bl-post-sidebar__widget{
    padding:var(--bl-space-3);
    background:var(--bl-surface);border:1px solid var(--bl-border);
    border-radius:var(--bl-radius);box-shadow:var(--bl-shadow-sm);
}
.bl-post-sidebar__widget-title{
    font-size:var(--bl-fs-sm);font-weight:800;margin:0 0 var(--bl-space-2);color:var(--bl-text);
    padding-block-end:var(--bl-space-1);border-block-end:2px solid var(--bl-connect);
}
/* Category card (v3.7.3) — colored header band + white body */
.bl-post-sidebar__widget.bl-post-sidebar__cat-card{padding:0;border-radius:10px;overflow:hidden;}
.bl-post-sidebar__cat-card{display:flex;flex-direction:column;}
.bl-post-sidebar__cat-header{
    display:flex;align-items:center;gap:8px;
    padding:8px 12px;background:var(--bl-connect-soft);color:var(--bl-connect-ink);
}
.bl-post-sidebar__cat-icon{color:inherit;flex-shrink:0;display:inline-flex;}
.bl-post-sidebar__cat-title{font-size:14px;font-weight:800;margin:0;flex:1;min-width:0;line-height:1.6;}
.bl-post-sidebar__cat-title a{color:inherit;text-decoration:none;}
.bl-post-sidebar__cat-title a:hover{text-decoration:underline;}
.bl-post-sidebar__cat-pill{
    display:inline-flex;align-items:center;padding:2px 10px;
    background:var(--bl-connect);color:var(--bl-connect-text);
    border-radius:var(--bl-radius-pill);font-size:12px;font-weight:700;white-space:nowrap;
}
.bl-post-sidebar__cat-posts{list-style:none;padding:10px 12px 12px;margin:0;display:flex;flex-direction:column;gap:2px;background:var(--bl-surface);}
.bl-post-sidebar__cat-posts li{padding:0;margin:0;}
.bl-post-sidebar__post-link{
    display:flex;align-items:center;justify-content:space-between;gap:var(--bl-space-1);
    padding:8px 10px;border-radius:8px;color:var(--bl-text);text-decoration:none;
    transition:all var(--bl-transition);
}
.bl-post-sidebar__post-link:hover{background:var(--bl-primary-soft);color:var(--bl-connect-ink);text-decoration:none;}
.bl-post-sidebar__post-title{
    font-size:14px;font-weight:500;line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    flex:1;
}
.bl-post-sidebar__post-chevron{color:var(--bl-text-subtle);flex-shrink:0;transition:color var(--bl-transition);}
.bl-post-sidebar__post-link:hover .bl-post-sidebar__post-chevron{color:var(--bl-connect-ink);}

/* TOC */
.bl-toc__mobile{background:var(--bl-surface);border-radius:var(--bl-radius);padding:var(--bl-space-3);border:1px solid var(--bl-border);}
.bl-toc__title{display:flex;align-items:center;justify-content:space-between;font-size:var(--bl-fs-sm);font-weight:800;cursor:pointer;list-style:none;color:var(--bl-text);}
.bl-toc__title::-webkit-details-marker{display:none;}
.bl-toc__list{list-style:none;padding:0;margin:var(--bl-space-2) 0 0;display:flex;flex-direction:column;gap:2px;counter-reset:bl-toc;}
.bl-toc__list > li{counter-increment:bl-toc;margin:0;}
.bl-toc__list > li > a{
    display:block;padding:8px 12px;color:var(--bl-text-muted);text-decoration:none;
    font-size:var(--bl-fs-sm);border-radius:8px;border-inline-start:2px solid transparent;
    transition:all var(--bl-transition);
}
.bl-toc__list > li > a::before{content:counter(bl-toc) ". ";color:var(--bl-text-subtle);font-variant-numeric:tabular-nums;margin-inline-end:4px;}
.bl-toc__list > li > a:hover,.bl-toc__list > li > a.is-active{color:var(--bl-connect-ink);background:var(--bl-primary-soft);border-inline-start-color:var(--bl-primary);text-decoration:none;}
.bl-toc__list > li > ul{list-style:none;padding-inline-start:var(--bl-space-3);margin:0;}
.bl-toc__list > li > ul > li > a{font-size:var(--bl-fs-xs);padding-block:4px;}
.bl-toc[hidden]{display:none;}
html.js .bl-toc:not([hidden]){display:block;}

/* CTA box — navy gradient */
.bl-post-sidebar__cta{
    padding:var(--bl-space-4);
    background:linear-gradient(180deg,#0E1726 0%,#122A22 100%);
    color:#E6EAF2;border-radius:var(--bl-radius);
    text-align:center;box-shadow:var(--bl-shadow);
}
.bl-post-sidebar__cta-title{color:#fff;font-size:18px;font-weight:800;margin:0 0 var(--bl-space-1);}
.bl-post-sidebar__cta-text{color:rgba(230,234,242,0.8);font-size:14px;line-height:1.6;margin:0 0 var(--bl-space-3);}
.bl-post-sidebar__cta .bl-btn{margin-block-end:var(--bl-space-1);width:100%;}
.bl-post-sidebar__cta .bl-btn:last-child{margin-block-end:0;}
.bl-post-sidebar__cta .bl-btn--ghost{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.25);}
.bl-post-sidebar__cta .bl-btn--ghost:hover{background:rgba(255,255,255,0.2);color:#fff;}

/* ============ ARTICLE FOOTER (tags + share) ============ */
.bl-article__footer{width:100%;margin:var(--bl-space-5) 0 0;padding-block-start:var(--bl-space-4);border-block-start:1px solid var(--bl-border);}
.bl-article__tags ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--bl-space-1);}
.bl-article__tags li{margin:0;}
.bl-share{display:flex;align-items:center;gap:var(--bl-space-3);margin:var(--bl-space-3) 0 0;flex-wrap:wrap;}
.bl-share__label{color:var(--bl-text-muted);font-size:var(--bl-fs-sm);}
.bl-share__list{list-style:none;padding:0;margin:0;display:flex;gap:var(--bl-space-1);}
.bl-share__link{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:var(--bl-radius-sm);
    background:var(--bl-surface-2);color:var(--bl-text-muted);text-decoration:none;
    transition:all var(--bl-transition);border:1px solid var(--bl-border);cursor:pointer;
}
.bl-share__link:hover{background:var(--bl-gradient);color:#fff;text-decoration:none;border-color:transparent;box-shadow:var(--bl-shadow-glow);}
.bl-share__link--copy.is-copied{background:var(--bl-success);color:#fff;border-color:transparent;}

/* Author box (v3.7.3) — standalone block after related posts */
.bl-author-box{
    display:grid;grid-template-columns:64px 1fr;gap:var(--bl-space-3);
    padding:var(--bl-space-4);background:var(--bl-surface);
    border:1px solid var(--bl-border);border-radius:var(--bl-radius);
    margin:var(--bl-space-5) 0 0;box-shadow:var(--bl-shadow-sm);
}
.bl-author-box__avatar{grid-row:1;}
.bl-author-box__avatar-img{border-radius:50%;width:64px;height:64px;border:3px solid var(--bl-surface-3);}
.bl-author-box__name{font-size:var(--bl-fs-md);margin:0 0 var(--bl-space-1);font-weight:700;}
.bl-author-box__name a{color:var(--bl-text);text-decoration:none;}
.bl-author-box__name a:hover{color:var(--bl-connect-ink);}
.bl-author-box__bio{color:var(--bl-text-secondary);font-size:var(--bl-fs-sm);line-height:1.75;margin:0 0 var(--bl-space-2);}
.bl-author-box__meta{font-size:var(--bl-fs-xs);color:var(--bl-text-subtle);margin:0 0 var(--bl-space-2);}
.bl-author-box__link{
    display:inline-flex;align-items:center;gap:0.35em;
    font-size:var(--bl-fs-sm);color:var(--bl-connect-ink);text-decoration:none;
}
.bl-author-box__link:hover{text-decoration:underline;color:var(--bl-connect-ink);}

/* ============ RELATED POSTS (inside the main column, v3.7.3) ============ */
.bl-article__related{margin-block-start:var(--bl-space-6);}
.bl-article__related-title{font-size:20px;font-weight:800;margin:0 0 var(--bl-space-4);text-align:start;color:var(--bl-text);letter-spacing:-0.01em;}
.bl-article__related .bl-cards--grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--bl-space-4);}

/* ============ COMMENTS (v3.7.3) — right-aligned, full width of the main column ============
   Last block of the post: glued under the author box (margin-top 32). */
.bl-comments{margin-block-start:32px;text-align:start;}
.bl-comments__title{margin:0 0 var(--bl-space-4);font-size:20px;font-weight:800;text-align:start;color:var(--bl-text);}
.bl-comments__list{list-style:none;padding:0;margin:0 0 var(--bl-space-5);display:flex;flex-direction:column;gap:12px;}
/* Comment card — avatar inline-start (right in RTL), body beside it */
.bl-comment{margin:0;padding:16px;background:var(--bl-surface);border:1px solid var(--bl-border);border-radius:12px;box-shadow:var(--bl-shadow-sm);}
.bl-comment__body{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;}
.bl-comment__avatar{grid-column:1;grid-row:1;min-width:0;}
.bl-comment__avatar .avatar,.bl-comment__avatar img{width:48px;height:48px;border-radius:50%;display:block;object-fit:cover;}
.bl-comment__main{grid-column:2;grid-row:1;min-width:0;}
.bl-comment__head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 6px;}
.bl-comment__author{font-size:14px;font-weight:800;color:var(--bl-text);}
.bl-comment__author a{color:inherit;text-decoration:none;}
.bl-comment__author a:hover{color:var(--bl-connect-ink);text-decoration:none;}
.bl-comment__date{font-size:12px;color:var(--bl-text-muted);}
.bl-comment__content{font-size:14px;line-height:1.9;color:var(--bl-text);text-align:start;}
.bl-comment__content p{margin:0 0 8px;}
.bl-comment__content p:last-child{margin-block-end:0;}
.bl-comment__pending{font-size:12px;font-weight:700;color:var(--bl-warning);margin:0 0 8px;}
.bl-comment__reply{margin:8px 0 0;text-align:start;}
.bl-comment__reply a{
    display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--bl-radius-pill);
    background:var(--bl-surface-2);color:var(--bl-text-secondary);
    font-size:12px;font-weight:700;text-decoration:none;transition:all var(--bl-transition);
}
.bl-comment__reply a:hover{background:var(--bl-primary-soft);color:var(--bl-connect-ink);text-decoration:none;}
.bl-comments__list .children{list-style:none;padding-inline-start:20px;margin:12px 0 0;display:flex;flex-direction:column;gap:12px;}
.bl-comments__list .children .bl-comment{background:var(--bl-surface-2);}
/* Empty state — right-aligned message inside a card */
.bl-comments__empty{
    background:var(--bl-surface);border:1px dashed var(--bl-border-strong);border-radius:12px;
    padding:var(--bl-space-4);margin:0 0 var(--bl-space-4);text-align:start;
}
.bl-comments__empty p{margin:0;color:var(--bl-text-muted);font-size:14px;text-align:start;}
/* Comment form — full width of the column, right-aligned labels */
.comment-respond{margin-block-start:var(--bl-space-5);}
.comment-reply-title{font-size:16px;font-weight:800;margin:0 0 var(--bl-space-3);text-align:start;color:var(--bl-text);}
.comment-reply-title small{font-size:12px;font-weight:600;margin-inline-start:8px;}
.comment-reply-title #cancel-comment-reply-link{color:var(--bl-danger);text-decoration:none;}
.bl-comments__form{
    margin-block-start:var(--bl-space-2);text-align:start;background:var(--bl-surface);
    border:1px solid var(--bl-border);border-radius:var(--bl-radius);
    padding:var(--bl-space-4);box-shadow:var(--bl-shadow-sm);width:100%;
}
.bl-comments__notes{font-size:12px;color:var(--bl-text-muted);margin:0 0 var(--bl-space-3);text-align:start;}
.bl-comments__field{margin-block-end:var(--bl-space-3);text-align:start;}
.bl-comments__field label{display:block;margin-block-end:6px;font-weight:700;font-size:14px;text-align:start;color:var(--bl-text);}
.bl-comments__field input,.bl-comments__field textarea{
    width:100%;padding:10px 14px;border:1px solid var(--bl-border-strong);
    border-radius:12px;font-family:inherit;font-size:var(--bl-fs-sm);
    background:var(--bl-surface);color:var(--bl-text);text-align:start;
    transition:all var(--bl-transition);
}
.bl-comments__field input:focus,.bl-comments__field textarea:focus{outline:none;border-color:var(--bl-primary);box-shadow:var(--bl-focus-ring);}
.bl-comments__closed{padding:var(--bl-space-3);background:var(--bl-surface-2);border-radius:var(--bl-radius);text-align:start;color:var(--bl-text-muted);}
/* Submit row — green button at the LEFT end of the form (RTL flex-end).
   The button carries .bl-btn--primary (solid green); the extra rules pin
   geometry regardless of which class WP prints. */
.bl-comments__form .form-submit{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:var(--bl-space-3) 0 0;}
.bl-comments__form .form-submit .submit,
.bl-comments__form .form-submit button{
    display:inline-flex;align-items:center;justify-content:center;
    padding:12px 24px;font-size:var(--bl-fs-sm);font-weight:700;
    background:var(--bl-connect);color:var(--bl-connect-text);
    border:1.5px solid transparent;border-radius:var(--bl-radius-sm);
    cursor:pointer;min-height:44px;box-shadow:var(--bl-shadow-glow);
    transition:all var(--bl-transition);
}
.bl-comments__form .form-submit .submit:hover,
.bl-comments__form .form-submit button:hover{background:var(--bl-connect-hover);color:var(--bl-connect-text);}
.bl-comments__form .logged-in-as{font-size:12px;color:var(--bl-text-muted);margin:0 0 var(--bl-space-3);text-align:start;}
.bl-comments__form .logged-in-as a{color:var(--bl-link);text-decoration:none;}

/* ============ PLATFORMS — Segmented Control ============ */
.bl-platforms{background:var(--bl-surface);border:1px solid var(--bl-border);border-radius:var(--bl-radius-lg);overflow:hidden;box-shadow:var(--bl-shadow-sm);}
.bl-platforms__tabs{
    display:flex;overflow-x:auto;background:var(--bl-surface-2);
    padding:6px;gap:4px;scrollbar-width:none;
}
.bl-platforms__tabs::-webkit-scrollbar{display:none;}
.bl-platforms__tab{
    display:inline-flex;align-items:center;gap:8px;padding:10px 16px;
    color:var(--bl-text-secondary);font-size:var(--bl-fs-sm);font-weight:700;
    white-space:nowrap;background:transparent;border:none;cursor:pointer;
    border-radius:var(--bl-radius-sm);transition:all var(--bl-transition);position:relative;
}
.bl-platforms__tab:hover{color:var(--bl-text);background:rgba(255,255,255,0.5);}
[data-theme="dark"] .bl-platforms__tab:hover{background:rgba(255,255,255,0.05);}
.bl-platforms__tab.is-active{
    background:var(--bl-surface);color:var(--bl-connect-ink);
    box-shadow:var(--bl-shadow-sm);
}
[data-theme="dark"] .bl-platforms__tab.is-active{background:var(--bl-surface-3);}
.bl-platforms__panel{padding:var(--bl-space-5);}
.bl-platforms__panel[hidden],.js .bl-platforms__panel:not(.is-active){display:none;}
.no-js .bl-platforms__tabs{display:none;}
.no-js .bl-platforms__panel + .bl-platforms__panel{border-block-start:1px solid var(--bl-border);}
.bl-platforms__panel-title{margin:0 0 var(--bl-space-3);font-size:var(--bl-fs-lg);font-weight:800;}
.bl-platforms__links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--bl-space-1);}
.bl-platforms__links a{
    display:flex;align-items:center;justify-content:space-between;
    padding:var(--bl-space-2) var(--bl-space-3);color:var(--bl-text);text-decoration:none;
    background:var(--bl-surface-2);border-radius:var(--bl-radius-sm);
    transition:all var(--bl-transition);
}
.bl-platforms__links a:hover{background:var(--bl-primary-soft);color:var(--bl-connect-ink);text-decoration:none;}
.bl-platforms__links a svg{color:var(--bl-text-subtle);transition:color var(--bl-transition);}
.bl-platforms__links a:hover svg{color:var(--bl-connect-ink);}
.bl-platforms__empty{
    text-align:center;padding:var(--bl-space-5);color:var(--bl-text-muted);
    font-size:var(--bl-fs-sm);
}
.bl-platforms__empty-icon{
    width:48px;height:48px;margin:0 auto var(--bl-space-2);
    color:var(--bl-text-subtle);
}

/* ============ FAQ ============ */
.bl-faq__item{border:1px solid var(--bl-border);border-radius:var(--bl-radius);margin-block-end:var(--bl-space-1);background:var(--bl-surface);overflow:hidden;transition:all var(--bl-transition);}
.bl-faq__item:hover{border-color:var(--bl-border-strong);}
/* Question — 15px/700 right-aligned + rotating chevron (v3.7.4 spec) */
.bl-faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--bl-space-2);padding:var(--bl-space-3) var(--bl-space-4);cursor:pointer;font-size:15px;font-weight:700;color:var(--bl-text);list-style:none;text-align:start;}
.bl-faq__q::-webkit-details-marker{display:none;}
.bl-faq__q .bl-icon{color:var(--bl-text-muted);transition:transform var(--bl-transition);flex-shrink:0;}
.bl-faq__item[open] .bl-faq__q{border-block-end:1px solid var(--bl-border);color:var(--bl-connect-ink);}
.bl-faq__item[open] .bl-faq__q .bl-icon{transform:rotate(180deg);}
/* Answer — 14px, line-height 2 */
.bl-faq__a{padding:var(--bl-space-3) var(--bl-space-4);color:var(--bl-text-secondary);font-size:14px;line-height:2;}
.bl-faq__a p:last-child{margin-block-end:0;}

/* ============ CTA BAND ============ */
.bl-cta-band{
    position:relative;background:var(--bl-gradient);color:#fff;
    padding-block:var(--section-y) var(--section-y-bottom);text-align:center;overflow:hidden;
}
.bl-cta-band::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle,rgba(255,255,255,0.1) 1px,transparent 1px);
    background-size:24px 24px;opacity:0.5;
}
.bl-cta-band__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--bl-space-3);}
.bl-cta-band__text{display:flex;flex-direction:column;align-items:center;gap:var(--bl-space-2);}
.bl-cta-band__action{display:flex;flex-direction:column;align-items:center;gap:var(--bl-space-2);}
.bl-cta-band__title{color:#fff;font-size:28px;font-weight:800;margin:0;}
.bl-cta-band__subtitle{color:rgba(255,255,255,0.9);font-size:var(--bl-fs-md);max-width:50ch;margin:0;}
@media (min-width:1024px){
    .bl-cta-band__inner{flex-direction:row;justify-content:space-between;text-align:start;gap:var(--bl-space-6);}
    .bl-cta-band__text{align-items:flex-start;}
    .bl-cta-band__action{align-items:flex-end;}
}

/* ============ CODE BLOCKS (v3.6 style) ============ */
.bl-code{margin-block:var(--bl-space-4);background:var(--bl-surface);border:1px solid var(--bl-border);border-radius:var(--bl-radius);overflow:hidden;}
.bl-code__bar{
    display:flex;align-items:center;justify-content:space-between;
    padding:var(--bl-space-2) var(--bl-space-4);
    background:var(--bl-surface-2);border-block-end:1px solid var(--bl-border);
    font-size:var(--bl-fs-xs);
}
.bl-code__lang{color:var(--bl-text);font-family:var(--bl-font-mono);font-weight:600;}
.bl-code__lang--muted{color:var(--bl-text-subtle);font-weight:400;}
.bl-code__copy{
    display:inline-flex;align-items:center;gap:var(--bl-space-1);
    padding:var(--bl-space-1) var(--bl-space-2);
    color:var(--bl-text-muted);border-radius:var(--bl-radius-sm);
    font-size:var(--bl-fs-xs);transition:background var(--bl-transition),color var(--bl-transition);
}
.bl-code__copy:hover{background:var(--bl-surface-3);color:var(--bl-text);}
.bl-code__copy.is-copied{color:var(--bl-success);}
.bl-code__pre{
    margin:0;padding:var(--bl-space-4);
    background:var(--bl-surface);overflow-x:auto;
    font-size:var(--bl-fs-sm);line-height:1.85;
}
.bl-code__code{font-family:var(--bl-font-mono);color:var(--bl-text);direction:ltr;text-align:left;unicode-bidi:embed;}

/* ============ TROUBLESHOOTING ============ */
.bl-trouble__steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--bl-space-3);}
.bl-trouble__step{
    display:grid;grid-template-columns:40px 1fr;gap:var(--bl-space-3);
    padding:var(--bl-space-3) var(--bl-space-4);
    border-radius:var(--bl-radius);background:var(--bl-surface);
    border:1px solid var(--bl-border);border-inline-start:4px solid var(--bl-border);
}
.bl-trouble__step--symptom{border-inline-start-color:var(--bl-danger);background:var(--bl-danger-soft);}
.bl-trouble__step--cause{border-inline-start-color:var(--bl-warning);background:var(--bl-warning-soft);}
.bl-trouble__step--fix{border-inline-start-color:var(--bl-success);background:var(--bl-success-soft);}
.bl-trouble__num{
    width:40px;height:40px;border-radius:50%;
    background:var(--bl-surface);color:var(--bl-text);
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:var(--bl-fs-md);
    border:1px solid var(--bl-border-strong);
}
.bl-trouble__title{font-size:var(--bl-fs-sm);margin:0 0 var(--bl-space-2);color:var(--bl-text);font-weight:700;}
.bl-trouble__body{min-width:0;}
.bl-trouble__content{font-size:var(--bl-fs-sm);line-height:1.85;}

/* ============ FOOTER (site-footer — v3.6.0) ============ */
.site-footer{
    --footer-bg:#0E1726;
    --footer-surface:#16202C;
    --footer-text:#E6EAF0;
    --footer-muted:#9AA7B8;
    --footer-line:rgba(255,255,255,0.08);
    --footer-accent:#22C55E;
    --footer-accent-soft:rgba(34,197,94,0.14);
    --footer-transition:200ms cubic-bezier(0.4,0,0.2,1);

    background:var(--footer-bg);color:var(--footer-text);
    /* ROUND 10 — footer top spacing: exactly 64px desktop / 40px mobile
       (was margin-top 48 + padding-top 24 = 72px of dead space). */
    margin-block-start:0;position:relative;padding-block-start:64px;
    border-block-start:2px solid transparent;
    border-image:linear-gradient(90deg,#22C55E,#2F6BFF) 1;
}
.site-footer__top-bar{display:none;}
.site-footer__inner{
    max-width:1240px;margin-inline:auto;padding-inline:24px;
}
/* Grid columns are fluid and accommodate both WordPress footer menus. */
.site-footer__grid{
    --footer-link-columns:3;
    display:grid;
    grid-template-columns:minmax(200px,1.5fr) repeat(var(--footer-link-columns),minmax(0,1fr));
    gap:clamp(20px,3vw,40px);
    width:100%;
    align-items:start;
    padding-block-end:0;
}
.site-footer__grid--no-contact{--footer-link-columns:2;}
.site-footer__grid--has-secondary{--footer-link-columns:4;}
.site-footer__grid--no-contact.site-footer__grid--has-secondary{--footer-link-columns:3;}
.site-footer__col{min-width:0;}
.site-footer__col-title{position:relative;}
.site-footer__col-title{
    font-size:14px;font-weight:800;color:#fff;
    margin:0 0 20px;padding:0;display:block;
}
.site-footer__col-title::after{
    content:"";display:block;width:32px;height:3px;
    background:var(--footer-accent);border-radius:2px;
    margin-block-start:8px;margin-inline-start:0;
}
.site-footer__col-toggle{
    display:none;align-items:center;justify-content:center;
    background:none;border:0;color:inherit;cursor:pointer;
    width:40px;height:40px;padding:0;
}
.site-footer__col-chevron{transition:transform var(--footer-transition);}
.site-footer__col-toggle[aria-expanded="true"] .site-footer__col-chevron{transform:rotate(180deg);}
.site-footer__col-body[hidden]{display:none !important;}
.site-footer__col--brand > *{margin-inline-start:0;}
.site-footer__brand{display:flex;align-items:center;gap:12px;margin-block-end:16px;}
.site-footer__brand-mark{
    width:40px;height:40px;border-radius:10px;
    background:linear-gradient(180deg,#22C55E,#16A34A);
    color:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 16px rgba(34,197,94,0.3);
    flex-shrink:0;
}
.site-footer__brand-name{font-size:20px;font-weight:900;color:#fff;letter-spacing:-0.02em;}
.site-footer__brand-desc{font-size:14px;color:var(--footer-muted);line-height:1.7;margin:0 0 20px;max-width:320px;}
.site-footer__social{display:flex;gap:10px;margin-block-start:20px;margin-block-end:0;padding:0;list-style:none;}
.site-footer__social-link{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;
    border:1px solid var(--footer-line);background:transparent;
    color:#fff;text-decoration:none;flex-shrink:0;
    transition:all var(--footer-transition);
}
.site-footer__social-link:hover{
    background:var(--footer-accent);color:#06281A;
    transform:translateY(-3px);border-color:var(--footer-accent);
    box-shadow:0 8px 24px rgba(34,197,94,0.3);
}
.site-footer__link-list{list-style:none;padding:0;margin:0;}
.site-footer__link-list li{margin:0;}
.site-footer__link-list a{
    display:flex;align-items:center;gap:8px;
    min-height:40px;height:auto;padding:6px 0;color:var(--footer-muted);text-decoration:none;
    font-size:14px;line-height:1.7;overflow-wrap:anywhere;
    transition:color var(--footer-transition);position:relative;
}
.site-footer__link-text{
    transition:transform var(--footer-transition);
    min-width:0;white-space:normal;overflow-wrap:anywhere;flex:1;
}
.site-footer__link-list a::before{
    content:"";position:absolute;inset-inline-start:-12px;top:50%;transform:translateY(-50%);
    width:0;height:1.5px;background:var(--footer-accent);transition:width var(--footer-transition);
}
.site-footer__link-list a:hover{color:#fff;text-decoration:none;}
.site-footer__link-list a:hover .site-footer__link-text{transform:translateX(-4px);}
[dir="ltr"] .site-footer__link-list a:hover .site-footer__link-text{transform:translateX(4px);}
.site-footer__link-list a:hover::before{width:8px;}
.site-footer__cat-count{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:28px;height:22px;padding-inline:6px;
    background:var(--footer-accent-soft);color:var(--footer-accent);
    border-radius:999px;font-size:12px;font-weight:700;flex-shrink:0;
    margin-inline-start:8px;
}
.site-footer__empty{color:var(--footer-muted);font-style:italic;font-size:14px;}
.site-footer__contact-list{list-style:none;padding:0;margin:0;}
.site-footer__contact-list li{
    display:flex;align-items:center;gap:10px;
    min-height:40px;height:auto;padding-block:6px;min-width:0;
    font-size:14px;color:var(--footer-text);overflow-wrap:anywhere;
}
.site-footer__contact-icon{
    display:flex;align-items:center;justify-content:center;
    width:20px;height:20px;color:var(--footer-accent);flex-shrink:0;
}
.site-footer__contact-list a{color:var(--footer-text);text-decoration:none;transition:color var(--footer-transition);}
.site-footer__contact-list a:hover{color:var(--footer-accent);text-decoration:none;}
.site-footer__trust-bar{
    display:flex;justify-content:center;gap:16px;flex-wrap:wrap;
    /* ROUND 11 — restore breathing around the trust pills (user: «چرا چسبیده‌اند»).
       Round 10 zeroed this padding, so the pills sat flush on the grid columns
       above AND directly on the bottom-bar border line below (both gaps = 0px,
       measured). 32px above + 32px below, desktop. */
    padding-block:32px;
}
.site-footer__trust-pill{
    display:inline-flex;align-items:center;gap:8px;
    height:40px;padding-inline:20px;
    background:rgba(255,255,255,0.04);border:1px solid var(--footer-line);
    border-radius:999px;color:var(--footer-text);font-size:13px;font-weight:600;
    white-space:nowrap;transition:all var(--footer-transition);
}
.site-footer__trust-pill svg{color:var(--footer-accent);flex-shrink:0;}
.site-footer__trust-pill:hover{border-color:var(--footer-accent);transform:translateY(-2px);}
.site-footer__bottom{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding-block:20px;border-block-start:1px solid var(--footer-line);min-height:64px;
    flex-wrap:nowrap;
}
.site-footer__copyright{font-size:13px;color:var(--footer-muted);margin:0;overflow-wrap:anywhere;}
.site-footer__bottom-links{display:flex;align-items:center;gap:24px;flex-wrap:nowrap;}
.site-footer__bottom-links a{
    color:var(--footer-muted);text-decoration:none;font-size:13px;white-space:nowrap;
    transition:color var(--footer-transition);
}
.site-footer__bottom-links a:hover{color:#fff;text-decoration:none;}
.site-footer__back-to-top{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--footer-muted);background:none;border:none;
    font-size:13px;font-family:inherit;cursor:pointer;white-space:nowrap;
    transition:color var(--footer-transition);
}
.site-footer__back-to-top:hover{color:var(--footer-accent);}
.site-footer__powered{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--footer-muted);font-size:12px;white-space:nowrap;
}
.site-footer__powered svg{color:var(--footer-accent);flex-shrink:0;}
/* WordPress widget areas may contain blocks, lists, long links and forms. */
.site-footer__widgets{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
    gap:32px;margin-block-start:32px;padding-block-start:28px;
    border-block-start:1px solid var(--footer-line);
}
.site-footer__widget-col,.site-footer__widget-col .bl-widget{min-width:0;overflow-wrap:anywhere;}
.site-footer__widget-col .bl-widget + .bl-widget{margin-block-start:24px;}
.site-footer__widget-col h2,.site-footer__widget-col h3{color:#fff;font-size:15px;margin:0 0 12px;}
.site-footer__widget-col ul{list-style:none;margin:0;padding:0;}
.site-footer__widget-col li{margin-block:8px;}
.site-footer__widget-col a{color:var(--footer-text);}
.site-footer__widget-col a:hover{color:var(--footer-accent);}
.site-footer__widget-col img{max-width:100%;height:auto;}
.site-footer a:focus-visible,
.site-footer button:focus-visible{
    outline:2px solid var(--footer-accent);outline-offset:2px;border-radius:4px;
}
/* Responsive footer */
@media (max-width:1023px){
    .site-footer__grid{grid-template-columns:1fr 1fr;gap:32px;}
    .site-footer__col--brand{grid-column:1/-1;}
}
@media (max-width:639px){
    /* ROUND 10 — footer top padding 40px mobile (was 20px) */
    .site-footer{padding-block-start:40px;}
    .site-footer__grid{grid-template-columns:1fr;gap:0;padding-block-end:0;}
    .site-footer__col{padding-block:16px;border-block-end:1px solid var(--footer-line);text-align:center;}
    .site-footer__col:last-of-type{border-block-end:none;}
    .js .site-footer__col-toggle{display:inline-flex;position:absolute;inset-inline-end:0;top:-10px;}
    .site-footer__col-toggle .site-footer__col-chevron{display:block;width:16px;height:16px;flex-shrink:0;}
    .site-footer__col-title{text-align:center;margin-block-end:12px;}
    .site-footer__col-title::after{margin-inline:auto;}
    .site-footer__link-list a{justify-content:center;}
    .site-footer__link-list a::before{display:none;}
    .site-footer__link-list a:hover .site-footer__link-text{transform:none;}
    .site-footer__contact-list li{justify-content:center;}
    .site-footer__contact-icon{width:auto;height:auto;}
    .site-footer__widgets{grid-template-columns:1fr;text-align:center;}
    .site-footer__brand{justify-content:center;}
    .site-footer__brand-desc{text-align:center;max-width:none;}
    .site-footer__social{justify-content:center;}
    .site-footer__trust-bar{gap:12px;padding-block:24px;} /* ROUND 11 — was 0; pills↔bottom-bar breathing, mobile */
    .site-footer__bottom{flex-direction:column;text-align:center;gap:12px;min-height:auto;padding-block:20px;flex-wrap:wrap;}
    .site-footer__bottom-links{justify-content:center;gap:16px;flex-wrap:wrap;}
}
@media (prefers-reduced-motion:reduce){
    .site-footer *{transition:none !important;animation:none !important;}
}

/* ============ DRAWER (off-canvas) ============ */
.bl-drawer{position:fixed;inset:0;z-index:var(--bl-z-drawer);display:none;}
.bl-drawer[hidden]{display:none;}
.bl-drawer.is-open{display:block;}
.bl-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity 300ms cubic-bezier(0.4,0,0.2,1);}
.bl-drawer.is-open .bl-drawer__backdrop{opacity:1;}
.bl-drawer__panel{
    position:fixed;inset-block:0;inset-inline-start:auto;inset-inline-end:0;
    width:min(320px,85vw);background:var(--bl-surface);
    box-shadow:var(--bl-shadow-lg);display:flex;flex-direction:column;
    transform:translateX(100%);transition:transform 300ms cubic-bezier(0.4,0,0.2,1);
}
/* RTL: the panel sits on the LEFT edge, so hide it by moving LEFT (-100%). */
[dir="rtl"] .bl-drawer__panel{transform:translateX(-100%);}
.bl-drawer.is-open .bl-drawer__panel{transform:translateX(0);}
.bl-drawer__header{
    display:flex;align-items:center;justify-content:space-between;
    padding:var(--bl-space-3);border-block-end:1px solid var(--bl-border);min-height:60px;
}
.bl-drawer__title{font-size:var(--bl-fs-lg);margin:0;}
.bl-drawer__close{flex-shrink:0;}
.bl-drawer__body{flex:1;overflow-y:auto;padding:var(--bl-space-2);}
.bl-drawer__body::-webkit-scrollbar{width:6px;}
.bl-drawer__nav{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0;}
.bl-drawer__link{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 16px;color:var(--bl-text);text-decoration:none;
    font-weight:600;font-size:15px;border-radius:12px;
    transition:all var(--bl-transition);cursor:pointer;list-style:none;
}
.bl-drawer__link::-webkit-details-marker{display:none;}
.bl-drawer__link:hover{background:var(--bl-surface-2);color:var(--bl-connect-ink);text-decoration:none;}
.bl-drawer__accordion-toggle svg{transition:transform var(--bl-transition);}
.bl-drawer__accordion[open] .bl-drawer__accordion-toggle svg{transform:rotate(180deg);}
.bl-drawer__sub{display:flex;flex-direction:column;gap:2px;padding:4px 0;padding-inline-start:16px;}
.bl-drawer__sub-link{
    display:flex;align-items:center;justify-content:space-between;
    padding:10px 14px;color:var(--bl-text-secondary);text-decoration:none;
    font-size:14px;border-radius:8px;transition:all var(--bl-transition);
}
.bl-drawer__sub-link:hover{background:var(--bl-surface-2);color:var(--bl-connect-ink);text-decoration:none;}
/* Native WordPress mobile menus and their nested links. */
.bl-drawer__menu,.bl-drawer__menu .sub-menu{list-style:none;margin:0;padding:0;}
.bl-drawer__menu a{display:block;padding:14px 16px;color:var(--bl-text);text-decoration:none;font-weight:600;font-size:15px;border-radius:12px;overflow-wrap:anywhere;}
.bl-drawer__menu a:hover,.bl-drawer__menu a:focus-visible{background:var(--bl-surface-2);color:var(--bl-connect-ink);}
.bl-drawer__menu .sub-menu{padding-inline-start:16px;}
.bl-drawer__menu .sub-menu a{padding:10px 14px;font-size:14px;color:var(--bl-text-secondary);}
.bl-drawer__menu .current-menu-item > a{color:var(--bl-connect-ink);background:var(--bl-connect-soft);}
.bl-drawer__sub-count{color:var(--bl-text-subtle);font-size:12px;}
.bl-drawer__footer{padding:var(--bl-space-3);border-block-start:1px solid var(--bl-border);display:flex;flex-direction:column;gap:var(--bl-space-1);}
.bl-drawer__theme-toggle{width:100%;}

/* ============ SEARCH OVERLAY ============ */
.bl-search-overlay{position:fixed;inset:0;z-index:var(--bl-z-overlay);background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:flex-start;justify-content:center;padding:80px var(--bl-space-3) var(--bl-space-3);}
.bl-search-overlay[hidden]{display:none;}
.bl-search-overlay.is-open{display:flex;}
.bl-search-overlay__panel{
    background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid var(--bl-border);border-radius:var(--bl-radius-lg);
    box-shadow:var(--bl-shadow-lg);width:100%;max-width:640px;padding:var(--bl-space-3);
    max-height:80vh;overflow-y:auto;
}
[data-theme="dark"] .bl-search-overlay__panel{background:rgba(18,26,43,0.95);}
.bl-search-overlay__form{display:flex;align-items:center;gap:var(--bl-space-2);padding:var(--bl-space-2) var(--bl-space-3);border:1.5px solid var(--bl-border-strong);border-radius:var(--bl-radius);background:var(--bl-surface);}
.bl-search-overlay__form:focus-within{border-color:var(--bl-primary);box-shadow:var(--bl-focus-ring);}
.bl-search-overlay__input{flex:1;border:0;background:transparent;padding-block:8px;font-size:var(--bl-fs-md);min-width:0;color:var(--bl-text);font-family:inherit;}
.bl-search-overlay__input:focus{outline:none;box-shadow:none;}
.bl-search-overlay__icon{color:var(--bl-text-subtle);flex-shrink:0;}
.bl-search-overlay__close{flex-shrink:0;}
.bl-search-overlay__suggestions{margin-block-start:var(--bl-space-2);}
.bl-search-overlay__heading{font-size:var(--bl-fs-xs);color:var(--bl-text-subtle);text-transform:uppercase;letter-spacing:0.05em;margin:var(--bl-space-3) 0 var(--bl-space-1);font-weight:700;}
.bl-search-overlay__quick-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;}
.bl-search-overlay__quick-links a{display:block;padding:10px 14px;color:var(--bl-text);text-decoration:none;border-radius:8px;font-size:var(--bl-fs-sm);transition:all var(--bl-transition);}
.bl-search-overlay__quick-links a:hover{background:var(--bl-surface-2);text-decoration:none;}

/* ============ THEME TOGGLE ============ */
.bl-theme-toggle{position:relative;display:flex;align-items:center;height:44px;line-height:1;}
.bl-theme-toggle__btn{position:relative;}
.bl-theme-toggle__icon{position:absolute;top:50%;left:50%;translate:-50% -50%;transition:opacity var(--bl-transition),transform var(--bl-transition);}
[data-theme="auto"] .bl-theme-toggle__icon--auto,
[data-theme="light"] .bl-theme-toggle__icon--light,
[data-theme="dark"] .bl-theme-toggle__icon--dark{opacity:1;transform:rotate(0);}
[data-theme="auto"] .bl-theme-toggle__icon--light,
[data-theme="auto"] .bl-theme-toggle__icon--dark,
[data-theme="light"] .bl-theme-toggle__icon--auto,
[data-theme="light"] .bl-theme-toggle__icon--dark,
[data-theme="dark"] .bl-theme-toggle__icon--auto,
[data-theme="dark"] .bl-theme-toggle__icon--light{opacity:0;transform:rotate(-90deg);}
.bl-theme-toggle__menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;background:var(--bl-surface);border:1px solid var(--bl-border);border-radius:var(--bl-radius);box-shadow:var(--bl-shadow-lg);padding:6px;min-width:180px;list-style:none;margin:0;z-index:var(--bl-z-toast);}
.bl-theme-toggle__menu[hidden]{display:none;}
.bl-theme-toggle__option{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;color:var(--bl-text);border-radius:8px;font-size:var(--bl-fs-sm);text-align:start;transition:background var(--bl-transition);background:none;border:none;cursor:pointer;font-family:inherit;}
.bl-theme-toggle__option:hover{background:var(--bl-surface-2);}
.bl-theme-toggle__option[aria-pressed="true"]{background:var(--bl-primary-soft);color:var(--bl-connect-ink);}
.bl-theme-toggle__hint{
    margin-inline-start:auto;background:var(--bl-surface-3);
    padding:1px 6px;border-radius:var(--bl-radius-sm);
    font-family:var(--bl-font-mono);font-size:0.7rem;color:var(--bl-text-subtle);
}

/* ============ BACK TO TOP ============ */
.bl-back-to-top{
    position:fixed;inset-inline-end:24px;bottom:24px;z-index:var(--bl-z-back-top);
    width:48px;height:48px;border-radius:50%;background:var(--bl-gradient);color:#fff;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    box-shadow:var(--bl-shadow-glow);border:none;
    opacity:0;visibility:hidden;transition:all var(--bl-transition);
}
.bl-back-to-top.is-visible{opacity:1;visibility:visible;}
.bl-back-to-top:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(37,99,235,0.4);}

/* ============ ICONS ============ */
.bl-icon{flex-shrink:0;display:inline-block;vertical-align:middle;}
.bl-icon-sprite{position:absolute;width:0;height:0;overflow:hidden;}

/* ============ 404 ============ */
.bl-404{padding-block:var(--section-y) var(--section-y-bottom);text-align:center;}
.bl-404__content{text-align:center;}
.bl-404__illustration{margin:0 auto var(--bl-space-4);max-width:240px;}
.bl-404__code{
    font-size:120px;font-weight:900;line-height:1;background:var(--bl-gradient);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
    margin:0 0 var(--bl-space-2);
}
.bl-404__title{font-size:var(--bl-fs-xl);margin:0 0 var(--bl-space-2);}
.bl-404__text{color:var(--bl-text-secondary);max-width:50ch;margin:0 auto var(--bl-space-4);}
.bl-404__search{margin:0 auto var(--bl-space-4);max-width:560px;}
.bl-404__actions{display:flex;gap:var(--bl-space-2);justify-content:center;flex-wrap:wrap;margin-block-end:var(--bl-space-5);}
.bl-404__recent{text-align:start;margin-block-start:var(--bl-space-5);}
.bl-404__recent-title{font-size:var(--bl-fs-md);margin:0 0 var(--bl-space-2);}
.bl-404__recent-list{list-style:none;padding:0;margin:0;}
.bl-404__recent-list li{padding:var(--bl-space-1) 0;border-block-end:1px solid var(--bl-border);}
.bl-404__recent-list a{color:var(--bl-text);text-decoration:none;}
.bl-404__recent-list a:hover{color:var(--bl-connect-ink);}

/* ============ MOBILE BOTTOM BAR — single button, <640px only ============ */
.bl-mobile-bottom-bar{
    display:none;position:fixed;bottom:0;inset-inline:0;z-index:var(--bl-z-back-top);
    background:var(--bl-surface);border-block-start:1px solid var(--bl-border);
    box-shadow:0 -4px 12px rgba(15,23,42,0.06);
    padding-block-end:env(safe-area-inset-bottom,0);
}
.bl-mobile-bottom-bar__btn{
    display:flex;align-items:center;justify-content:center;
    margin:10px 12px;height:48px;border-radius:999px;
    background:var(--bl-connect);color:var(--bl-connect-text);
    font-size:15px;font-weight:800;text-decoration:none;
    transition:background var(--bl-transition);
}
.bl-mobile-bottom-bar__btn:hover{background:var(--bl-connect-hover);color:var(--bl-connect-text);text-decoration:none;}
@media (max-width:639px){
    .bl-mobile-bottom-bar{display:block;}
    body{padding-block-end:calc(76px + env(safe-area-inset-bottom,0));}
}
@media (min-width:640px){
    body{padding-block-end:0 !important;}
}

/* ============ ARCHIVE / BLOG (header now uses .bl-page-head) ============ */
.bl-archive,.bl-search-results,.bl-page,.bl-single,.bl-front,.bl-landing{min-height:60vh;}
/* ROUND 11 — content → footer breathing (user: content sat flush on the dark
   footer top edge, 0px measured on post/archive/search/page). 56px desktop /
   40px mobile — same rhythm as --section-y-bottom. Front page + services end
   with the CTA band (own 56/40 bottom padding, glued to the footer via the
   gradient separator — intentional) and 404 keeps its own padding; untouched. */
.bl-single,.bl-archive,.bl-search-results,.bl-page,.bl-landing{padding-block-end:56px;}
/* ROUND 10 — post page top spacing: 32px desktop / 24px mobile (was 0 —
   the dead space came from breadcrumb margins + body padding instead).
   Header bottom → H1 = this padding + topline row (~26px) + 16px ≤ 80px. */
.bl-single{padding-block-start:32px;}
.bl-archive__eyebrow{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--bl-connect-ink);font-size:var(--bl-fs-xs);font-weight:700;
    background:var(--bl-connect-soft);border-radius:var(--bl-radius-pill);
    padding:4px 12px;margin:0;align-self:flex-start;
}
.bl-archive__description{color:var(--bl-text-secondary);font-size:var(--bl-fs-md);line-height:1.85;max-width:70ch;}
/* ============ SEARCH RESULTS (header now uses .bl-page-head) ============ */
.bl-search-results__query{
    display:inline-block;color:var(--bl-connect-ink);font-weight:800;
    background:var(--bl-primary-soft);border-radius:var(--bl-radius-sm);
    padding:0 8px;
}
.bl-search-results__count{color:var(--bl-text-muted);font-size:13px;margin:0;}
.bl-search-results__empty{
    text-align:center;padding:var(--bl-space-6) var(--bl-space-4);
    background:var(--bl-surface);border:1px solid var(--bl-border);
    border-radius:var(--bl-radius-lg);margin-block-start:var(--bl-space-4);
}
.bl-search-results__empty-icon{width:64px;height:64px;margin:0 auto var(--bl-space-3);color:var(--bl-text-subtle);}
.bl-search-results__empty-title{font-size:var(--bl-fs-lg);margin:0 0 var(--bl-space-2);}
.bl-search-results__empty-text{color:var(--bl-text-secondary);margin:0 0 var(--bl-space-4);}
.bl-search-results__suggestions-title{font-size:var(--bl-fs-sm);font-weight:700;margin:0 0 var(--bl-space-2);}
.bl-search-results__suggestions{
    list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--bl-space-2);
    justify-content:center;
}
.bl-search-results__suggestions a{
    display:inline-flex;align-items:center;gap:6px;
    padding:8px 16px;border:1px solid var(--bl-border);border-radius:var(--bl-radius-pill);
    color:var(--bl-text);text-decoration:none;font-size:var(--bl-fs-sm);font-weight:600;
    background:var(--bl-surface-2);transition:all var(--bl-transition);
}
.bl-search-results__suggestions a:hover{background:var(--bl-primary-soft);border-color:var(--bl-primary);color:var(--bl-connect-ink);text-decoration:none;}

/* ============ NO RESULTS ============ */
.bl-no-results{
    text-align:center;padding:var(--bl-space-6) var(--bl-space-4);
    background:var(--bl-surface);border:1px solid var(--bl-border);
    border-radius:var(--bl-radius-lg);
}
.bl-no-results__icon{width:64px;height:64px;margin:0 auto var(--bl-space-3);color:var(--bl-text-subtle);}
.bl-no-results__title{font-size:var(--bl-fs-lg);margin:0 0 var(--bl-space-2);}
.bl-no-results__text{color:var(--bl-text-secondary);margin:0 0 var(--bl-space-4);}
.bl-no-results__search{margin:0 auto var(--bl-space-4);max-width:560px;}
.bl-no-results__home{margin-block-start:var(--bl-space-2);}

/* ============ SERVICES PAGE TEMPLATE (v3.7.4) ============
   Page head is the shared .bl-page-head block (see above). Section order
   in the template: page-head → pricing → FAQ → service cards → why → CTA. */
/* Service cards — grid:repeat(3,1fr) across the FULL container width
   (never a half-width right-side cluster). Card: 44px connect-soft icon
   top-right, title 16px/800, description 13px, outline button. */
.bl-services__cards{padding-block:var(--section-y) var(--section-y-bottom);}
.bl-services__grid{grid-template-columns:repeat(3,1fr);gap:var(--bl-space-4);}
@media (max-width:1023px){
    .bl-services__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:639px){
    .bl-services__grid{grid-template-columns:1fr;}
}

/* WHY BAHARLINK / ارتباط فنی — three full-width columns (not a narrow
   centered column): icon + title 16px + one-line description, right-aligned. */
.bl-why__grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:var(--bl-space-4);align-items:stretch;
}
.bl-why__item{
    display:flex;align-items:flex-start;gap:14px;
    padding:var(--bl-space-3);background:var(--bl-surface); /* ROUND 10: 20px → 16px */
    border:1px solid var(--bl-border);border-radius:var(--bl-radius);
    text-align:start;transition:all var(--bl-transition);
}
.bl-why__item:hover{border-color:var(--bl-connect);box-shadow:var(--bl-shadow);transform:translateY(-2px);}
.bl-why__icon{
    width:44px;height:44px;border-radius:12px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:var(--bl-connect-soft);color:var(--bl-connect-ink);
}
.bl-why__body{min-width:0;display:flex;flex-direction:column;gap:6px;}
.bl-why__title{font-size:16px;font-weight:800;margin:0;color:var(--bl-text);line-height:1.6;}
.bl-why__text{
    font-size:13px;color:var(--bl-text-secondary);margin:0;line-height:1.9;
    text-decoration:none;
}
a.bl-why__text:hover{color:var(--bl-connect-ink);text-decoration:none;}
@media (max-width:1023px){
    .bl-why__grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto;}
}

/* ============ PRICING / تعرفه‌ها (v3.7.3) — full-width navy section ============
   Palette maps to the theme tokens: --pr-navy = --bl-navy, --pr-navy-2 =
   --bl-navy-2, --pr-connect = --bl-connect; the footer-family shades are
   scoped locally (same values the site footer uses). */
.bl-pricing{
    --pr-navy:var(--bl-navy);
    --pr-navy-2:var(--bl-navy-2);
    --pr-line:rgba(255,255,255,0.08);
    --pr-muted:#9AA7B8;
    --pr-text:#E6EAF2;
    --pr-connect:var(--bl-connect);

    position:relative;background:var(--pr-navy);color:var(--pr-text);
    padding-block:var(--section-y) var(--section-y-bottom);overflow:hidden;
}
/* Faded dot pattern (same motif as the CTA band) */
.bl-pricing::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:radial-gradient(circle,rgba(255,255,255,0.1) 1px,transparent 1px);
    background-size:24px 24px;opacity:0.35;
}
.bl-pricing__inner{position:relative;z-index:1;max-width:var(--bl-container);margin-inline:auto;padding-inline:var(--bl-container-pad);}
.bl-pricing__header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-block-end:44px;text-align:center;}
/* Title — H2 centered 28px/800 white. Highlight phrase green. NO background
   or highlight behind the text (explicitly removed per final spec). */
.bl-pricing__title{font-size:28px;font-weight:800;color:#fff;margin:0;text-align:center;letter-spacing:-0.02em;line-height:1.5;background:none;box-shadow:none;}
.bl-pricing__hl{color:var(--pr-connect);background:none;}
.bl-pricing__subtitle{font-size:14px;color:var(--pr-muted);margin:0;text-align:center;max-width:60ch;line-height:1.9;}
.bl-pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
/* Plan card */
.bl-pricing__plan{
    position:relative;display:flex;flex-direction:column;
    background:var(--pr-navy-2);border:1px solid var(--pr-line);
    border-radius:20px;padding:var(--bl-space-3); /* ROUND 10: 32px → 16px card standard */
}
/* Featured (middle) plan — 2px connect border + slight scale + top badge */
.bl-pricing__plan--featured{border:2px solid var(--pr-connect);transform:scale(1.03);z-index:2;box-shadow:0 24px 48px rgba(0,0,0,0.35);}
.bl-pricing__badge{
    position:absolute;top:-16px;inset-inline-start:50%;transform:translateX(50%); /* RTL-aware center */
    background:var(--pr-connect);color:var(--bl-connect-text);
    font-size:12px;font-weight:800;padding:5px 16px;border-radius:999px;white-space:nowrap;
    box-shadow:0 6px 16px rgba(34,197,94,0.35);
}
.bl-pricing__plan-title{font-size:18px;font-weight:800;color:#fff;margin:0;line-height:1.6;}
.bl-pricing__plan-sub{font-size:12px;color:var(--pr-muted);margin:4px 0 0;line-height:1.8;}
.bl-pricing__plan-discount{font-size:12px;font-weight:700;color:var(--pr-connect);margin:8px 0 0;}
.bl-pricing__plan-price{display:flex;align-items:baseline;gap:8px;margin:16px 0 0;flex-wrap:wrap;}
.bl-pricing__price-value{font-size:40px;font-weight:900;color:#fff;line-height:1;letter-spacing:-0.01em;}
.bl-pricing__price-unit{font-size:12px;color:var(--pr-muted);}
/* Hairline separator */
.bl-pricing__plan-sep{height:1px;background:var(--pr-line);margin:20px 0;}
/* Features — green tick for included, gray X + strike-through for excluded */
.bl-pricing__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;flex:1;}
.bl-pricing__feature{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--pr-text);line-height:1.8;min-width:0;}
.bl-pricing__feature-icon{flex-shrink:0;color:var(--pr-connect);display:inline-flex;}
.bl-pricing__feature-text{min-width:0;overflow-wrap:break-word;}
.bl-pricing__feature--excluded .bl-pricing__feature-icon{color:#64748B;}
.bl-pricing__feature--excluded .bl-pricing__feature-text{text-decoration:line-through;color:var(--pr-muted);}
/* CTA buttons — solid green (featured) / white outline (others) */
.bl-pricing__plan-cta{margin-block-start:24px;}
.bl-pricing__btn{
    display:inline-flex;align-items:center;justify-content:center;width:100%;
    padding:12px 24px;font-size:14px;font-weight:700;line-height:1.4;min-height:44px;
    border-radius:var(--bl-radius-sm);text-decoration:none;cursor:pointer;
    transition:all var(--bl-transition);white-space:nowrap;
}
.bl-pricing__btn--solid{background:var(--pr-connect);color:var(--bl-connect-text);border:1.5px solid transparent;box-shadow:0 8px 32px rgba(34,197,94,0.25);}
.bl-pricing__btn--solid:hover{background:var(--bl-connect-hover);color:var(--bl-connect-text);transform:translateY(-1px);text-decoration:none;}
.bl-pricing__btn--outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.5);}
.bl-pricing__btn--outline:hover{background:rgba(255,255,255,0.08);border-color:#fff;color:#fff;text-decoration:none;}
/* Mobile — single column, featured plan keeps its badge but no scale */
@media (max-width:1023px){
    .bl-pricing__grid{grid-template-columns:1fr;gap:24px;max-width:480px;margin-inline:auto;}
    .bl-pricing__plan--featured{transform:none;}
}
@media (max-width:639px){
    .bl-pricing__header{margin-block-end:32px;}
}

/* ============ DEFAULT PAGE TEMPLATE (header now uses .bl-page-head) ============ */
.bl-page__thumb{margin-block:var(--bl-space-4) 0;width:100%;box-sizing:border-box;}
.bl-page__thumb .bl-page__thumb-img,.bl-page__thumb img{
    width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;
    box-shadow:0 1px 2px rgba(15,23,42,0.04),0 12px 32px rgba(15,23,42,0.08);
}
.bl-page__body{padding-block:var(--bl-space-3) var(--bl-space-5);}
.bl-page__footer{margin-block-start:var(--bl-space-4);text-align:center;}

/* ============ LANDING PAGE TEMPLATE ============ */
.bl-landing__hero{padding-block:var(--section-y) var(--section-y-bottom);}
.bl-landing__content{padding-block:var(--bl-space-4) var(--bl-space-6);}

/* ============ RESPONSIVE ============ */
/* Mid-range desktops (1024–1279px): same single-line geometry, compact
   spacing so the full 8-item menu still fits — line-height stays 1 and
   padding-block stays 0 everywhere (only inline metrics tighten). */
@media (min-width:1024px) and (max-width:1279px){
    .bl-header__inner{gap:16px;}
    .bl-nav-primary{margin-inline-start:0;} /* 16px flex gap = logo→nav */
    .bl-nav-primary__list{gap:2px;}
    .bl-nav-primary__link{padding-inline:8px;font-size:13px;}
    .bl-header__actions{gap:8px;}
    .bl-header__cta{padding-inline:14px;}
}
@media (max-width:1023px){
    .bl-nav-primary{display:none;}
    .bl-header__menu-btn{display:inline-flex;}
    .bl-header__inner{
        height:var(--bl-header-h-mobile);min-height:var(--bl-header-h-mobile);
        gap:var(--bl-space-2);
    }
    .bl-theme-toggle{display:none;}
    .bl-header__cta{display:inline-flex;}
    .bl-article__body{grid-template-columns:1fr;max-width:760px;gap:0;}
    .bl-post-sidebar{position:static;margin-block-start:var(--bl-space-5);}
    .bl-newsletter__form{flex-direction:column;border-radius:var(--bl-radius);padding:var(--bl-space-2);}
    .bl-newsletter__input{width:100%;padding:14px;}
}
@media (max-width:639px){
    /* Single post header — ROUND 10 typography block at the END of this file
       owns the font sizes now; only geometry rules stay here. */
    .bl-single{padding-block-start:24px;}
    .bl-single,.bl-archive,.bl-search-results,.bl-page,.bl-landing{padding-block-end:40px;} /* ROUND 11 — content→footer gap, mobile */
    .bl-article__meta{gap:8px 12px;}
    /* Wrapped rows should not draw a separator outside the content column. */
    .bl-article__meta .bl-meta + .bl-meta{padding-inline-start:0;}
    .bl-article__meta .bl-meta + .bl-meta::before{display:none;}
    .bl-cards--grid{grid-template-columns:1fr;}
    .bl-cats{grid-template-columns:repeat(2,1fr);}
    .bl-hero{padding-block:var(--section-y);} /* ROUND 10: 40/40 (was 32/24) */
    .bl-section{padding-block:var(--section-y);}
    .bl-author-box{grid-template-columns:1fr;text-align:center;}
    .bl-author-box__avatar{justify-self:center;}
    .bl-hero__stats{gap:var(--bl-space-3);}
    .bl-hero__stat-value{font-size:22px;}
    .bl-hero__stat-label{font-size:12px;}
}

/* Hero + app-card responsive */
@media (max-width:1023px){
    .bl-hero__grid{grid-template-columns:1fr;gap:var(--bl-space-5);}
    .bl-hero__mockup{order:-1;margin-block-end:var(--bl-space-2);}
    .bl-app-card{max-width:340px;}
}
@media (max-width:639px){
    .bl-hero__grid{grid-template-columns:minmax(0,1fr);gap:0;}
    .bl-hero__content{text-align:center;align-items:center;}
    .bl-hero__badge{align-self:center;}
    .bl-hero__title{
        font-size:clamp(26px,7vw,34px);line-height:1.6;text-align:center;
    }
    .bl-hero__title-highlight{overflow-wrap:anywhere;}
    .bl-hero__subtitle{text-align:center;max-width:none;}
    .bl-hero__search{max-width:440px;margin-inline:auto;}
    .bl-hero__stats{justify-content:center;gap:var(--bl-space-3);}
    .bl-hero__mockup{order:-1;margin:0 auto 24px;}
    .bl-app-card{max-width:320px;transform:none;box-shadow:var(--bl-shadow);}
    .bl-app-card:hover{transform:none;}
    .bl-prose{font-size:16px;}
    .bl-prose h2{font-size:22px;}
    .bl-prose h3{font-size:18px;}
}

/* ============ CATEGORIES — two-row cards, full titles (v3.7.5) ============
   Card anatomy (RTL):
     Row 1 : 40px connect-soft icon square (right/inline-start)
             + count pill pinned to the far END (left) via space-between
     Row 2 : title spanning the FULL card width (margin-top:10)
   Title rules: 13.5px / 700 / line-height 1.8; white-space:normal;
   NO -webkit-line-clamp, NO text-overflow, NO overflow:hidden —
   no ellipsis is ever allowed. min-height reserves exactly two lines
   (13.5 × 1.8 × 2 = 48.6px) so short titles keep every card the same
   height; grid align-items:stretch makes all cards in a row grow
   together whenever a third line is needed.
   Grid: 5 cols ≥ 1200px, 3 cols ≥ 768px, 2 cols mobile, gap 16. */
.bl-cats{
    list-style:none;padding:0;margin:0;display:grid;
    grid-template-columns:repeat(5,1fr);gap:16px;align-items:stretch;
}
@media (max-width:1199px) and (min-width:768px){
    .bl-cats{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:767px){
    .bl-cats{grid-template-columns:repeat(2,1fr);}
}
.bl-cats__item{margin:0;min-width:0;display:flex;}
.bl-cats__link{
    display:flex;flex-direction:column;gap:0;align-items:stretch;
    padding:16px;background:var(--bl-surface);
    border:1px solid var(--bl-border);border-radius:16px;
    color:var(--bl-text);text-decoration:none;transition:all var(--bl-transition);
    width:100%;box-sizing:border-box;
}
.bl-cats__link:hover{transform:translateY(-3px);border-color:var(--bl-connect);box-shadow:var(--bl-shadow);text-decoration:none;color:var(--bl-text);}
/* Row 1 — icon (inline-start/right in RTL) + count pill (inline-end/left),
   pushed apart by space-between. */
.bl-cats__row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.bl-cats__icon-wrap{
    width:40px;height:40px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    background:var(--bl-connect-soft);color:var(--bl-connect-ink);
    flex-shrink:0;
}
.bl-cats__icon{color:inherit;}
.bl-cats__count-pill{
    display:inline-flex;align-items:center;
    margin-inline-start:auto;flex-shrink:0;
    padding:4px 10px;background:var(--bl-bg);color:var(--bl-text-secondary);
    border-radius:var(--bl-radius-pill);font-size:12px;font-weight:700;
    align-self:center;
}
/* Row 2 — title: full width, two lines reserved, NEVER truncated. */
.bl-cats__name{
    display:block;margin:10px 0 0;min-width:0;flex:none;
    font-size:13.5px;font-weight:700;line-height:1.8;color:var(--bl-text);
    text-align:start;white-space:normal;word-break:normal;overflow-wrap:break-word;
    min-height:48.6px; /* exactly two 13.5px/1.8 lines */
}

/* ============ BLOCK PATTERN WRAPPERS (editor-inserted content) ============ */
.bl-pattern-hero{padding-block:var(--section-y) var(--section-y-bottom);text-align:center;background:var(--bl-gradient-soft);}
.bl-pattern-hero__subtitle{color:var(--bl-text-secondary);font-size:var(--bl-fs-md);max-width:60ch;margin-inline:auto;}
.bl-pattern-steps{padding-block:var(--section-y) var(--section-y-bottom);}
.bl-pattern-faq{padding-block:var(--section-y) var(--section-y-bottom);}
.bl-pattern-steps .bl-trouble__steps,.bl-pattern-faq .bl-faq__item{max-width:760px;margin-inline:auto;}

/* ============ HERO SEARCH — desktop polish ============ */
@media (min-width:1024px){
    .bl-hero__grid{grid-template-columns:minmax(0,1fr) 420px;}
}

/* ==========================================================================
   ROUND 10 (v3.7.8) — MOBILE STANDARD (<640px): typography + spacing
   --------------------------------------------------------------------------
   One consolidated block, placed at the very END of theme.css so it owns
   the mobile cascade unconditionally:
     • H1 clamp(22px,5.5vw,28px) — H2 clamp(18px,4.5vw,22px) —
       H3 clamp(16px,4vw,18px) — H4 15px
     • body text 15px / line-height 1.9 — lead 15px — meta 13px
     • tags + chips 12px — card titles 14px — card descriptions 13px
     • mobile menu 15px — mobile footer 13px
     • hard bounds: NOTHING below 12px or above 28px
     • text side padding 0 16px (--bl-container-pad)
     • card grids gap 16px (24px stays for desktop)
   ========================================================================== */
@media (max-width:639px){
    /* text side padding: 0 16px — every container-based text block */
    :root{--bl-container-pad:16px;}

    /* ---- Headings ---- */
    .bl-article__title{font-size:clamp(22px,5.5vw,28px);}
    .bl-page-head__title{font-size:clamp(22px,5.5vw,28px);}
    .bl-hero__title{font-size:clamp(22px,6vw,28px);line-height:1.6;}
    h2,.bl-prose h2,.bl-section__title,.bl-pricing__title,
    .bl-cta-band__title,.bl-article__related-title{
        font-size:clamp(18px,4.5vw,22px);
    }
    h3,.bl-prose h3{font-size:clamp(16px,4vw,18px);}
    h4,.bl-prose h4{font-size:15px;}
    h5,h6,.bl-prose h5,.bl-prose h6{font-size:15px;}

    /* ---- Body text: 15px / 1.9 ---- */
    .bl-article__body{--bl-post-prose-size:15px;}
    .bl-prose{font-size:15px;line-height:1.9;}
    .bl-article__lead{font-size:15px;}
    .bl-page-head__desc{font-size:15px;}
    .bl-archive__intro{font-size:15px;}
    .bl-section__subtitle{font-size:15px;}
    .bl-hero__subtitle{font-size:15px;}
    .bl-services__intro p{font-size:15px;}

    /* ---- Meta (author, date, reading time): 13px ---- */
    .bl-article__meta .bl-meta{font-size:13px;}
    .bl-card__meta{font-size:13px;}
    .bl-card__meta--snippet{font-size:13px;}
    .bl-article__thumb-caption{font-size:13px;}

    /* ---- Tags + chips: 12px (mobile font floor) ---- */
    .bl-chip{font-size:12px;}
    .bl-chip--sm{font-size:12px;}
    .bl-chip--snippet{font-size:12px;}
    .bl-chip--filter{font-size:12px;}
    .bl-post-topline .bl-article__chip{font-size:12px;padding:4px 10px;}

    /* ---- Cards: title 14px / description 13px ---- */
    .bl-card__title{font-size:14px;}
    .bl-card__title--snippet{font-size:14px;}
    .bl-card__service-title{font-size:14px;}
    .bl-card__excerpt{font-size:13px;}
    .bl-card__service-text{font-size:13px;}
    .bl-cats__name{font-size:14px;min-height:50.4px;} /* 2 lines × 14px × 1.8 */
    .bl-why__title{font-size:14px;}
    .bl-why__text{font-size:13px;}

    /* ---- Card grids: gap 16px mobile (24px desktop) ---- */
    .bl-cards--grid,.bl-cards--snippet,.bl-services__grid,
    .bl-why__grid,.bl-pricing__grid,
    .bl-article__related .bl-cards--grid{gap:16px;}

    /* ---- Mobile menu: 15px (already the default — pinned here) ---- */
    .bl-drawer__link{font-size:15px;}

    /* ---- Mobile footer: 13px ---- */
    .site-footer__link-list a{font-size:13px;}
    .site-footer__contact-list li{font-size:13px;}
    .site-footer__brand-desc{font-size:13px;}
    .site-footer__col-title,.site-footer__col-toggle{font-size:13px;}
    .site-footer__trust-pill{font-size:13px;}

    /* ---- Hard bounds: nothing < 12px, nothing > 28px ---- */
    .bl-app-card__stat-label{font-size:12px;}
    .bl-card__meta--compact{font-size:12px;}
    .bl-app-card__server-meta{font-size:12px;}
    .bl-pricing__price-value{font-size:28px;}           /* was 40px */
    .bl-pricing__plan-title{font-size:16px;}
    .bl-pricing__feature{font-size:14px;}
    .bl-404__code{font-size:64px;}                      /* decorative numeral
        (display illustration, not running text — reduced from 120px) */

    /* ---- Post topline on small phones: keep the row compact ---- */
    .bl-post-topline{gap:8px;}
    .bl-post-topline .bl-breadcrumb{font-size:12px;line-height:1.4;}
    .bl-post-topline .bl-breadcrumb__link,
    .bl-post-topline .bl-breadcrumb__current{padding-block:0;}

    /* ---- ROUND 10 fix — mobile header must fit 390px with the menu button
       fully visible (the brand desc + full-size CTA pushed it 35px off-screen).
       Desc hides on phones (<640px); CTA compacts to 12px/10px padding. ---- */
    .bl-brand__desc{display:none;}
    .bl-brand__link{gap:8px;}
    .bl-header__cta{padding-inline:10px;}
    .bl-header__actions{gap:6px;}

    .bl-theme-toggle__hint{font-size:12px;}
}

/* ============ ROUND 10 — DRAWER THEME CYCLE BUTTON (mobile) ============
   The drawer footer button is a ONE-TAP light/dark switch bound by
   theme.js ([data-bl-theme-cycle]) to the exact same setMode() path as
   the desktop header toggle: localStorage 'baharlink-theme' +
   data-theme on <html> + CSS custom properties. The icon shows the mode
   you will switch TO: moon while light, sun while dark. */
.bl-drawer__theme-toggle{width:100%;}
.bl-drawer__theme-icon--sun{display:none;}
html[data-theme="dark"] .bl-drawer__theme-icon--sun{display:inline-flex;}
html[data-theme="dark"] .bl-drawer__theme-icon--moon{display:none;}
.bl-drawer__theme-toggle[aria-pressed="true"]{
    background:var(--bl-connect-soft);color:var(--bl-connect-ink);
    border-color:var(--bl-connect);
}

/* Keep the search button and input within narrow mobile viewports. */
@media (max-width:400px){
    .bl-hero__search{padding-inline-start:14px;}
    .bl-hero__search-btn{padding-inline:16px;}
}

/* Native navigation and search remain available when JavaScript is disabled. */
.no-js .bl-search-toggle,.no-js .bl-header__menu-btn,.no-js .bl-theme-toggle,.no-js .site-footer__back-to-top{display:none;}
.bl-noscript-tools{padding:8px var(--bl-container-pad);background:var(--bl-surface);border-bottom:1px solid var(--bl-border);}
.bl-noscript-tools summary{padding:8px;cursor:pointer;font-weight:700;}
.bl-noscript-tools nav{margin-bottom:8px;}
.bl-noscript-tools .bl-search{max-width:560px;}

/* 3.7.17 — Services refresh and legal pages, scoped to their own markup. */
.bl-sv2{
    --sv-bg:#f5f7fa;--sv-surface:#fff;--sv-ink:#112334;--sv-muted:#526371;--sv-line:#dfe9e6;
    --sv-accent:#087c4f;--sv-tint:#ebf8f0;--sv-soft:#f5f9f7;--sv-shadow:0 16px 48px rgba(19,52,43,.06);
    color:var(--sv-ink);background:var(--sv-bg);overflow:clip;
}
html[data-theme="dark"] .bl-sv2{--sv-bg:#0e1726;--sv-surface:#162534;--sv-ink:#edf7f4;--sv-muted:#b7c8c4;--sv-line:#30473f;--sv-accent:#67e6a2;--sv-tint:#193c31;--sv-soft:#192d30;--sv-shadow:0 16px 48px rgba(0,0,0,.16)}
.bl-sv2__breadcrumbs{padding-block:22px 8px;}
.bl-sv2__shell{width:min(100% - 48px,1192px);margin-inline:auto;padding-bottom:72px;}
.bl-sv2__hero{position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 18% 44%,rgba(37,157,119,.22),transparent 33%),linear-gradient(135deg,#081b25 0%,#0b2830 60%,#143a31 100%);color:#fff;box-shadow:0 24px 60px rgba(7,34,33,.15)}
.bl-sv2__hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(180,255,220,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(180,255,220,.15) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to left,transparent 40%,#000 100%);pointer-events:none}
.bl-sv2__hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:36px;min-height:480px;padding:64px clamp(32px,5vw,76px)}
.bl-sv2__hero-copy{max-width:640px}.bl-sv2__eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#c3f0d4}
.bl-sv2__eyebrow-dot{inline-size:8px;block-size:8px;border-radius:50%;background:#63f2a9;box-shadow:0 0 0 5px rgba(81,240,155,.1)}.bl-sv2__eyebrow-divider{height:14px;width:1px;background:rgba(255,255,255,.25)}
.bl-sv2 h1{margin:24px 0 18px;color:#fff;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.42;font-weight:800;letter-spacing:-.035em}.bl-sv2 h1 span{color:#7df2ac}
.bl-sv2__hero-lead{max-width:510px;margin:0;color:#d4e5df;font-size:1.05rem;line-height:2.05}
.bl-sv2__actions,.bl-sv2__cta-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bl-sv2__actions{margin-top:30px}
.bl-sv2__button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:13px 21px;border:1px solid transparent;border-radius:12px;font-weight:800;font-size:.94rem;line-height:1.5;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.bl-sv2__button:hover{transform:translateY(-2px);text-decoration:none}.bl-sv2__button--primary,.bl-sv2__button--primary:visited{background:#6deaa0;color:#082c1d}.bl-sv2__button--primary:hover{background:#95f4b9;color:#082c1d}.bl-sv2__button--ghost,.bl-sv2__button--ghost:visited{color:#effcf4;border-color:rgba(225,255,238,.28);background:rgba(255,255,255,.05)}.bl-sv2__button--ghost:hover{color:#fff;border-color:rgba(225,255,238,.65);background:rgba(255,255,255,.1)}
.bl-sv2__hero-note{margin:19px 0 0;color:#bed3cb;font-size:.8rem}.bl-sv2__hero-note span{color:#80efaa;margin-inline-end:5px}
.bl-sv2__hero-art{position:relative;display:grid;place-items:center;min-height:350px;direction:ltr}.bl-sv2__orbit{position:absolute;border:1px solid rgba(114,243,167,.15);border-radius:50%;width:min(100%,350px);aspect-ratio:1}.bl-sv2__orbit--two{width:min(85%,290px);border-color:rgba(114,243,167,.2)}
.bl-sv2__visual-card{position:relative;width:min(100%,270px);min-height:280px;border:1px solid rgba(192,255,222,.22);border-radius:22px;background:linear-gradient(150deg,rgba(20,53,59,.94),rgba(9,30,40,.96));box-shadow:0 26px 60px rgba(0,0,0,.32);transform:rotate(-4deg);padding:18px}
.bl-sv2__visual-top{display:flex;align-items:center;gap:9px;color:#e8f5ee;font-size:10px;font-weight:700;letter-spacing:.08em}.bl-sv2__visual-top small{display:block;font-size:7px;letter-spacing:.12em;color:#9bbab0}.bl-sv2__visual-top i{margin-left:auto;width:6px;height:6px;border-radius:50%;background:#7df2ac;box-shadow:0 0 10px #7df2ac}.bl-sv2__visual-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#72eaa0;color:#083326;font-size:15px;font-weight:900}
.bl-sv2__visual-center{display:flex;align-items:center;flex-direction:column;justify-content:center;height:176px;color:#fff}.bl-sv2__visual-center strong{font-size:20px;letter-spacing:.02em}.bl-sv2__visual-center small{font-size:9px;letter-spacing:.16em;color:#a8cfc0}.bl-sv2__shield{display:grid;place-items:center;width:66px;height:75px;margin-bottom:9px;background:linear-gradient(135deg,#89f5b4,#1aaf73);clip-path:polygon(50% 0,94% 17%,90% 65%,75% 86%,50% 100%,25% 86%,10% 65%,6% 17%);filter:drop-shadow(0 8px 14px rgba(59,242,149,.2));color:#073c2c;font-size:31px;font-weight:800}
.bl-sv2__visual-bottom{display:flex;justify-content:space-between;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:700;letter-spacing:.08em;color:#bbd4cb}.bl-sv2__visual-bottom i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#71eca5}
.bl-sv2__visual-label{position:absolute;right:0;bottom:38px;display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid rgba(205,255,224,.25);border-radius:14px;background:#eaf9ef;box-shadow:0 16px 35px rgba(0,0,0,.2);direction:rtl;color:#0c3a28}.bl-sv2__visual-label>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#b9eccb;font-weight:800}.bl-sv2__visual-label strong,.bl-sv2__visual-label small{display:block}.bl-sv2__visual-label strong{font-size:12px}.bl-sv2__visual-label small{font-size:10px;color:#466b5a}
.bl-sv2__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.bl-sv2__benefit{display:flex;align-items:flex-start;gap:14px;min-width:0;padding:22px;border:1px solid var(--sv-line);border-radius:17px;background:var(--sv-surface)}.bl-sv2__benefit-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:var(--sv-tint);color:var(--sv-accent);font-size:23px;font-weight:700}.bl-sv2__benefit h2{margin:0 0 5px;color:var(--sv-ink);font-size:.98rem;line-height:1.6}.bl-sv2__benefit p{margin:0;color:var(--sv-muted);font-size:.8rem;line-height:1.9}
.bl-sv2__section{padding-top:90px;scroll-margin-top:90px}.bl-sv2__section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.bl-sv2__section-head>p{max-width:400px;margin:0;color:var(--sv-muted);font-size:.91rem;line-height:1.9}.bl-sv2__kicker{display:inline-block;color:var(--sv-accent);font-size:.8rem;font-weight:800;letter-spacing:.01em}.bl-sv2__section h2,.bl-sv2__steps h2,.bl-sv2__cta h2{margin:8px 0 0;color:var(--sv-ink);font-size:clamp(1.55rem,2.3vw,2.15rem);font-weight:800;line-height:1.5}
.bl-sv2__plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bl-sv2__plan{display:flex;flex-direction:column;min-width:0;padding:25px;border:1px solid var(--sv-line);border-radius:20px;background:var(--sv-surface);box-shadow:var(--sv-shadow)}.bl-sv2__plan--featured{border-color:#3fc97b;box-shadow:0 14px 42px rgba(23,157,89,.12)}
.bl-sv2__plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px}.bl-sv2__plan-number{direction:ltr;unicode-bidi:embed;color:var(--sv-muted);font-size:.69rem;font-weight:800;letter-spacing:.08em}.bl-sv2__plan-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sv-soft);color:var(--sv-accent);font-size:18px}.bl-sv2__plan-tag{padding:4px 10px;border-radius:999px;background:var(--sv-tint);color:var(--sv-accent);font-size:.7rem;font-weight:800}.bl-sv2__plan h3{margin:20px 0 5px;color:var(--sv-ink);font-size:1.22rem}.bl-sv2__plan-description{margin:0;color:var(--sv-muted);font-size:.83rem;line-height:1.9}
.bl-sv2__plan-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:24px;padding-bottom:19px;border-bottom:1px solid var(--sv-line)}.bl-sv2__plan-price strong{color:var(--sv-ink);font-size:1.6rem;font-weight:800}.bl-sv2__plan-price span{color:var(--sv-muted);font-size:.76rem}.bl-sv2__plan ul{display:grid;gap:11px;list-style:none;margin:20px 0 26px;padding:0;color:var(--sv-muted);font-size:.85rem}.bl-sv2__plan li{display:flex;align-items:baseline;gap:9px}.bl-sv2__plan li:before{content:"✓";color:var(--sv-accent);font-weight:800}
.bl-sv2__plan-link,.bl-sv2__plan-link:visited{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;min-height:49px;padding:12px 16px;border:1px solid #b4d8c3;border-radius:11px;color:var(--sv-accent);font-size:.9rem;font-weight:800;text-decoration:none}.bl-sv2__plan-link:hover{border-color:#39c97d;background:var(--sv-tint);color:var(--sv-accent)}.bl-sv2__plan--featured .bl-sv2__plan-link,.bl-sv2__plan--featured .bl-sv2__plan-link:visited{border-color:#32c777;background:#32c777;color:#062b1a}.bl-sv2__plan--featured .bl-sv2__plan-link:hover{background:#6deaa0;color:#062b1a}.bl-sv2__plan-note{margin:18px 0 0;color:var(--sv-muted);font-size:.79rem;line-height:1.9}.bl-sv2__plan-note span{color:var(--sv-accent);font-weight:800;margin-inline-end:5px}
.bl-sv2__steps{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:90px;padding:clamp(26px,4vw,48px);border:1px solid var(--sv-line);border-radius:24px;background:var(--sv-surface)}.bl-sv2__steps-intro p{max-width:390px;color:var(--sv-muted);font-size:.9rem;line-height:1.95}.bl-sv2__steps-intro a,.bl-sv2__steps-intro a:visited{display:inline-flex;gap:10px;color:var(--sv-accent);font-weight:800;font-size:.86rem;text-decoration:none}.bl-sv2__steps-intro a:hover{text-decoration:underline}.bl-sv2__steps-list{display:grid;gap:0}.bl-sv2__steps-list article{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--sv-line)}.bl-sv2__steps-list article:first-child{padding-top:0}.bl-sv2__steps-list article:last-child{padding-bottom:0;border-bottom:0}.bl-sv2__steps-list article>span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:var(--sv-tint);color:var(--sv-accent);font-weight:800}.bl-sv2__steps-list h3{margin:0 0 4px;color:var(--sv-ink);font-size:.96rem}.bl-sv2__steps-list p{margin:0;color:var(--sv-muted);font-size:.82rem;line-height:1.85}
.bl-sv2__faq-list{display:grid;gap:10px}.bl-sv2__faq details{border:1px solid var(--sv-line);border-radius:14px;background:var(--sv-surface)}.bl-sv2__faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:16px 19px;color:var(--sv-ink);font-weight:700;cursor:pointer;list-style:none}.bl-sv2__faq summary::-webkit-details-marker{display:none}.bl-sv2__faq summary:focus-visible,.bl-sv2 a:focus-visible,.bl-legal a:focus-visible{outline:3px solid #12ac67;outline-offset:3px}.bl-sv2__plus{position:relative;flex:none;width:28px;height:28px;border-radius:9px;background:var(--sv-tint)}.bl-sv2__plus:before,.bl-sv2__plus:after{content:"";position:absolute;inset:13px 7px auto;height:2px;background:var(--sv-accent);border-radius:2px}.bl-sv2__plus:after{transform:rotate(90deg)}.bl-sv2__faq details[open] .bl-sv2__plus:after{transform:rotate(0)}.bl-sv2__faq details>div{padding:0 19px 19px}.bl-sv2__faq details p{margin:0;color:var(--sv-muted);font-size:.9rem;line-height:2}
.bl-sv2__cta{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:90px;padding:38px clamp(26px,4vw,48px);border-radius:24px;background:linear-gradient(130deg,#102e31,#0c211f);color:#fff}.bl-sv2__cta h2{color:#fff;font-size:clamp(1.35rem,2vw,1.75rem)}.bl-sv2__cta .bl-sv2__kicker{color:#84f3b5}.bl-sv2__cta p{margin:9px 0 0;color:#c4d9d1;font-size:.88rem;line-height:1.9}.bl-sv2__cta-actions{justify-content:flex-end;flex-shrink:0}.bl-sv2__cta-secondary,.bl-sv2__cta-secondary:visited{display:inline-flex;gap:10px;padding:12px;color:#e6f8ec;font-weight:700;font-size:.85rem;text-decoration:none}.bl-sv2__cta-secondary:hover{color:#fff;text-decoration:underline}
.bl-legal{color:var(--bl-text);font-size:1rem;line-height:2.05}.bl-legal__intro{padding:26px 28px;border:1px solid #d5eadc;border-radius:18px;background:#eff9f2}.bl-legal__eyebrow{color:#087c4f;font-size:.8rem;font-weight:800}.bl-legal__intro p{margin:8px 0 0!important}.bl-legal__date{color:#526d5e;font-size:.8rem}.bl-legal__toc{display:grid;gap:11px;margin:26px 0;padding:20px 22px;border:1px solid var(--bl-border);border-radius:15px;background:var(--bl-surface)}.bl-legal__toc strong{font-size:.9rem}.bl-legal__toc>div{display:flex;flex-wrap:wrap;gap:9px 18px}.bl-legal__toc a{font-size:.84rem;font-weight:700}.bl-legal section{margin-block:30px;scroll-margin-top:90px}.bl-legal section h2{font-size:1.2rem;margin:0 0 12px}.bl-legal section p,.bl-legal li{line-height:2.15}.bl-legal section ul{padding-inline-start:1.3em}.bl-legal section li{margin-bottom:10px}.bl-legal__contact{margin-top:36px;padding:22px 24px;border-radius:16px;background:#102f29;color:#f1fff6}.bl-legal__contact p{margin:5px 0 10px!important;color:#d1e8da}.bl-legal__contact a,.bl-legal__contact a:visited{color:#91f0b4;font-weight:800}.bl-legal__contact a:hover{color:#fff}
html[data-theme="dark"] .bl-legal__intro{background:#18382c;border-color:#315e45}html[data-theme="dark"] .bl-legal__eyebrow{color:#7af0a8}html[data-theme="dark"] .bl-legal__date{color:#b5d4c1}
@media(max-width:950px){.bl-sv2__hero-grid{grid-template-columns:1fr .72fr;gap:16px;padding:46px}.bl-sv2__hero-art{min-height:300px}.bl-sv2__visual-card{width:230px;min-height:260px}.bl-sv2__visual-center{height:156px}.bl-sv2__visual-label{right:-4px;bottom:22px}.bl-sv2__plans-grid{gap:12px}.bl-sv2__plan{padding:20px}.bl-sv2__cta{align-items:flex-start;flex-direction:column}.bl-sv2__cta-actions{justify-content:flex-start}}
@media(max-width:700px){.bl-sv2__shell{width:min(100% - 32px,540px);padding-bottom:48px}.bl-sv2__breadcrumbs{padding-block:16px 6px}.bl-sv2__hero{border-radius:21px}.bl-sv2__hero-grid{grid-template-columns:1fr;min-height:0;padding:32px 25px 26px;gap:0}.bl-sv2 h1{font-size:clamp(1.95rem,9vw,2.5rem);margin:20px 0 14px}.bl-sv2__hero-lead{font-size:.91rem}.bl-sv2__actions{margin-top:22px}.bl-sv2__button{min-height:50px;font-size:.88rem}.bl-sv2__hero-art{min-height:265px;margin-top:15px}.bl-sv2__visual-card{width:215px;min-height:230px;padding:15px}.bl-sv2__visual-center{height:140px}.bl-sv2__visual-label{right:5%;bottom:12px}.bl-sv2__benefits,.bl-sv2__plans-grid{grid-template-columns:1fr}.bl-sv2__benefit{padding:18px}.bl-sv2__section{padding-top:60px}.bl-sv2__section-head{display:block}.bl-sv2__section-head>p{margin-top:10px}.bl-sv2__plan{padding:22px}.bl-sv2__plan h3{margin-top:14px}.bl-sv2__steps{grid-template-columns:1fr;gap:25px;margin-top:60px;padding:26px}.bl-sv2__steps-list article:first-child{padding-top:0}.bl-sv2__cta{margin-top:60px;padding:28px 24px}.bl-sv2__cta-actions{width:100%;align-items:stretch;flex-direction:column}.bl-sv2__cta-actions .bl-sv2__button{width:100%}.bl-sv2__cta-secondary{justify-content:center}.bl-legal__intro{padding:20px}.bl-legal__toc{padding:18px}}
@media(max-width:380px){.bl-sv2__shell{width:calc(100% - 24px)}.bl-sv2__hero-grid{padding-inline:19px}.bl-sv2__actions{align-items:stretch;flex-direction:column}.bl-sv2__button{width:100%}.bl-sv2__visual-label{right:0}.bl-sv2__benefit{gap:11px}}
@media(prefers-reduced-motion:reduce){.bl-sv2__button{transition:none}.bl-sv2__button:hover{transform:none}}
/* Keep block-widget links readable against the always-dark site footer. */
.site-footer__widget-col .bl-widget ul li a{color:var(--footer-text)}
.site-footer__widget-col .bl-widget ul li a:hover{color:var(--footer-accent)}
