@charset "utf-8";
/* 朱英凱室內設計 — /blog/ 知識庫版型。沿用 default.css / style.css，本檔只補 blog 專用模組。 */
:root{
	--kb-text:#666; --kb-dark:#333; --kb-black:#000;
	--kb-line:#ccc; --kb-line-light:#e5e5e5; --kb-bg-soft:#fafafa;
	--kb-accent:#8f7a5c;
}
.breadcrumb{font-size:.75rem;letter-spacing:.05em;color:#999;margin-bottom:40px;line-height:2;}
.breadcrumb ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.breadcrumb li:not(:last-child)::after{content:"／";margin:0 .4em;color:var(--kb-line);}
.breadcrumb a{color:#999;}
.breadcrumb a:hover{color:var(--kb-black);}
.breadcrumb li:last-child{color:var(--kb-dark);}

.kb-wrap{max-width:820px;margin:0 auto;}
.kb-wrap-wide{max-width:1200px;margin:0 auto;}

.article-head{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--kb-line-light);}
.article-cat{display:inline-block;font-size:.75rem;letter-spacing:.15em;color:var(--kb-accent);margin-bottom:18px;}
.article-title{font-size:1.5rem;font-weight:normal;line-height:1.7;color:var(--kb-black);letter-spacing:.05em;margin-bottom:20px;}
.article-meta{font-size:.75rem;color:#999;letter-spacing:.05em;}
.article-meta span:not(:last-child)::after{content:"·";margin:0 .6em;color:var(--kb-line);}
.article-lead{font-size:.9375rem;line-height:2.1;color:var(--kb-dark);margin-bottom:50px;padding-left:18px;border-left:2px solid var(--kb-accent);}

.toc{background:var(--kb-bg-soft);border:1px solid var(--kb-line-light);padding:28px 32px;margin-bottom:60px;}
.toc-title{font-size:.875rem;color:var(--kb-black);letter-spacing:.1em;margin-bottom:16px;}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;}
.toc li{counter-increment:toc;font-size:.8125rem;line-height:2.2;}
.toc li::before{content:counter(toc,decimal-leading-zero);color:var(--kb-line);margin-right:.8em;font-size:.75rem;}
.toc a{color:var(--kb-text);}
.toc a:hover{color:var(--kb-black);text-decoration:underline;}

.article-body{font-size:.875rem;line-height:2.1;color:var(--kb-text);}
.article-body h2{font-size:1.125rem;font-weight:500;color:var(--kb-black);letter-spacing:.05em;line-height:1.8;margin:70px 0 24px;padding-bottom:14px;border-bottom:1px solid var(--kb-line-light);scroll-margin-top:90px;}
.article-body h3{font-size:1rem;font-weight:500;color:var(--kb-dark);letter-spacing:.05em;margin:44px 0 16px;}
.article-body p{margin-bottom:24px;}
.article-body ul,.article-body ol{margin:0 0 24px 1.4em;}
.article-body li{margin-bottom:10px;}
.article-body strong{color:var(--kb-black);font-weight:500;}
.article-body a{color:var(--kb-dark);text-decoration:underline;text-underline-offset:.25em;}
.article-body a:hover{color:var(--kb-black);}

.callout{background:var(--kb-bg-soft);border-left:2px solid var(--kb-accent);padding:24px 28px;margin:34px 0;}
.callout-title{font-size:.875rem;color:var(--kb-black);margin-bottom:10px;letter-spacing:.05em;}
.callout p:last-child{margin-bottom:0;}

.article-fig{margin:40px 0;}
.article-fig img{width:100%;height:auto;display:block;}
.article-fig figcaption{font-size:.75rem;color:#999;margin-top:12px;line-height:1.9;}

.table-wrap{overflow-x:auto;margin:34px 0;}
.table-wrap table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:520px;}
.table-wrap th,.table-wrap td{border:1px solid var(--kb-line-light);padding:12px 14px;text-align:left;line-height:1.9;}
.table-wrap th{background:var(--kb-bg-soft);color:var(--kb-dark);font-weight:500;}

.faq{margin-top:80px;}
.faq-heading{font-size:1.125rem;font-weight:500;color:var(--kb-black);letter-spacing:.05em;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--kb-line-light);}
.faq-item{border-bottom:1px solid var(--kb-line-light);}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 34px 20px 0;font-size:.875rem;color:var(--kb-dark);position:relative;line-height:1.9;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";position:absolute;right:6px;top:20px;color:var(--kb-line);font-size:1rem;}
.faq-item[open] summary::after{content:"–";}
.faq-answer{padding:0 0 22px;font-size:.875rem;line-height:2.1;}
.faq-answer p:last-child{margin-bottom:0;}

.article-cta{margin:80px 0 0;padding:44px 40px;background:var(--kb-bg-soft);border:1px solid var(--kb-line-light);text-align:center;}
.article-cta-title{font-size:1rem;color:var(--kb-black);letter-spacing:.08em;margin-bottom:14px;}
.article-cta p{font-size:.8125rem;line-height:2;margin-bottom:26px;}
.article-cta .btn{display:inline-block;border:1px solid var(--kb-dark);color:var(--kb-dark);padding:12px 42px;font-size:.8125rem;letter-spacing:.15em;transition:.3s;}
.article-cta .btn:hover{background:var(--kb-dark);color:#fff;}

.related{margin-top:80px;}
.related-title{font-size:1rem;color:var(--kb-black);letter-spacing:.1em;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--kb-line-light);}
.related-list{list-style:none;margin:0;padding:0;}
.related-list li{border-bottom:1px solid #f0f0f0;}
.related-list a{display:block;padding:16px 0;font-size:.8125rem;line-height:1.9;color:var(--kb-text);}
.related-list a:hover{color:var(--kb-black);}

.article-nav{display:flex;justify-content:space-between;gap:20px;margin-top:50px;font-size:.8125rem;}
.article-nav a{color:var(--kb-text);max-width:46%;line-height:1.9;}
.article-nav a:hover{color:var(--kb-black);}
.article-nav .prev::before{content:"← ";color:var(--kb-line);}
.article-nav .next::after{content:" →";color:var(--kb-line);}

.kb-intro{max-width:820px;margin:0 auto 70px;font-size:.875rem;line-height:2.2;}
.kb-intro p{margin-bottom:24px;}
.kb-intro h2{font-size:1.125rem;font-weight:500;color:var(--kb-black);letter-spacing:.05em;margin:60px 0 22px;padding-bottom:14px;border-bottom:1px solid var(--kb-line-light);}

.kb-list{display:flex;flex-wrap:wrap;margin:-1.25vw;}
.kb-card{position:relative;width:calc(33.333% - 2.5vw);margin:1.25vw;padding:34px 30px;border:1px solid var(--kb-line);box-sizing:border-box;transition:.3s;display:block;}
.kb-card:hover{border-color:var(--kb-dark);}
.kb-card-cat{font-size:.6875rem;letter-spacing:.15em;color:var(--kb-accent);margin-bottom:14px;display:block;}
.kb-card-name{font-size:1rem;color:var(--kb-black);letter-spacing:.05em;line-height:1.8;margin-bottom:14px;}
.kb-card-desc{font-size:.8125rem;line-height:2;color:var(--kb-text);margin-bottom:20px;}
.kb-card-count{font-size:.75rem;color:#999;letter-spacing:.05em;}
.kb-card.is-soon{opacity:.45;pointer-events:none;}

@media screen and (max-width:1024px){
	.kb-card{width:calc(50% - 2.5vw);}
	.article-title{font-size:1.25rem;}
}
@media screen and (max-width:640px){
	.kb-wrap,.kb-intro{max-width:100%;}
	.kb-card{width:100%;margin:1.25vw 0;}
	.kb-list{margin:0;}
	.article-title{font-size:1.125rem;}
	.article-cta{padding:34px 22px;}
	.toc{padding:22px 20px;}
	.article-body h2{margin-top:52px;}
	.article-nav{flex-direction:column;gap:14px;}
	.article-nav a{max-width:100%;}
}
