/* DentistOpinion Blog — page-specific styles */
.do-blog, .do-article { color:var(--text); }
.blog-wrap { width:min(1160px, calc(100% - 48px)); margin:0 auto; }
.blog-hero { background:linear-gradient(120deg,#091d40 0%,#0f2b5b 58%,#126b70 100%); color:#fff; overflow:hidden; position:relative; }
.blog-hero-grid { min-height:420px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:40px; padding-top:64px; padding-bottom:64px; }
.blog-kicker { display:inline-flex; align-items:center; gap:9px; color:#5eead4; font-size:11px; font-weight:800; letter-spacing:.14em; margin-bottom:20px; }
.blog-kicker>span { width:24px; height:2px; background:currentColor; display:inline-block; }
.blog-kicker-dark { color:var(--teal); }
.blog-hero h1 { max-width:680px; font:700 clamp(38px,5.4vw,64px)/1.08 var(--font-display); letter-spacing:-.035em; margin:0 0 20px; }
.blog-hero h1 em { color:#5eead4; font-style:italic; }
.blog-hero-copy>p { max-width:570px; color:rgba(255,255,255,.76); font-size:16px; line-height:1.85; margin-bottom:28px; }
.blog-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 21px; border-radius:999px; font-size:13px; font-weight:750; transition:.2s ease; }
.blog-btn:hover { transform:translateY(-2px); }
.blog-btn-light { background:#fff; color:var(--navy); }
.blog-btn-navy { background:var(--navy); color:#fff; }
.blog-hero-art { min-height:280px; display:grid; place-items:center; position:relative; }
.blog-art-circle { width:270px; height:270px; border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(94,234,212,.28),rgba(13,148,136,.06) 65%,transparent 66%); border:1px solid rgba(255,255,255,.15); }
.blog-art-card { position:absolute; width:260px; min-height:210px; padding:27px; border:1px solid rgba(255,255,255,.22); border-radius:20px; background:rgba(255,255,255,.1); backdrop-filter:blur(12px); box-shadow:0 24px 65px rgba(0,0,0,.2); transform:rotate(-5deg); display:flex; flex-direction:column; }
.blog-art-card i { color:#5eead4; font-size:27px; margin-bottom:16px; }
.blog-art-card span { color:#b8fff2; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.blog-art-card strong { font:700 25px/1.18 var(--font-display); margin:7px 0 15px; }
.blog-art-card small { font-size:8px; letter-spacing:.12em; color:rgba(255,255,255,.55); }
.blog-art-orbit { position:absolute; border:1px solid rgba(94,234,212,.28); border-radius:50%; transform:rotate(-28deg); }
.orbit-one { width:360px; height:140px; }.orbit-two { width:390px; height:205px; transform:rotate(35deg); }
.blog-featured-section { padding:66px 0 30px; background:#fff; }
.blog-featured { display:grid; grid-template-columns:1.08fr .92fr; border:1px solid var(--border); border-radius:22px; overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); }
.blog-featured-image { min-height:350px; position:relative; overflow:hidden; background:#e8eef8; }
.blog-featured-image img,.blog-card-image img,.article-cover img { width:100%; height:100%; object-fit:cover; }
.blog-featured-image img { position:absolute; inset:0; transition:transform .5s ease; }
.blog-featured-image:hover img,.blog-card-image:hover img { transform:scale(1.045); }
.blog-image-label { position:absolute; top:20px; left:20px; background:var(--navy); color:#fff; padding:8px 12px; border-radius:4px; font-size:9px; font-weight:800; letter-spacing:.12em; }
.blog-featured-copy { padding:clamp(28px,4vw,52px); align-self:center; }
.blog-category { display:inline-block; color:var(--teal-dark); background:#e7f7f5; border:1px solid #c7eeea; padding:6px 10px; border-radius:4px; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.blog-featured-copy h2 { font:700 clamp(26px,3vw,36px)/1.2 var(--font-display); color:var(--navy); margin:18px 0 14px; }
.blog-featured-copy h2 a:hover,.blog-card h3 a:hover { color:var(--teal-dark); }
.blog-featured-copy>p { color:var(--text-muted); font-size:14px; line-height:1.85; }
.blog-meta { display:flex; gap:10px; align-items:center; color:var(--text-muted); font-size:11px; margin:22px 0; }
.blog-read-link { color:var(--teal-dark); font-size:13px; font-weight:800; display:inline-flex; gap:9px; align-items:center; }
.blog-list-section { padding:62px 0 90px; background:var(--bg-page); }
.blog-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.blog-section-heading h2 { font:700 clamp(30px,4vw,42px)/1.15 var(--font-display); color:var(--navy); margin-bottom:9px; }
.blog-section-heading p { color:var(--text-muted); font-size:14px; }
.blog-search { width:min(290px,100%); display:flex; align-items:center; gap:10px; padding:12px 15px; background:#fff; border:1px solid var(--border); border-radius:8px; color:var(--text-muted); }
.blog-search input { width:100%; border:0; outline:0; font:13px var(--font-body); color:var(--text); }
.blog-filters { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:27px; }
.blog-filter { border:1px solid var(--border-mid); background:#fff; color:var(--text-soft); padding:9px 15px; border-radius:999px; font:600 11px var(--font-body); cursor:pointer; transition:.2s; }
.blog-filter:hover,.blog-filter.active { background:var(--navy); border-color:var(--navy); color:#fff; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.blog-card { min-width:0; background:#fff; border:1px solid var(--border); border-radius:15px; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.blog-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.blog-card[hidden] { display:none!important; }
.blog-card-image { display:block; height:205px; overflow:hidden; background:#e8eef8; }
.blog-card-image img { transition:transform .5s ease; }
.blog-card-body { padding:22px; }
.blog-card h3 { font:700 20px/1.3 var(--font-display); color:var(--navy); margin:13px 0 10px; }
.blog-card-body>p { color:var(--text-muted); font-size:12.5px; line-height:1.75; min-height:66px; }
.blog-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--border); padding-top:15px; margin-top:18px; color:var(--text-muted); font-size:10px; }
.blog-card-bottom a { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#e7f7f5; color:var(--teal-dark); flex-shrink:0; }
.blog-no-results { color:var(--text-muted); padding:35px 0; text-align:center; }
.blog-newsletter { padding:58px 0; background:linear-gradient(115deg,var(--navy-dark),var(--navy-mid)); color:#fff; }
.blog-newsletter-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.blog-newsletter h2 { font:700 clamp(27px,3vw,38px)/1.2 var(--font-display); margin-bottom:10px; }
.blog-newsletter p { color:rgba(255,255,255,.7); font-size:13px; }
.blog-breadcrumb { display:flex; align-items:center; gap:10px; padding:28px 0; color:var(--text-muted); font-size:11px; flex-wrap:wrap; }
.blog-breadcrumb a:hover { color:var(--teal-dark); }.blog-breadcrumb i { font-size:8px; }
.article-header { max-width:850px; margin:22px auto 34px; text-align:center; }
.article-header h1 { font:700 clamp(34px,5vw,54px)/1.13 var(--font-display); letter-spacing:-.025em; color:var(--navy); margin:18px 0; }
.article-excerpt { max-width:720px; margin:0 auto; color:var(--text-muted); font-size:16px; line-height:1.8; }
.article-byline { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:22px; color:var(--text-muted); font-size:11px; }
.article-cover { max-width:1000px; height:440px; margin:0 auto 55px; border-radius:18px; overflow:hidden; background:#e8eef8; }
.article-cover img { object-position:center; }.article-cover figcaption { position:absolute; }
.article-layout { display:grid; grid-template-columns:245px minmax(0,760px); gap:65px; justify-content:center; align-items:start; padding-bottom:90px; }
.article-sidebar { position:sticky; top:130px; }
.article-toc { background:#fff; border:1px solid var(--border); border-radius:12px; padding:20px; }
.article-toc strong { display:block; color:var(--navy); font-size:13px; margin-bottom:13px; }
.article-toc nav { display:flex; flex-direction:column; gap:11px; }
.article-toc a { color:var(--text-muted); font-size:11px; line-height:1.5; border-left:2px solid var(--border); padding-left:10px; }
.article-toc a:hover { color:var(--teal-dark); border-color:var(--teal); }
.article-help { margin-top:17px; background:var(--navy); color:#fff; border-radius:12px; padding:21px; }
.article-help>i { color:#5eead4; font-size:22px; margin-bottom:13px; }
.article-help h3 { font:700 19px var(--font-display); margin-bottom:9px; }
.article-help p { color:rgba(255,255,255,.68); font-size:11px; line-height:1.7; margin-bottom:14px; }
.article-help a { color:#5eead4; font-size:11px; font-weight:800; }
.article-content { color:var(--text-soft); font-size:15px; line-height:1.95; }
.article-content h2 { color:var(--navy); font:700 27px/1.25 var(--font-display); margin:38px 0 13px; scroll-margin-top:120px; }
.article-content h3 { color:var(--navy); font:700 21px/1.3 var(--font-display); margin:28px 0 10px; }
.article-content p { margin:0 0 18px; }
.article-disclaimer { margin:35px 0 24px; padding:18px 20px; background:#eef8f7; border-left:3px solid var(--teal); border-radius:0 8px 8px 0; color:#365b5a; font-size:12px; line-height:1.75; }
.article-back { display:inline-flex; gap:9px; align-items:center; color:var(--teal-dark); font-size:12px; font-weight:800; }
.blog-404 { padding:90px 0 120px; }.blog-404 h1 { color:var(--navy); font:700 40px var(--font-display); margin:10px 0; }.blog-404 p { color:var(--text-muted); margin-bottom:24px; }
@media(max-width:900px) {
 .blog-hero-grid { grid-template-columns:1fr .7fr; gap:15px; }
 .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .article-layout { grid-template-columns:200px minmax(0,1fr); gap:30px; }
 .article-cover { height:360px; }
}
@media(max-width:680px) {
 .blog-wrap { width:min(100% - 36px,560px); }
 .blog-hero-grid { display:block; padding-top:58px; padding-bottom:55px; }
 .blog-hero-art { display:none; }
 .blog-hero h1 { font-size:42px; }
 .blog-featured-section { padding:35px 0 15px; }
 .blog-featured { grid-template-columns:1fr; }
 .blog-featured-image { min-height:230px; }
 .blog-featured-copy { padding:25px; }
 .blog-section-heading { display:block; }
 .blog-search { margin-top:20px; width:100%; }
 .blog-grid { grid-template-columns:1fr; }
 .blog-card-image { height:220px; }
 .blog-newsletter-inner { display:block; }
 .blog-newsletter-inner>.blog-btn { margin-top:22px; }
 .article-header { margin-top:10px; }
 .article-header h1 { font-size:35px; }
 .article-excerpt { font-size:14px; }
 .article-cover { height:245px; margin-bottom:30px; border-radius:12px; }
 .article-layout { display:flex; flex-direction:column; gap:24px; padding-bottom:60px; }
 .article-sidebar { position:static; width:100%; }
 .article-help { display:none; }
 .article-content { font-size:14px; }
 .article-content h2 { font-size:24px; }
 .blog-breadcrumb { padding:20px 0; }
}
