/* ================================
   SINGLE POST MASTER STYLE
================================ */

body.single-post{

color:#111827 !important;
font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial !important;
}

/* ================================
   LAYOUT
================================ */

body.single-post .single-layout{
display:flex !important;
gap:40px !important;
align-items:flex-start !important;
}

body.single-post .single-main{
flex:0 0 68% !important;
}

body.single-post .single-sidebar{
flex:0 0 32% !important;
position:sticky !important;
top:120px !important;
height:max-content !important;
}

/* ================================
   TITLE
================================ */

body.single-post .single-post-title{
font-size:34px !important;
font-weight:800 !important;
color:#0f172a !important;
margin-bottom:25px !important;
line-height:1.2 !important;
}
/* MOBILE TITLE OPTIMIZATION */

@media(max-width:768px){

body.single-post .single-post-title{
font-size:28px!important;
line-height:1.25!important;
margin-bottom:18px!important;
letter-spacing:-0.3px!important;
}

}
@media(max-width:768px){
body.single-post .single-post-title{
font-weight:700!important;
}
}
/* ================================
   FEATURED IMAGE
================================ */

body.single-post .single-featured-image{
margin-bottom:30px !important;
}

body.single-post .single-featured-image img{
width:100% !important;
display:block !important;
}

/* =====================================
   FEATURED IMAGE – REAL HEIGHT SYSTEM
===================================== */

body.single-post .single-featured-image img{
width:100%!important;
height:auto!important;
aspect-ratio:auto!important;   
object-fit:unset!important;   
display:block!important;
border-radius:14px!important;
}

/* MOBILE CLEAN FIX */

@media(max-width:768px){

body.single-post .single-featured-image{
max-width:100%!important;
padding:0!important;
overflow:visible!important;
}

body.single-post .single-featured-image img{
width:100%!important;
height:auto!important;
aspect-ratio:auto!important;
object-fit:unset!important;
border-radius:14px!important;
display:block!important;
}

}

/* ================================
   CONTENT TYPOGRAPHY
================================ */

body.single-post .post-content{
font-size:15px !important;
line-height:1.2 !important;
color:#1f2937 !important;
}
@media (max-width:768px){

body.single-post .post-content{
font-size:18px !important;
line-height:1.8 !important;
}

}

body.single-post .post-content p{
margin-bottom: 6px !important;
color:#374151 !important;
}

body.single-post .post-content h2{
font-size: 24px !important;
font-weight:600 !important;
margin:16px 0 14px !important;
color:#0f172a !important;
}

body.single-post .post-content h3{
font-size:20px !important;
font-weight:500 !important;
margin:10px 0 8px !important;
color:#111827 !important;
}
body.single-post .post-content h4{
font-size: 18px !important;
font-weight:300 !important;
margin:6px 0 5px !important;
color:#111827 !important;
}


body.single-post .post-content ul{
padding-left:20px !important;
margin-bottom:25px !important;
}

body.single-post .post-content li{
margin-bottom:10px !important;
}

/* =====================================
   CONTENT IMAGE – REAL HEIGHT SYSTEM
===================================== */

body.single-post .post-content img{
width:100%!important;
max-width:800px!important;
height:auto!important;
aspect-ratio:auto!important;   /* REMOVE FORCE RATIO */
object-fit:unset!important;    /* REMOVE CONTAIN */
display:block!important;
margin:35px auto!important;
border-radius:14px!important;
}

/* MOBILE CLEAN FIX */

@media(max-width:768px){

body.single-post .post-content{
overflow:visible!important;
}

body.single-post figure,
body.single-post .wp-block-image{
overflow:visible!important;
padding:0!important;
margin:25px 0!important;
}

body.single-post figure img,
body.single-post .wp-block-image img,
body.single-post .post-content img{
width:100%!important;
height:auto!important;
aspect-ratio:auto!important;
object-fit:unset!important;
border-radius:14px!important;
display:block!important;
}

}
/* Prevent overflow */

body.single-post .post-content{
overflow-x:hidden!important;
}

/* ================================
   CONTENT LINKS (INTERNAL + EXTERNAL)
================================ */

body.single-post .post-content a{
color:#0a7c5a !important;        /* ResearchGuiders green */
font-weight:500!important;
text-decoration:none!important;
border-bottom:1px solid transparent!important;
transition:.25s ease!important;
}

/* Hover */

body.single-post .post-content a:hover{
color:#064e3b !important;
border-bottom:1px solid #0a7c5a!important;
}

/* Remove browser focus outline */

body.single-post .post-content a:focus,
body.single-post .post-content a:active{
outline:none!important;
box-shadow:none!important;
}
/* ================================
   FAQ SECTION
================================ */

body.single-post .sp-faq{
margin-top:20px !important;
}

/* FAQ Heading */

body.single-post .sp-faq h2{
font-size:28px !important;
margin-bottom:25px !important;
color:#000!important;
font-weight:800!important;
}

/* FAQ ITEM */

body.single-post .sp-faq-item{
border:1px solid #e5e7eb !important;
border-radius:12px !important;
margin-bottom: 8px !important;
overflow:hidden !important;
background:#f9fafb !important;
transition:.25s ease !important;
}

/* QUESTION */

body.single-post .sp-faq-question{
padding:18px 20px !important;
font-weight:600 !important;
cursor:pointer !important;
display:flex !important;
justify-content:space-between !important;
align-items:center !important;
background:#ffffff !important;
color:#111!important;
transition:.25s ease!important;
}

/* Hover Question */

body.single-post .sp-faq-question:hover{
background:#f0fdf4!important;
color:#0a7c5a!important;
}

/* ANSWER */

body.single-post .sp-faq-answer{
max-height:0 !important;
overflow:hidden !important;
padding:0 20px !important;
background:#f9fafb !important;
color:#374151!important;
line-height:1.8!important;
transition:.3s ease !important;
}

/* ACTIVE */

body.single-post .sp-faq-item.active .sp-faq-question{
color:#0a7c5a!important;
background:#ecfdf5!important;
}

/* OPEN ANSWER */

body.single-post .sp-faq-item.active .sp-faq-answer{
max-height:800px !important;
padding:20px !important;
background:#f0fdf4!important;
}

/* ICON */

body.single-post .sp-faq-icon{
font-size:20px!important;
transition:.3s!important;
}

body.single-post .sp-faq-item.active .sp-faq-icon{
transform:rotate(45deg)!important;
color:#0a7c5a!important;
}
/* ================================
   AUTHOR BOX
================================ */

body.single-post .author-box{
margin-top:60px !important;
padding:30px !important;
border-radius:16px !important;
background:#f8fafc !important;
border:1px solid #e5e7eb !important;
box-shadow:0 5px 20px rgba(0,0,0,0.04) !important;
}

body.single-post .author-top{
display:flex !important;
gap:18px !important;
align-items:center !important;
margin-bottom:15px !important;
}

body.single-post .author-avatar img{
width:75px !important;
height:75px !important;
border-radius:50% !important;
}

body.single-post .author-name{
font-size:18px !important;
font-weight:700 !important;
}

body.single-post .author-bio{
font-size:15px !important;
line-height:1.8 !important;
color:#374151 !important;
}

/* AUTHOR BIO – MOBILE ONLY ALIGNMENT FIX */

@media(max-width:768px){

body.single-post .author-bio{
font-size:14.5px!important;
line-height:1.65!important;
letter-spacing:.1px!important;
text-align: justify !important;
}

}
/* ===============================
   SINGLE SIDEBAR WRAPPER
================================ */

.single-sidebar{
background:#fff !important;
border:1px solid #e5e7eb !important;
border-radius:14px !important;
padding:18px !important;
position:sticky !important;
top:120px !important;
height: fit-content;
 align-self: flex-start;
box-shadow:0 6px 18px rgba(0,0,0,.08) !important;
border-radius:12px !important;
}

/* TITLE */

.sidebar-title{
font-size:18px!important;
font-weight:700!important;
color:#000!important;
margin-bottom:18px!important;
}

/* GRID */

.sidebar-related-grid{
display:flex !important;
flex-direction:column !important;
gap:14px !important;
}

/* MINI CARD */

.sidebar-mini-card{
display:flex !important;
gap:12px !important;
align-items:center !important;
text-decoration:none !important;
padding:10px !important;
border:1px solid #e5e7eb !important;
border-radius:12px !important;
transition:.25s !important;
background:#fff !important;
}

.sidebar-mini-card:hover{
transform:translateY(-2px) !important;
box-shadow:0 6px 14px rgba(0,0,0,.06) !important;
}

/* IMAGE */

.sidebar-mini-card img{
width:70px !important;
height:70px !important;
object-fit:cover !important;
border-radius:10px !important;
flex-shrink:0 !important;
}

/* TITLE */

.sidebar-mini-card h4{
font-size:14px !important;
font-weight:600 !important;
color:#111 !important;
margin:0 !important;
line-height:1.4 !important;
}

.sidebar-mini-card:hover h4{
color:#0a7c5a;
text-decoration:underline !important;
}

/* MOBILE */

@media(max-width:992px){

.single-sidebar{
position:relative !important;
top:auto !important;
}

}
/* CTA BOX INSIDE SIDEBAR */

.sidebar-cta{
margin-top:10px !important;
padding:22px !important;
border-radius:14px !important;
background:linear-gradient(135deg,#16a34a,#0f766e) !important;
color:#fff !important;
text-align:center !important;
}

.sidebar-cta h4{
font-size:18px !important;
margin-bottom:8px !important;
color:#fff !important;
}

.sidebar-cta p{
font-size:14px !important;
line-height:1.6 !important;
opacity:.95 !important;
margin-bottom:14px !important;
}

.sidebar-cta-btn{
display:inline-block !important;
background:#fff !important;
color:#0a7c5a !important;
padding:10px 22px !important;
border-radius:25px;
font-weight:600 !important;
text-decoration:none !important;
transition:.25s !important;
}

.sidebar-cta-btn:hover{
background:#000 !important;
color:#fff !important;
}




/* ===============================
 RG TABLE – MOBILE SAFE SYSTEM
================================ */

.rg-table-wrap{
width:100%!important;
overflow-x:auto!important;
-webkit-overflow-scrolling:touch!important;
margin:0px 0!important;
}

/* REAL TABLE */

body.single-post table{
width:100%!important;
min-width:720px!important;
border-collapse:collapse!important;
background:#fff!important;
border-radius:12px!important;
overflow:hidden!important;
box-shadow:0 4px 12px rgba(0,0,0,.05)!important;
}

/* HEADER */

body.single-post table thead{
background:#0f172a!important;
}

body.single-post table th{
padding:14px!important;
color:#fff!important;
font-size:14px!important;
white-space:nowrap!important;
}

/* CELLS */

body.single-post table td{
padding:14px!important;
font-size:14px!important;
color:#374151!important;
white-space:nowrap!important;
border-bottom:1px solid #f1f5f9!important;
}

/* ROW HOVER */

body.single-post table tbody tr:hover{
background:#f8fafc!important;
}

/* COLUMN DIVIDER */

body.single-post table td:not(:last-child),
body.single-post table th:not(:last-child){
border-right:1px solid #f1f5f9!important;
}
body.single-post table{
width:100%!important;
min-width:720px!important;
border-collapse:collapse!important;
background:#fff!important;
border-radius:12px!important;
overflow:hidden!important;

/* NEW */
border:1px solid #e5e7eb!important; /* soft outline */
box-shadow:
0 2px 6px rgba(0,0,0,.04),
0 8px 20px rgba(0,0,0,.06)!important;
}



.rg-table-wrap{
width:100%!important;
overflow-x:auto!important;
-webkit-overflow-scrolling:touch!important;
margin:10px 0!important;

/* REMOVE CARD LOOK */
background:transparent!important;
border:none!important;
box-shadow:none!important;
padding:0!important;
}
body.single-post table{
width:100%!important;
min-width:720px!important;
border-collapse:separate!important;
border-spacing:0!important;
background:#ffffff!important;
border-radius:14px!important;
overflow:hidden!important;
border:1px solid #e5e7eb!important;
box-shadow:0 8px 24px rgba(0,0,0,.05)!important;
}
/* MOBILE FORCE */

@media(max-width:768px){

.rg-table-wrap{
overflow-x:auto!important;
}

body.single-post table{
min-width:700px!important;
}

}


/* ================================
   RESPONSIVE
================================ */

@media(max-width:992px){

body.single-post .single-layout{
flex-direction:column !important;
}

body.single-post .single-main,
body.single-post .single-sidebar{
flex:0 0 100% !important;
position:relative !important;
top:auto !important;
}
	
}

body.single-post .single-main{
max-width:100%!important;
overflow:hidden!important;
}