/*
Theme Name: Komorebi Library
Theme URI: https://shiinaseana.com/
Author: Shiina Shiina
Description: 大きな写真と静かな余白で、長い文章を心地よく読ませる「木漏れ日図書館」のためのオリジナルテーマ。
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: komorebi-library
*/

:root{--ink:#29332d;--muted:#718077;--green:#5f7967;--green-dark:#405847;--leaf:#dfe9df;--cream:#f7f4ec;--paper:#fffefb;--line:#d9dfd8;--shadow:0 18px 50px rgba(42,58,48,.09);--content:760px;--wide:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:17px;line-height:1.95;letter-spacing:.025em}body.menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:var(--green-dark);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--green)}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;top:10px;left:10px;padding:.7rem 1rem;background:#fff;z-index:9999}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,254,251,.93);border-bottom:1px solid rgba(217,223,216,.8);backdrop-filter:blur(14px)}.header-inner{max-width:var(--wide);min-height:84px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}.site-branding{line-height:1.35}.site-title{margin:0;font-family:"Noto Serif JP",serif;font-size:1.28rem;font-weight:600;letter-spacing:.08em}.site-title a{text-decoration:none;color:var(--ink)}.site-description{margin:.25rem 0 0;color:var(--muted);font-family:"Noto Serif JP",serif;font-size:.72rem;letter-spacing:.12em}.primary-menu{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}.primary-menu a{text-decoration:none;color:var(--ink);font-size:.88rem;letter-spacing:.08em}.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--green)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;margin:6px 0;background:currentColor;transition:.25s}
.site-main{min-height:60vh}.hero{background:linear-gradient(135deg,var(--cream),#edf3eb);padding:clamp(70px,9vw,132px) 32px}.hero-inner{max-width:var(--wide);margin:auto}.eyebrow{display:block;margin-bottom:18px;color:var(--green);font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.hero-title{max-width:820px;margin:0;font-family:"Noto Serif JP",serif;font-size:clamp(2.3rem,6vw,5rem);font-weight:500;line-height:1.3;letter-spacing:.07em}.hero-copy{max-width:620px;margin:28px 0 0;color:#58655e;font-family:"Noto Serif JP",serif;font-size:clamp(1rem,1.6vw,1.2rem)}.archive-head{max-width:var(--wide);margin:0 auto;padding:72px 32px 28px}.archive-title{margin:0;font-family:"Noto Serif JP",serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1.35}.archive-description{max-width:660px;color:var(--muted)}
.post-grid{max-width:var(--wide);margin:0 auto;padding:36px 32px 110px;display:grid;grid-template-columns:repeat(12,1fr);gap:64px 36px}.post-card{grid-column:span 6}.post-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:center;gap:54px;padding-bottom:64px;border-bottom:1px solid var(--line)}.card-image{display:block;overflow:hidden;background:var(--leaf);aspect-ratio:16/10}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.card-image:hover img{transform:scale(1.025)}.card-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#dfe8dd,#f1eee4);color:var(--green);font-family:"Noto Serif JP",serif;letter-spacing:.12em}.card-content{padding-top:24px}.post-card:first-child .card-content{padding-top:0}.post-meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin-bottom:13px;color:var(--muted);font-size:.76rem;letter-spacing:.08em}.post-meta a{text-decoration:none;color:inherit}.card-title{margin:0;font-family:"Noto Serif JP",serif;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:500;line-height:1.55}.card-title a{text-decoration:none;color:var(--ink)}.card-excerpt{margin:16px 0 0;color:#5b665f;font-size:.95rem;line-height:1.85}.read-more{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:.78rem;font-weight:600;letter-spacing:.13em;text-decoration:none}.read-more::after{content:"";width:34px;height:1px;background:currentColor;transition:width .2s}.read-more:hover::after{width:48px}
.pagination{grid-column:1/-1;display:flex;justify-content:center;margin-top:24px}.pagination .nav-links{display:flex;gap:8px;align-items:center}.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line);text-decoration:none}.page-numbers.current{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.single-header{max-width:980px;margin:0 auto;padding:clamp(70px,9vw,120px) 32px 46px;text-align:center}.single-title{margin:10px 0 22px;font-family:"Noto Serif JP",serif;font-size:clamp(2.1rem,5vw,4rem);font-weight:500;line-height:1.45;letter-spacing:.045em}.single-meta{justify-content:center}.featured-visual{max-width:var(--wide);margin:0 auto 72px;padding:0 32px}.featured-visual img{display:block;width:100%;max-height:760px;object-fit:cover}.entry-content{max-width:var(--content);margin:0 auto;padding:0 32px 100px}.entry-content>*{margin-top:0;margin-bottom:1.8em}.entry-content h2,.entry-content h3,.entry-content h4{font-family:"Noto Serif JP",serif;font-weight:600;line-height:1.55;letter-spacing:.04em}.entry-content h2{margin-top:3em;padding-bottom:.6em;border-bottom:1px solid var(--line);font-size:1.75rem}.entry-content h3{margin-top:2.5em;font-size:1.35rem}.entry-content blockquote{margin:2.5em 0;padding:1.2em 1.6em;border-left:3px solid var(--green);background:var(--cream);font-family:"Noto Serif JP",serif}.entry-content figure{margin:2.8em 0}.entry-content .alignwide{width:min(100vw - 64px,var(--wide));max-width:none;margin-left:50%;transform:translateX(-50%)}.entry-content .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}.entry-content iframe,.entry-content video{max-width:100%}.entry-content pre{overflow:auto;padding:1.3em;background:#222c26;color:#eef4ef}.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:.7em;border:1px solid var(--line)}.post-tags{max-width:var(--content);margin:-60px auto 80px;padding:0 32px;color:var(--muted);font-size:.8rem}.post-tags a{display:inline-block;margin:4px;padding:5px 10px;border:1px solid var(--line);text-decoration:none}.post-navigation{max-width:var(--wide);margin:0 auto 100px;padding:40px 32px;border-top:1px solid var(--line)}.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:28px}.post-navigation a{text-decoration:none}.nav-next{text-align:right}
.page-wrap{max-width:var(--content);margin:0 auto;padding:80px 32px 110px}.page-title{font-family:"Noto Serif JP",serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.4}.no-results{grid-column:1/-1;padding:70px 0;text-align:center}.search-form{display:flex;max-width:520px;margin:30px auto}.search-field{flex:1;min-width:0;padding:13px;border:1px solid var(--line);font:inherit}.search-submit{padding:13px 22px;border:0;background:var(--green-dark);color:#fff;font:inherit;cursor:pointer}
.site-footer{background:#29362e;color:#dce5df}.footer-inner{max-width:var(--wide);margin:auto;padding:72px 32px 34px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:64px}.footer-title{margin:0;font-family:"Noto Serif JP",serif;font-size:1.55rem;letter-spacing:.08em}.footer-copy{max-width:440px;color:#adbbb1;font-family:"Noto Serif JP",serif}.footer-menu{display:flex;justify-content:flex-end;gap:14px 28px;flex-wrap:wrap;margin:0;padding:0;list-style:none}.footer-menu a{color:#dce5df;text-decoration:none;font-size:.85rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);color:#92a299;font-size:.72rem;letter-spacing:.08em}.footer-bottom a{color:inherit}
@media(max-width:800px){body{font-size:16px;line-height:1.85}.header-inner{min-height:70px;padding:0 22px}.site-description{display:none}.menu-toggle{display:block;z-index:2}.main-navigation{position:fixed;inset:0;background:rgba(255,254,251,.98);display:grid;place-items:center;visibility:hidden;opacity:0;transition:.25s}.main-navigation.is-open{visibility:visible;opacity:1}.primary-menu{flex-direction:column;gap:24px}.primary-menu a{font-family:"Noto Serif JP",serif;font-size:1.25rem}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.hero{padding:70px 22px 78px}.archive-head{padding:58px 22px 18px}.post-grid{padding:28px 22px 78px;display:block}.post-card,.post-card:first-child{display:block;padding:0 0 46px;margin:0 0 46px;border-bottom:1px solid var(--line)}.post-card:last-of-type{border-bottom:0}.card-content,.post-card:first-child .card-content{padding-top:20px}.pagination{margin-bottom:20px}.single-header{padding:62px 22px 34px}.featured-visual{padding:0;margin-bottom:46px}.featured-visual img{max-height:65vh}.entry-content{padding:0 22px 74px}.entry-content .alignwide,.entry-content .alignfull{width:100vw}.entry-content h2{font-size:1.5rem}.post-tags{padding:0 22px;margin-top:-40px}.post-navigation{padding:30px 22px;margin-bottom:70px}.post-navigation .nav-links{grid-template-columns:1fr}.nav-next{text-align:left}.page-wrap{padding:58px 22px 80px}.footer-inner{padding:58px 22px 28px}.footer-top{grid-template-columns:1fr;gap:36px}.footer-menu{justify-content:flex-start}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-image img,.main-navigation,.menu-toggle span{transition:none}}
