/* ===== BLOG POST STYLES — Roofing Cypress TX ===== */

/* --- POST HERO --- */
.post-hero{padding:140px 0 60px;background:linear-gradient(135deg,#0a0a0a 0,#1a1a2e 50%,#16213e 100%);position:relative;overflow:hidden}
.post-hero::before{content:'';position:absolute;top:-40%;right:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(0,82,156,.15) 0,transparent 70%);border-radius:50%}
.post-hero .container{position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.5);margin-bottom:28px;flex-wrap:wrap}
.breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .3s}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb .sep{color:rgba(255,255,255,.3)}
.breadcrumb .current{color:var(--primary)}
.post-hero-meta{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.post-category-tag{background:rgba(0,82,156,.15);color:var(--primary);padding:6px 18px;border-radius:30px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.post-date-tag{font-size:14px;color:rgba(255,255,255,.5)}
.post-updated-tag{background:rgba(46,125,50,.2);color:#66bb6a;padding:5px 14px;border-radius:30px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:5px}
.post-updated-tag::before{content:'●';font-size:8px}
.post-hero h1{font-size:44px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:20px;max-width:750px}
.post-hero-excerpt{font-size:18px;color:rgba(255,255,255,.6);line-height:1.7;max-width:650px;margin-bottom:32px}
.post-hero-author{display:flex;align-items:center;gap:14px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.hero-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid rgba(0,82,156,.5)}
.hero-author-info .author-name{font-size:15px;font-weight:600;color:#fff}
.hero-author-info .author-detail{font-size:13px;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:12px}
.hero-author-info .author-detail span{display:flex;align-items:center;gap:4px}

/* --- POST CONTENT LAYOUT --- */
.post-section{padding:60px 0 100px;background:#f7f8fa}
.post-layout{display:grid;grid-template-columns:1fr 300px;gap:60px;align-items:start}

/* --- ARTICLE BODY --- */
.article-body{background:#fff;border-radius:20px;padding:50px;box-shadow:0 2px 20px rgba(0,0,0,.05);border:1px solid #eee}
.article-body h2{font-size:26px;font-weight:800;color:var(--dark);margin-top:44px;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid #f0f0f0;position:relative}
.article-body h2::after{content:'';position:absolute;bottom:-2px;left:0;width:50px;height:2px;background:var(--primary)}
.article-body h3{font-size:20px;font-weight:700;color:var(--dark);margin-top:32px;margin-bottom:14px}
.article-body p{font-size:16px;color:#555;line-height:1.85;margin-bottom:20px}
.article-body ol,.article-body ul{padding-left:24px;margin-bottom:24px}
.article-body ol li,.article-body ul li{font-size:16px;color:#555;line-height:1.8;margin-bottom:10px}
.article-body ul li::marker{color:var(--primary)}
.article-body a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.article-body a:hover{text-decoration-color:var(--primary)}
.article-body blockquote{margin:32px 0;padding:28px 32px;background:linear-gradient(135deg,#f0f5ff 0,#fff 100%);border-left:4px solid var(--primary);border-radius:0 12px 12px 0;font-style:italic;color:#444;font-size:17px;line-height:1.7}
.article-body img{width:100%;border-radius:12px;margin:24px 0}

/* --- KEY TAKEAWAY BOX --- */
.key-takeaway{background:#f0f7ff;border:1px solid #d0e3ff;border-radius:14px;padding:24px 28px;margin:28px 0}
.key-takeaway-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#1565c0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.key-takeaway p{font-size:15px;color:#444;margin-bottom:0}

/* --- PRO TIP BOX --- */
.pro-tip{background:linear-gradient(135deg,#fff8e1 0,#fff 100%);border:1px solid #ffe082;border-radius:14px;padding:24px 28px;margin:28px 0}
.pro-tip-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#f57f17;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.pro-tip p{font-size:15px;color:#555;margin-bottom:0}

/* --- FAQ ACCORDION --- */
.article-faq{margin-top:36px}
.article-faq-item{background:#f9f9f9;border-radius:12px;margin-bottom:12px;overflow:hidden;border:1px solid #eee}
.article-faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;font-weight:600;font-size:15px;color:var(--dark);gap:14px;border:none;background:0 0;width:100%;font-family:Poppins,sans-serif;text-align:left;transition:.3s}
.article-faq-q:hover{color:var(--primary)}
.article-faq-toggle{width:28px;height:28px;border-radius:50%;background:rgba(0,82,156,.1);display:flex;align-items:center;justify-content:center;color:var(--primary);font-weight:700;font-size:18px;flex-shrink:0;transition:.3s}
.article-faq-item.open .article-faq-toggle{transform:rotate(45deg);background:var(--primary);color:#fff}
.article-faq-a{max-height:0;overflow:hidden;transition:max-height .4s}
.article-faq-item.open .article-faq-a{max-height:300px}
.article-faq-a-inner{padding:0 22px 20px;font-size:15px;color:#666;line-height:1.7}

/* --- SHARE BAR --- */
.share-bar{display:flex;align-items:center;gap:14px;margin-top:40px;padding-top:28px;border-top:2px solid #f0f0f0}
.share-bar span{font-size:14px;font-weight:600;color:var(--dark)}
.share-btn{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none!important;color:#fff!important;font-size:16px;transition:.3s;border-bottom:none!important}
.share-btn svg{color:#fff!important;fill:currentColor}
.share-copy svg{stroke:currentColor;fill:none}
.article-body .share-btn{text-decoration:none!important;color:#fff!important;border-bottom:none!important}
.share-btn:hover{transform:translateY(-3px)}
.share-fb{background:#1877f2}
.share-tw{background:#1da1f2}
.share-li{background:#0a66c2}
.share-pin{background:#e60023}
.article-body .share-copy,.share-copy{background:#f0f0f0;color:#666!important}
.article-body .share-copy:hover,.share-copy:hover{background:var(--primary);color:#fff!important}

/* --- SIDEBAR --- */
.post-sidebar{position:sticky;top:110px}

/* Table of Contents */
.toc-widget{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 16px rgba(0,0,0,.05);border:1px solid #eee;margin-bottom:28px}
.toc-widget h4{font-size:16px;font-weight:700;color:var(--dark);margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid #f0f0f0;position:relative}
.toc-widget h4::after{content:'';position:absolute;bottom:-2px;left:0;width:35px;height:2px;background:var(--primary)}
.toc-list{list-style:none;padding:0;margin:0}
.toc-list li{margin-bottom:4px}
.toc-list li a{display:block;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;color:#666;text-decoration:none;transition:.3s;border-left:3px solid transparent}
.toc-list li a.active,.toc-list li a:hover{background:rgba(0,82,156,.06);color:var(--primary);border-left-color:var(--primary)}
.toc-list li.toc-h3 a{padding-left:28px;font-size:12px;color:#999}

/* Author Widget */
.author-widget{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 16px rgba(0,0,0,.05);border:1px solid #eee;margin-bottom:28px;text-align:center}
.author-widget-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;overflow:hidden;border:3px solid rgba(0,82,156,.3)}
.author-widget h5{font-size:18px;font-weight:700;color:var(--dark);margin-bottom:4px}
.author-widget .author-role{font-size:13px;color:var(--primary);font-weight:600;margin-bottom:14px}
.author-widget p{font-size:13px;color:#888;line-height:1.6;margin-bottom:16px}
.author-social{display:flex;justify-content:center;gap:10px}
.author-social a{width:34px;height:34px;border-radius:8px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#888;text-decoration:none;font-size:14px;transition:.3s}
.author-social a:hover{background:var(--primary);color:#fff}

/* CTA Widget */
.cta-widget{background:linear-gradient(135deg,#1a1a2e 0,#16213e 100%);border-radius:16px;padding:32px 28px;text-align:center;border:none;margin-bottom:28px}
.cta-widget h4{font-size:20px;font-weight:700;color:#fff;margin-bottom:12px}
.cta-widget p{font-size:14px;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:20px}
.cta-widget .btn{display:inline-block;padding:14px 28px;background:var(--primary);color:#fff;border-radius:10px;text-decoration:none;font-weight:700;font-size:14px;transition:.3s}
.cta-widget .btn:hover{background:#003d75;transform:translateY(-2px)}

/* --- AUTHOR BOX (bottom) --- */
.author-box{background:#fff;border-radius:20px;padding:40px;box-shadow:0 2px 20px rgba(0,0,0,.05);border:1px solid #eee;margin-top:50px;display:flex;gap:30px;align-items:center}
.author-box-avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid rgba(0,82,156,.3);flex-shrink:0}
.author-box-content h4{font-size:20px;font-weight:700;color:var(--dark);margin-bottom:4px}
.author-box-content .role{font-size:14px;color:var(--primary);font-weight:600;margin-bottom:12px}
.author-box-content p{font-size:14px;color:#777;line-height:1.7;margin-bottom:0}

/* --- RELATED POSTS --- */
.related-section{padding:80px 0 100px;background:#fff}
.related-section h3{font-size:28px;font-weight:800;color:var(--dark);text-align:center;margin-bottom:14px}
.related-subtitle{text-align:center;font-size:15px;color:#888;margin-bottom:40px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.related-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.06);border:1px solid #eee;transition:.3s}
.related-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.related-card-image{height:180px;overflow:hidden}
.related-card-image img{width:100%;height:100%;object-fit:cover}
.related-card-body{padding:24px}
.related-card-body .r-cat{font-size:11px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;display:inline-block}
.related-card-body h4{font-size:17px;font-weight:700;color:var(--dark);line-height:1.4;margin-bottom:10px}
.related-card-body h4 a{color:inherit;text-decoration:none;transition:color .3s}
.related-card-body h4 a:hover{color:var(--primary)}
.related-card-body .r-date{font-size:12px;color:#bbb}

/* --- POST CTA SECTION --- */
.post-cta{background:linear-gradient(135deg,#0a0a0a 0,#1a1a2e 100%);padding:80px 0;text-align:center}
.post-cta h2{font-size:34px;font-weight:800;color:#fff;margin-bottom:16px}
.post-cta p{font-size:17px;color:rgba(255,255,255,.6);margin-bottom:32px;max-width:550px;margin-left:auto;margin-right:auto}
.post-cta .btn-primary{padding:16px 36px;font-size:16px}

/* --- RESPONSIVE --- */
@media (max-width:1100px){
    .post-layout{grid-template-columns:1fr}
    .post-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:28px;order:-1}
}
@media (max-width:992px){
    .related-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
    .post-hero{padding:120px 0 50px}
    .post-hero h1{font-size:28px}
    .post-hero-excerpt{font-size:15px}
    .article-body{padding:30px 24px}
    .article-body h2{font-size:22px}
    .post-sidebar,.related-grid{grid-template-columns:1fr}
    .author-box{flex-direction:column;text-align:center}
    .post-cta h2{font-size:26px}
}