/* ==========================================================================
   Design System
   ========================================================================== */

:root {

    /*
    |--------------------------------------------------------------------------
    | Colors
    |--------------------------------------------------------------------------
    */

    --lv-color-background: #ffffff;
    --lv-color-surface: #f8f9fb;

    --lv-color-text: #202124;
    --lv-color-text-light: #6b7280;

    --lv-color-primary: #3b82f6;
    --lv-color-primary-hover: #2563eb;

    --lv-color-success: #16a34a;
    --lv-color-danger: #dc2626;

    --lv-color-border: #e5e7eb;

    /*
    |--------------------------------------------------------------------------
    | Typography
    |--------------------------------------------------------------------------
    */

    --lv-font-family: inherit;

    --lv-font-size-xs: .75rem;
    --lv-font-size-sm: .875rem;
    --lv-font-size-md: 1rem;
    --lv-font-size-lg: 1.25rem;
    --lv-font-size-xl: 1.75rem;
    --lv-font-size-2xl: 2.25rem;

    --lv-line-height-sm: 1.5;
    --lv-line-height: 1.8;
    --lv-line-height-lg: 2;

    /*
    |--------------------------------------------------------------------------
    | Font Weight
    |--------------------------------------------------------------------------
    */

    --lv-fw-normal: 400;
    --lv-fw-medium: 500;
    --lv-fw-semibold: 600;
    --lv-fw-bold: 700;

    /*
    |--------------------------------------------------------------------------
    | Spacing
    |--------------------------------------------------------------------------
    */

    --lv-space-1: .5rem;
    --lv-space-2: .75rem;
    --lv-space-3: 1rem;
    --lv-space-4: 1.5rem;
    --lv-space-5: 2rem;
    --lv-space-6: 2.5rem;
    --lv-space-7: 3rem;
    --lv-space-8: 4rem;

    /*
    |--------------------------------------------------------------------------
    | Radius
    |--------------------------------------------------------------------------
    */

    --lv-radius-sm: .5rem;
    --lv-radius: .75rem;
    --lv-radius-lg: 1rem;
    --lv-radius-xl: 1.5rem;
    --lv-radius-full: 9999px;

    /*
    |--------------------------------------------------------------------------
    | Border
    |--------------------------------------------------------------------------
    */

    --lv-border-width: 1px;
    --lv-border:
        var(--lv-border-width)
        solid
        var(--lv-color-border);

    /*
    |--------------------------------------------------------------------------
    | Shadow
    |--------------------------------------------------------------------------
    */

    --lv-shadow-sm:
        0 2px 8px rgba(0,0,0,.05);

    --lv-shadow:
        0 8px 24px rgba(0,0,0,.06);

    --lv-shadow-lg:
        0 18px 40px rgba(0,0,0,.08);

    /*
    |--------------------------------------------------------------------------
    | Transition
    |--------------------------------------------------------------------------
    */

    --lv-transition-fast: .15s ease;

    --lv-transition: .25s ease;

    --lv-transition-slow: .35s ease;

    /*
    |--------------------------------------------------------------------------
    | Layout
    |--------------------------------------------------------------------------
    */

    --lv-container: 900px;

    /*
    |--------------------------------------------------------------------------
    | Z-index
    |--------------------------------------------------------------------------
    */

    --lv-z-progress: 9999;
}
/* ==========================================================================
   Base
   ========================================================================== */

.lv-article{

    color:var(--lv-color-text);

    font-family:var(--lv-font-family);

    font-size:var(--lv-font-size-md);

    line-height:var(--lv-line-height);

}

.lv-article *,
.lv-article *::before,
.lv-article *::after{

    box-sizing:border-box;

}

.lv-article img{

    display:block;

    max-width:100%;

    height:auto;

}

.lv-article svg{

    display:block;

    width:1em;

    height:1em;

    fill:currentColor;

    flex:none;

}

.lv-article a{

    color:var(--lv-color-primary);

    text-decoration:none;

    transition:

        color var(--lv-transition),

        opacity var(--lv-transition);

}

.lv-article a:hover{

    color:var(--lv-color-primary-hover);

}

.lv-article button{

    font:inherit;

}

.lv-article ul,
.lv-article ol{

    margin:0;

    padding:0;

}

.lv-article figure{

    margin:0;

}

.lv-article time{

    white-space:nowrap;

}

.lv-article [hidden]{

    display:none !important;

}

/* ==========================================================================
   Article Typography
   ========================================================================== */

.lv-article__content{

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-md);

    line-height:2;

    word-break:break-word;

    overflow-wrap:anywhere;

}

/* Paragraph
   ========================================================================== */

.lv-article__content p{

    margin:0 0 var(--lv-space-5);

    line-height:2.1;

}

.lv-article__content p:last-child{

    margin-bottom:0;

}

/* Headings
   ========================================================================== */

.lv-article__content h2,
.lv-article__content h3,
.lv-article__content h4,
.lv-article__content h5,
.lv-article__content h6{

    margin:var(--lv-space-7) 0 var(--lv-space-4);

    color:var(--lv-color-text);

    font-weight:var(--lv-fw-bold);

    line-height:1.45;

}

.lv-article__content h2{

    font-size:clamp(1.75rem,3vw,2.2rem);

}

.lv-article__content h3{

    font-size:clamp(1.45rem,2.6vw,1.8rem);

}

.lv-article__content h4{

    font-size:1.35rem;

}

.lv-article__content h5{

    font-size:1.15rem;

}

.lv-article__content h6{

    font-size:1rem;

}

.lv-article__content h2:first-child,
.lv-article__content h3:first-child{

    margin-top:0;

}

/* Links
   ========================================================================== */

.lv-article__content a{

    color:var(--lv-color-primary);

    text-decoration:none;

    transition:color var(--lv-transition);

}

.lv-article__content a:hover{

    color:var(--lv-color-primary-hover);

    text-decoration:underline;

}

/* Strong / Em
   ========================================================================== */

.lv-article__content strong{

    font-weight:var(--lv-fw-bold);

}

.lv-article__content em{

    font-style:italic;

}

.lv-article__content mark{

    padding:.1em .3em;

    border-radius:4px;

    background:#fff2a8;

}
/* ==========================================================================
   Lists
   ========================================================================== */

.lv-article__content ul,
.lv-article__content ol{

    margin:0 0 var(--lv-space-5);

    padding-inline-start:1.5rem;

}

.lv-article__content ul{

    list-style:disc;

}

.lv-article__content ol{

    list-style:decimal;

}

.lv-article__content li{

    margin-bottom:.75rem;

    line-height:2;

}

.lv-article__content li:last-child{

    margin-bottom:0;

}

/* Nested Lists
   ========================================================================== */

.lv-article__content ul ul,
.lv-article__content ul ol,
.lv-article__content ol ul,
.lv-article__content ol ol{

    margin-top:.75rem;

    margin-bottom:0;

}

.lv-article__content ul ul{

    list-style:circle;

}

.lv-article__content ul ul ul{

    list-style:square;

}

/* List Paragraphs
   ========================================================================== */

.lv-article__content li > p{

    margin-bottom:.75rem;

}

.lv-article__content li > p:last-child{

    margin-bottom:0;

}

/* Definition Lists
   ========================================================================== */

.lv-article__content dl{

    margin:0 0 var(--lv-space-5);

}

.lv-article__content dt{

    margin-bottom:.4rem;

    font-weight:var(--lv-fw-semibold);

}

.lv-article__content dd{

    margin:0 0 var(--lv-space-3) 1.25rem;

    color:var(--lv-color-text-light);

}
/* ==========================================================================
   Images
   ========================================================================== */

.lv-article__content img{

    display:block;

    max-width:100%;

    height:auto;

    margin:0 auto;

    border-radius:var(--lv-radius);

}

/* ==========================================================================
   Figure
   ========================================================================== */

.lv-article__content figure{

    margin:0 0 var(--lv-space-6);

}

.lv-article__content figure:last-child{

    margin-bottom:0;

}

.lv-article__content figure img{

    width:100%;

}

/* ==========================================================================
   Caption
   ========================================================================== */

.lv-article__content figcaption{

    margin-top:var(--lv-space-2);

    text-align:center;

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    line-height:1.8;

}

/* ==========================================================================
   WordPress Caption
   ========================================================================== */

.lv-article__content .wp-caption{

    max-width:100%;

    margin:0 auto var(--lv-space-6);

}

.lv-article__content .wp-caption img{

    width:100%;

}

.lv-article__content .wp-caption-text{

    margin-top:var(--lv-space-2);

    text-align:center;

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    line-height:1.8;

}

/* ==========================================================================
   Alignment
   ========================================================================== */

.lv-article__content .aligncenter{

    display:block;

    margin-inline:auto;

}

.lv-article__content .alignleft{

    float:left;

    margin:0 var(--lv-space-5) var(--lv-space-4) 0;

}

.lv-article__content .alignright{

    float:right;

    margin:0 0 var(--lv-space-4) var(--lv-space-5);

}

/* ==========================================================================
   Large Images
   ========================================================================== */

.lv-article__content > img,

.lv-article__content > figure{

    overflow:hidden;

    border-radius:var(--lv-radius-lg);

}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:768px){

    .lv-article__content .alignleft,

    .lv-article__content .alignright{

        float:none;

        margin:0 auto var(--lv-space-5);

    }

}
/* ==========================================================================
   Images
   ========================================================================== */

.lv-article__content img{

    display:block;

    max-width:100%;

    height:auto;

    margin:0 auto;

    border-radius:var(--lv-radius);

}

/* ==========================================================================
   Figure
   ========================================================================== */

.lv-article__content figure{

    margin:0 0 var(--lv-space-6);

}

.lv-article__content figure:last-child{

    margin-bottom:0;

}

.lv-article__content figure img{

    width:100%;

}

/* ==========================================================================
   Caption
   ========================================================================== */

.lv-article__content figcaption{

    margin-top:var(--lv-space-2);

    text-align:center;

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    line-height:1.8;

}

/* ==========================================================================
   WordPress Caption
   ========================================================================== */

.lv-article__content .wp-caption{

    max-width:100%;

    margin:0 auto var(--lv-space-6);

}

.lv-article__content .wp-caption img{

    width:100%;

}

.lv-article__content .wp-caption-text{

    margin-top:var(--lv-space-2);

    text-align:center;

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    line-height:1.8;

}

/* ==========================================================================
   Alignment
   ========================================================================== */

.lv-article__content .aligncenter{

    display:block;

    margin-inline:auto;

}

.lv-article__content .alignleft{

    float:left;

    margin:0 var(--lv-space-5) var(--lv-space-4) 0;

}

.lv-article__content .alignright{

    float:right;

    margin:0 0 var(--lv-space-4) var(--lv-space-5);

}

/* ==========================================================================
   Large Images
   ========================================================================== */

.lv-article__content > img,

.lv-article__content > figure{

    overflow:hidden;

    border-radius:var(--lv-radius-lg);

}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:768px){

    .lv-article__content .alignleft,

    .lv-article__content .alignright{

        float:none;

        margin:0 auto var(--lv-space-5);

    }

}
/* ==========================================================================
   Blockquote
   ========================================================================== */

.lv-article__content blockquote{

    position:relative;

    margin:var(--lv-space-6) 0;

    padding:var(--lv-space-5) var(--lv-space-6);

    border-inline-start:4px solid var(--lv-color-primary);

    border-radius:var(--lv-radius);

    background:var(--lv-color-surface);

}

.lv-article__content blockquote p{

    margin:0;

    color:var(--lv-color-text);

    font-size:1.05rem;

    font-style:italic;

    line-height:2;

}

.lv-article__content blockquote p + p{

    margin-top:var(--lv-space-3);

}

.lv-article__content blockquote cite{

    display:block;

    margin-top:var(--lv-space-4);

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    font-style:normal;

    font-weight:var(--lv-fw-medium);

}

.lv-article__content blockquote::before{

    content:"“";

    position:absolute;

    inset-block-start:14px;

    inset-inline-start:18px;

    color:var(--lv-color-primary);

    font-size:3rem;

    line-height:1;

    opacity:.15;

    pointer-events:none;

}

.lv-article__content blockquote > *:last-child{

    margin-bottom:0;

}

/* ==========================================================================
   Pull Quote
   ========================================================================== */

.lv-article__content .wp-block-pullquote{

    margin:var(--lv-space-7) 0;

    padding:var(--lv-space-6);

    border:none;

    border-radius:var(--lv-radius-lg);

    background:var(--lv-color-surface);

    text-align:center;

}

.lv-article__content .wp-block-pullquote blockquote{

    margin:0;

    padding:0;

    border:none;

    background:none;

}

.lv-article__content .wp-block-pullquote blockquote::before{

    display:none;

}
/* ==========================================================================
   Tables
   ========================================================================== */

.lv-article__content table{

    width:100%;

    margin:var(--lv-space-6) 0;

    border-collapse:collapse;

    border-spacing:0;

    overflow:hidden;

    border:1px solid var(--lv-color-border);

    border-radius:var(--lv-radius-lg);

    background:var(--lv-color-background);

}

.lv-article__content thead{

    background:var(--lv-color-surface);

}

.lv-article__content th{

    padding:14px 18px;

    border-bottom:1px solid var(--lv-color-border);

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-sm);

    font-weight:var(--lv-fw-semibold);

    text-align:start;

}

.lv-article__content td{

    padding:14px 18px;

    border-bottom:1px solid var(--lv-color-border);

    color:var(--lv-color-text);

    line-height:1.9;

    vertical-align:top;

}

.lv-article__content tbody tr:last-child td{

    border-bottom:none;

}

.lv-article__content tbody tr{

    transition:background var(--lv-transition);

}

.lv-article__content tbody tr:hover{

    background:rgba(0,0,0,.02);

}

.lv-article__content tbody tr:nth-child(even){

    background:rgba(0,0,0,.015);

}

.lv-article__content caption{

    margin-bottom:var(--lv-space-3);

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    font-weight:var(--lv-fw-medium);

    text-align:center;

}

/* ==========================================================================
   Responsive Tables
   ========================================================================== */

.lv-article__content table{

    display:block;

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;

}

.lv-article__content table::-webkit-scrollbar{

    height:6px;

}

.lv-article__content table::-webkit-scrollbar-thumb{

    border-radius:999px;

    background:rgba(0,0,0,.18);

}

.lv-article__content table::-webkit-scrollbar-track{

    background:transparent;

}
/* ==========================================================================
   Code
   ========================================================================== */

.lv-article__content code{

    display:inline-block;

    padding:.18rem .45rem;

    border:1px solid var(--lv-color-border);

    border-radius:6px;

    background:var(--lv-color-surface);

    color:var(--lv-color-text);

    font-size:.9em;

    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace;

    direction:ltr;

    unicode-bidi:embed;

}

/* ==========================================================================
   Preformatted
   ========================================================================== */

.lv-article__content pre{

    overflow-x:auto;

    margin:var(--lv-space-6) 0;

    padding:var(--lv-space-5);

    border:1px solid var(--lv-color-border);

    border-radius:var(--lv-radius-lg);

    background:#1f2937;

    color:#f8fafc;

    font-size:.95rem;

    line-height:1.8;

    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace;

    direction:ltr;

    text-align:left;

    -webkit-overflow-scrolling:touch;

}

.lv-article__content pre code{

    display:block;

    padding:0;

    border:none;

    background:transparent;

    color:inherit;

    font-size:inherit;

    white-space:pre;

}

/* ==========================================================================
   Keyboard
   ========================================================================== */

.lv-article__content kbd{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:28px;

    padding:.2rem .45rem;

    border:1px solid var(--lv-color-border);

    border-radius:6px;

    background:var(--lv-color-surface);

    box-shadow:0 2px 0 rgba(0,0,0,.08);

    font-size:.85em;

    font-weight:var(--lv-fw-medium);

    font-family:inherit;

}

/* ==========================================================================
   Scrollbar
   ========================================================================== */

.lv-article__content pre::-webkit-scrollbar{

    height:8px;

}

.lv-article__content pre::-webkit-scrollbar-track{

    background:transparent;

}

.lv-article__content pre::-webkit-scrollbar-thumb{

    border-radius:999px;

    background:rgba(255,255,255,.18);

}

.lv-article__content pre::-webkit-scrollbar-thumb:hover{

    background:rgba(255,255,255,.28);

}
/* ==========================================================================
   Hero
   ========================================================================== */

.lv-hero{

    margin-bottom:var(--lv-space-8);

}

.lv-hero__image{

    overflow:hidden;

    margin-bottom:var(--lv-space-6);

    border-radius:var(--lv-radius-xl);

}

.lv-hero__image img{

    width:100%;

}

.lv-hero__content{

    max-width:var(--lv-container);

}

.lv-hero__categories{

    display:flex;

    flex-wrap:wrap;

    gap:var(--lv-space-2);

    margin-bottom:var(--lv-space-4);

}

.lv-hero__category{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:36px;

    padding:0 var(--lv-space-3);

    border:var(--lv-border);

    border-radius:var(--lv-radius-full);

    background:var(--lv-color-surface);

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    font-weight:var(--lv-fw-medium);

}

.lv-hero__category:hover{

    border-color:var(--lv-color-primary);

    color:var(--lv-color-primary);

}

.lv-hero__title{

    margin:0;

    color:var(--lv-color-text);

    font-size:clamp(2rem,4vw,3.25rem);

    font-weight:var(--lv-fw-bold);

    line-height:1.25;

    text-wrap:balance;

}

.lv-hero__excerpt{

    max-width:70ch;

    margin-top:var(--lv-space-5);

    color:var(--lv-color-text-light);

    font-size:1.125rem;

    line-height:var(--lv-line-height-lg);

}

.lv-hero__meta{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:var(--lv-space-5);

    margin-top:var(--lv-space-6);

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

}

.lv-hero__author,

.lv-hero__date{

    display:inline-flex;

    align-items:center;

    gap:var(--lv-space-2);

    color:inherit;

}

.lv-hero__author svg,

.lv-hero__date svg{

    width:18px;

    height:18px;

}

.lv-hero__author:hover{

    color:var(--lv-color-primary);

}

/* ==========================================================================
   Hero Responsive
   ========================================================================== */

@media (max-width:768px){

    .lv-hero{

        margin-bottom:var(--lv-space-7);

    }

    .lv-hero__image{

        margin-bottom:var(--lv-space-5);

    }

    .lv-hero__title{

        font-size:2rem;

    }

    .lv-hero__excerpt{

        margin-top:var(--lv-space-4);

        font-size:1rem;

    }

    .lv-hero__meta{

        gap:var(--lv-space-3);

    }

}
/* ==========================================================================
   Breadcrumb
   ========================================================================== */

.lv-breadcrumb{

    margin-bottom:var(--lv-space-5);

}

.lv-breadcrumb__list{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:var(--lv-space-2);

    margin:0;

    padding:0;

    list-style:none;

}

.lv-breadcrumb__item{

    display:inline-flex;

    align-items:center;

    gap:var(--lv-space-2);

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

}

.lv-breadcrumb__item:not(:last-child)::after{

    content:"/";

    color:var(--lv-color-border);

}

.lv-breadcrumb__link{

    color:inherit;

}

.lv-breadcrumb__link:hover{

    color:var(--lv-color-primary);

}

.lv-breadcrumb__current{

    color:var(--lv-color-text);

    font-weight:var(--lv-fw-medium);

}

/* ==========================================================================
   Reading Time
   ========================================================================== */
/*
.lv-reading-time{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-sm);

    font-weight:var(--lv-fw-medium);

}

.lv-reading-time svg{

    width:18px;

    height:18px;

    flex:none;

}

.lv-reading-time__text{

    line-height:1;

}
*/
/* ==========================================================================
   Breadcrumb Responsive
   ========================================================================== */

@media (max-width:768px){

    .lv-breadcrumb{

        margin-bottom:var(--lv-space-4);

    }

    .lv-breadcrumb__list{

        gap:var(--lv-space-1);

    }

}




/* ==========================================================================
   Progress
   ========================================================================== */

.lv-progress{

    position:fixed;

    inset-block-start:0;

    inset-inline:0;

    z-index:9999;

    width:100%;

    height:4px;

    overflow:hidden;

    pointer-events:none;

    background:transparent;

}

.lv-progress__bar{

    display:block;

    width:100%;

    height:100%;

    background:var(--lv-color-primary);

    transform:scaleX(0);

    transform-origin:left center;

    transition:transform .08s linear;

    will-change:transform;

}
/* ==========================================================================
   TOC
   ========================================================================== */

.lv-toc{

    margin:0 0 var(--lv-space-7);

    padding:var(--lv-space-5);

    border:var(--lv-border);

    border-radius:var(--lv-radius-lg);

    background:var(--lv-color-surface);

}

.lv-toc__header{

    display:flex;

    align-items:center;

    gap:var(--lv-space-2);

    margin-bottom:var(--lv-space-4);

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-lg);

    font-weight:var(--lv-fw-semibold);

}

.lv-toc__header svg{

    width:20px;

    height:20px;

    color:var(--lv-color-primary);

}

.lv-toc__list{

    margin:0;

    padding:0;

    list-style:none;

}

.lv-toc__item + .lv-toc__item{

    margin-top:var(--lv-space-2);

}

.lv-toc__link{

    display:block;

    color:var(--lv-color-text-light);

    line-height:1.8;

    transition:
        color var(--lv-transition),
        padding-inline-start var(--lv-transition);

}

.lv-toc__link:hover{

    color:var(--lv-color-primary);

    padding-inline-start:6px;

}

.lv-toc__item--h2 .lv-toc__link{

    font-weight:var(--lv-fw-medium);

}

.lv-toc__item--h3{

    padding-inline-start:var(--lv-space-4);

}

.lv-toc__item--h3 .lv-toc__link{

    font-size:var(--lv-font-size-sm);

}

.lv-toc__link.is-active{

    color:var(--lv-color-primary);

    font-weight:var(--lv-fw-semibold);

}

@media (max-width:768px){

    .lv-toc{

        padding:var(--lv-space-4);

        margin-bottom:var(--lv-space-6);

    }

    .lv-toc__header{

        font-size:var(--lv-font-size-md);

    }

}
/* ==========================================================================
   Share
   ========================================================================== */

.lv-share{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    justify-content:space-between;

    gap:var(--lv-space-4);

    margin:var(--lv-space-7) 0;

    padding:var(--lv-space-4) 0;

    border-top:var(--lv-border);

    border-bottom:var(--lv-border);

}

.lv-share__title{

    margin:0;

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-md);

    font-weight:var(--lv-fw-semibold);

}

.lv-share__list{

    display:flex;

    flex-wrap:wrap;

    gap:var(--lv-space-2);

}

.lv-share__button{

    display:flex;

    align-items:center;

    justify-content:center;

    width:42px;

    height:42px;

    border:var(--lv-border);

    border-radius:var(--lv-radius-full);

    background:var(--lv-color-background);

    color:var(--lv-color-text-light);

    transition:
        background var(--lv-transition),
        color var(--lv-transition),
        border-color var(--lv-transition),
        transform var(--lv-transition);

}

.lv-share__button:hover{

    background:var(--lv-color-primary);

    border-color:var(--lv-color-primary);

    color:#fff;

    transform:translateY(-2px);

}

.lv-share__button svg{

    width:18px;

    height:18px;

}

@media (max-width:768px){

    .lv-share{

        flex-direction:column;

        align-items:flex-start;

    }

}
/* ==========================================================================
   Call To Action
   ========================================================================== */

.lv-cta{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    justify-content:space-between;

    gap:var(--lv-space-5);

    margin:var(--lv-space-8) 0;

    padding:var(--lv-space-6);

    border:var(--lv-border);

    border-radius:var(--lv-radius-xl);

    background:var(--lv-color-surface);

}

.lv-cta__content{

    flex:1 1 320px;

}

.lv-cta__title{

    margin:0;

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-xl);

    font-weight:var(--lv-fw-bold);

    line-height:1.3;

}

.lv-cta__text{

    margin:var(--lv-space-3) 0 0;

    color:var(--lv-color-text-light);

    line-height:var(--lv-line-height);

}

.lv-cta__actions{

    display:flex;

    flex-wrap:wrap;

    gap:var(--lv-space-3);

}

.lv-cta__button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:140px;

    min-height:46px;

    padding:0 var(--lv-space-4);

    border-radius:var(--lv-radius);

    font-size:var(--lv-font-size-sm);

    font-weight:var(--lv-fw-semibold);

    transition:
        background var(--lv-transition),
        color var(--lv-transition),
        border-color var(--lv-transition),
        transform var(--lv-transition);

}

.lv-cta__button--primary{

    background:var(--lv-color-primary);

    color:#fff;

    border:1px solid var(--lv-color-primary);

}

.lv-cta__button--primary:hover{

    background:var(--lv-color-primary-hover);

    border-color:var(--lv-color-primary-hover);

    color:#fff;

    transform:translateY(-2px);

}

.lv-cta__button--secondary{

    background:transparent;

    color:var(--lv-color-text);

    border:var(--lv-border);

}

.lv-cta__button--secondary:hover{

    border-color:var(--lv-color-primary);

    color:var(--lv-color-primary);

    transform:translateY(-2px);

}

/* ==========================================================================
   CTA Responsive
   ========================================================================== */

@media (max-width:768px){

    .lv-cta{

        padding:var(--lv-space-5);

    }

    .lv-cta__actions{

        width:100%;

    }

    .lv-cta__button{

        flex:1 1 100%;

    }

}

/* ==========================================================================
   Related
   ========================================================================== */

.lv-related{

    margin-top:var(--lv-space-8);

    padding-top:var(--lv-space-7);

    border-top:var(--lv-border);

}

.lv-related__header{

    margin-bottom:var(--lv-space-5);

}

.lv-related__title{

    margin:0;

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-xl);

    font-weight:var(--lv-fw-bold);

    line-height:1.3;

}

.lv-related__grid{

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:var(--lv-space-4);

}

.lv-related__card{

    overflow:hidden;

    border:var(--lv-border);

    border-radius:var(--lv-radius-lg);

    background:var(--lv-color-background);

    transition:
        transform var(--lv-transition),
        box-shadow var(--lv-transition),
        border-color var(--lv-transition);

}

.lv-related__card:hover{

    transform:translateY(-4px);

    border-color:var(--lv-color-primary);

    box-shadow:var(--lv-shadow);

}

.lv-related__link{

    display:block;

    color:inherit;

}

.lv-related__image{

    overflow:hidden;

    aspect-ratio:16 / 10;

}

.lv-related__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .4s ease;

}

.lv-related__card:hover .lv-related__image img{

    transform:scale(1.05);

}

.lv-related__content{

    padding:var(--lv-space-4);

}

.lv-related__post-title{

    margin:0;

    color:var(--lv-color-text);

    font-size:var(--lv-font-size-lg);

    font-weight:var(--lv-fw-semibold);

    line-height:1.5;

}

.lv-related__meta{

    margin-top:var(--lv-space-3);

    color:var(--lv-color-text-light);

    font-size:var(--lv-font-size-xs);

}

@media (max-width:992px){

    .lv-related__grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

    }

}

@media (max-width:768px){

    .lv-related{

        margin-top:var(--lv-space-7);

    }

    .lv-related__grid{

        grid-template-columns:1fr;

    }

}