
/* =========================================
   WS POST VISUAL — todo o post infográfico
   ========================================= */
body.single .entry-content,
body.single .post-content,
body.single article .entry-content,
body.single article .post-content{
    --wspv-font:'Cormorant Garamond',serif;
    --wspv-accent:color-mix(in srgb,var(--ws-kit-primary,#b85a8a) 35%,#E8D4C8);
    --wspv-dark:var(--ws-kit-dark,#1a1a1a);
    font-family:'Montserrat',sans-serif;
    font-weight:300;
    color:#333;
    line-height:1.85;
    font-size:1.05rem;
    max-width:780px;
    margin:0 auto;
    padding:30px 22px 50px;
}

/* ============= PARÁGRAFOS ============= */
body.single .entry-content > p,
body.single .post-content > p{
    margin:0 0 1.5em;
    line-height:1.85;
    letter-spacing:.2px;
}

/* DROP CAP no primeiro parágrafo */
body.single .entry-content > p:first-of-type::first-letter,
body.single .post-content > p:first-of-type::first-letter{
    font-family:var(--wspv-font);
    font-size:4.5em;
    font-weight:600;
    float:left;
    line-height:.85;
    padding:8px 14px 0 0;
    color:var(--wspv-accent);
    background:linear-gradient(135deg,var(--wspv-accent),color-mix(in srgb,var(--wspv-accent) 60%,var(--ws-kit-primary,#b85a8a)));
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* ============= HEADINGS ============= */
body.single .entry-content h2,
body.single .post-content h2{
    font-family:var(--wspv-font);
    font-size:2.2rem;
    font-weight:600;
    color:var(--wspv-dark);
    margin:60px 0 24px;
    line-height:1.25;
    letter-spacing:.5px;
    position:relative;
    padding-bottom:20px;
    text-align:center;
}
body.single .entry-content h2::after,
body.single .post-content h2::after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:80px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--wspv-accent),transparent);
}
body.single .entry-content h2::before,
body.single .post-content h2::before{
    content:'❦';
    display:block;
    text-align:center;
    font-size:1.6rem;
    color:var(--wspv-accent);
    margin-bottom:8px;
    opacity:.7;
    font-family:Georgia,serif;
}

body.single .entry-content h3,
body.single .post-content h3{
    font-family:var(--wspv-font);
    font-size:1.6rem;
    font-weight:500;
    color:var(--wspv-dark);
    margin:40px 0 18px;
    letter-spacing:.5px;
    line-height:1.3;
    padding-left:20px;
    border-left:3px solid var(--wspv-accent);
}

body.single .entry-content h4,
body.single .post-content h4{
    font-family:var(--wspv-font);
    font-size:1.3rem;
    font-weight:500;
    color:var(--wspv-dark);
    margin:30px 0 14px;
    font-style:italic;
}

/* ============= BLOCKQUOTES ============= */
body.single .entry-content blockquote,
body.single .post-content blockquote{
    background:linear-gradient(135deg,#FAF8F5 0%,#fff 100%);
    border-left:5px solid var(--wspv-accent);
    padding:30px 32px 30px 60px;
    margin:36px 0;
    border-radius:0 18px 18px 0;
    box-shadow:0 8px 22px rgba(0,0,0,.04);
    font-family:Crimson Text,Georgia,serif;
    font-style:italic;
    font-size:1.25rem;
    line-height:1.7;
    color:#444;
    position:relative;
}
body.single .entry-content blockquote::before,
body.single .post-content blockquote::before{
    content:'"';
    position:absolute;
    top:-10px;
    left:18px;
    font-family:Georgia,serif;
    font-size:5rem;
    color:var(--wspv-accent);
    line-height:1;
    font-style:normal;
    opacity:.65;
}

/* ============= LISTAS COMO INFOGRÁFICO ============= */
body.single .entry-content ul,
body.single .post-content ul{
    list-style:none;
    padding:0;
    margin:30px 0;
    display:grid;
    gap:14px;
}
body.single .entry-content ul li,
body.single .post-content ul li{
    background:#fff;
    border:1px solid color-mix(in srgb,var(--wspv-accent) 22%,transparent);
    border-left:4px solid var(--wspv-accent);
    border-radius:12px;
    padding:18px 22px 18px 56px;
    box-shadow:0 4px 14px rgba(0,0,0,.04);
    position:relative;
    font-size:1rem;
    line-height:1.6;
    color:#333;
    transition:all .3s ease;
}
body.single .entry-content ul li::before,
body.single .post-content ul li::before{
    content:'✦';
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);
    color:var(--wspv-accent);
    font-size:1.3rem;
    line-height:1;
}
body.single .entry-content ul li:hover,
body.single .post-content ul li:hover{
    transform:translateX(4px);
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    border-color:color-mix(in srgb,var(--wspv-accent) 50%,transparent);
}

/* LISTAS ORDENADAS */
body.single .entry-content ol,
body.single .post-content ol{
    list-style:none;
    padding:0;
    margin:30px 0;
    counter-reset:wspv-counter;
    display:grid;
    gap:14px;
}
body.single .entry-content ol li,
body.single .post-content ol li{
    background:#fff;
    border:1px solid color-mix(in srgb,var(--wspv-accent) 22%,transparent);
    border-radius:14px;
    padding:20px 24px 20px 76px;
    box-shadow:0 4px 14px rgba(0,0,0,.04);
    position:relative;
    counter-increment:wspv-counter;
    font-size:1rem;
    line-height:1.6;
    color:#333;
    transition:all .3s ease;
}
body.single .entry-content ol li::before,
body.single .post-content ol li::before{
    content:counter(wspv-counter);
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    background:linear-gradient(135deg,var(--wspv-accent),color-mix(in srgb,var(--wspv-accent) 60%,var(--ws-kit-primary,#b85a8a)));
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--wspv-font);
    font-weight:600;
    font-size:1.2rem;
    box-shadow:0 4px 12px color-mix(in srgb,var(--wspv-accent) 30%,transparent);
}
body.single .entry-content ol li:hover,
body.single .post-content ol li:hover{
    transform:translateX(4px);
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}

/* ============= STRONG / DESTAQUE ============= */
body.single .entry-content strong,
body.single .post-content strong,
body.single .entry-content b,
body.single .post-content b{
    color:var(--wspv-dark);
    font-weight:600;
    background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--wspv-accent) 30%,transparent) 60%);
    padding:0 2px;
}

/* ============= LINKS ============= */
body.single .entry-content a:not(.button):not(.btn):not([class*="cta"]),
body.single .post-content a:not(.button):not(.btn):not([class*="cta"]){
    color:var(--wspv-dark);
    text-decoration:none;
    background:linear-gradient(0deg,var(--wspv-accent) 1px,transparent 1px);
    background-position:0 100%;
    background-size:100% 2px;
    background-repeat:no-repeat;
    transition:all .3s;
    padding-bottom:2px;
}
body.single .entry-content a:hover,
body.single .post-content a:hover{
    color:var(--wspv-accent);
    background-size:100% 3px;
}

/* ============= IMAGENS ============= */
body.single .entry-content img,
body.single .post-content img{
    max-width:100%;
    height:auto;
    border-radius:18px;
    box-shadow:0 12px 35px rgba(0,0,0,.1);
    margin:24px auto;
    display:block;
    transition:transform .3s,box-shadow .3s;
}
body.single .entry-content img:hover,
body.single .post-content img:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 45px rgba(0,0,0,.14);
}

/* ============= FIGURES com captions ============= */
body.single .entry-content figure,
body.single .post-content figure{
    margin:30px 0;
    text-align:center;
}
body.single .entry-content figcaption,
body.single .post-content figcaption{
    font-family:Crimson Text,Georgia,serif;
    font-style:italic;
    color:#888;
    font-size:.9rem;
    margin-top:12px;
    line-height:1.5;
}

/* ============= TABELAS ============= */
body.single .entry-content table,
body.single .post-content table{
    width:100%;
    border-collapse:collapse;
    margin:30px 0;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(0,0,0,.06);
}
body.single .entry-content th,
body.single .post-content th{
    background:linear-gradient(135deg,var(--wspv-accent),color-mix(in srgb,var(--wspv-accent) 70%,#fff));
    color:var(--wspv-dark);
    font-family:var(--wspv-font);
    font-size:1.05rem;
    font-weight:500;
    padding:14px 18px;
    text-align:left;
    letter-spacing:.5px;
}
body.single .entry-content td,
body.single .post-content td{
    padding:12px 18px;
    border-bottom:1px solid color-mix(in srgb,var(--wspv-accent) 15%,transparent);
}
body.single .entry-content tr:last-child td,
body.single .post-content tr:last-child td{border-bottom:0}

/* ============= HR como divider elegante ============= */
body.single .entry-content hr,
body.single .post-content hr{
    border:0;
    height:24px;
    margin:40px 0;
    text-align:center;
    background:transparent;
    position:relative;
}
body.single .entry-content hr::after,
body.single .post-content hr::after{
    content:'✦ ✦ ✦';
    color:var(--wspv-accent);
    font-size:1.2rem;
    letter-spacing:1.2rem;
    opacity:.6;
    display:inline-block;
}

/* ============= "CALLOUT" para parágrafos especiais (strong-only ou itálico) ============= */
body.single .entry-content p > em:only-child,
body.single .post-content p > em:only-child{
    display:block;
    background:linear-gradient(135deg,#FAF8F5,#fff);
    border:1px solid color-mix(in srgb,var(--wspv-accent) 25%,transparent);
    border-radius:16px;
    padding:24px 28px;
    margin:24px 0;
    font-family:Crimson Text,Georgia,serif;
    font-style:italic;
    font-size:1.15rem;
    line-height:1.7;
    color:#555;
    text-align:center;
    position:relative;
}

/* ============= CODE inline ============= */
body.single .entry-content code,
body.single .post-content code{
    background:color-mix(in srgb,var(--wspv-accent) 18%,#fff);
    color:var(--wspv-dark);
    padding:2px 8px;
    border-radius:6px;
    font-size:.92em;
    font-family:Menlo,Monaco,monospace;
}

/* ============= RESPONSIVO ============= */
@media(max-width:768px){
    body.single .entry-content,body.single .post-content{padding:20px 16px;font-size:1rem}
    body.single .entry-content h2,body.single .post-content h2{font-size:1.7rem}
    body.single .entry-content h3,body.single .post-content h3{font-size:1.35rem}
    body.single .entry-content blockquote,body.single .post-content blockquote{padding:24px 24px 24px 50px;font-size:1.1rem}
    body.single .entry-content ul li,body.single .post-content ul li{padding:14px 18px 14px 50px}
    body.single .entry-content ol li,body.single .post-content ol li{padding:16px 18px 16px 70px}
    body.single .entry-content ol li::before,body.single .post-content ol li::before{width:36px;height:36px;font-size:1rem;left:16px}
    body.single .entry-content > p:first-of-type::first-letter,body.single .post-content > p:first-of-type::first-letter{font-size:3.5em}
}
