/*
Theme Name: Huanji Society
Theme URI: https://ssrosi.com/
Author: Huanji Society
Description: Editorial archive theme for Huanji Society.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: huanji
*/

:root{--ink:#1a1b18;--muted:#777a70;--paper:#f4f4ef;--surface:#fff;--line:#dedfd6;--accent:#e65e48;--green:#70856d}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.site-header{height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:12px}.brand>span:last-child{display:grid;gap:2px}.brand strong{font:700 20px Georgia,serif}.brand small{color:var(--muted);font-size:10px;letter-spacing:.12em}
.brand-mark{width:36px;height:36px;display:inline-grid;place-items:center;color:#fff;background:var(--ink);font:20px Georgia,serif}
.main-nav{display:flex;gap:clamp(16px,4vw,42px);margin-left:auto;margin-right:38px}.main-nav a{color:var(--muted);font-size:13px}.main-nav a:hover,.main-nav a.current-menu-item{color:var(--ink);font-weight:700}
.hero{padding:72px clamp(20px,5vw,76px) 36px;background:var(--ink);color:#fff}.hero-inner{max-width:1250px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.eyebrow{margin:0 0 14px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.2em}.hero h1{max-width:680px;margin:0;font:500 clamp(42px,6vw,78px)/1.04 Georgia,"Songti SC",serif}.hero h1 em{color:#f3927e;font-style:normal}
.hero-description{max-width:460px;margin:24px 0 0;color:#bfc2b6;font-size:15px;line-height:1.8}.hero-stat{min-width:190px;padding:0 0 7px 22px;border-left:1px solid #44483f}.hero-stat span,.hero-stat small{display:block;color:#a7aa9f;font-size:12px}.hero-stat strong{display:block;margin:7px 0;font:48px Georgia,serif}
.search-wrap{max-width:1250px;margin:58px auto 0;height:60px;display:flex;align-items:center;gap:14px;padding:0 17px;background:#2a2d27;border:1px solid #4a4d45}.search-wrap input{min-width:0;flex:1;border:0;outline:0;color:#fff;background:transparent;font-size:15px}.search-wrap input::placeholder{color:#8e9288}.search-symbol{color:#f3927e;font-size:25px}
.toolbar,.content-section{max-width:1250px;margin:0 auto}.toolbar{padding:28px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:24px}.filter-group{display:flex;flex-wrap:wrap;gap:9px}.filter-chip{padding:9px 15px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px}.filter-chip:hover,.filter-chip.active{color:var(--ink);border-color:var(--ink);background:var(--surface)}
.sort-control{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;white-space:nowrap}.sort-control select{padding:8px 25px 8px 9px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.content-section{padding:20px 0 100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.section-heading h2{margin:0;font:500 34px Georgia,"Songti SC",serif}.result-count{color:var(--muted);font-size:12px}
.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.album-card{overflow:hidden;background:var(--surface);border:1px solid var(--line)}.album-cover{position:relative;aspect-ratio:4/5;overflow:hidden;background:#cfd6c9}.album-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.album-card:hover .album-cover img{transform:scale(1.045)}
.album-overlay{position:absolute;inset:auto 0 0;padding:38px 14px 12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}.album-overlay span{font-size:11px}.album-body{padding:15px 15px 16px}.album-title{margin:0 0 8px;font:500 19px Georgia,"Songti SC",serif}.album-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.album-tag{color:var(--green)}
.album-action{display:block;width:100%;margin-top:15px;padding:9px 0;border:1px solid var(--line);color:var(--ink);background:transparent;text-align:center;font-size:12px}.album-action:hover{border-color:var(--accent);color:var(--accent)}
.about-band{padding:70px max(20px,calc((100vw - 1250px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#dfe5dc}.about-band .eyebrow{color:var(--green)}.about-band h2{max-width:460px;margin:0;font:500 34px Georgia,serif}.about-band>p{align-self:end;max-width:440px;margin:0;color:#596257;line-height:1.9;font-size:14px}
.site-footer{padding:25px clamp(20px,5vw,76px);display:flex;justify-content:space-between;gap:16px;color:var(--muted);background:var(--surface);font-size:11px}
.age-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(14,16,13,.83)}.age-panel{width:min(460px,100%);padding:40px;background:var(--paper);box-shadow:0 18px 45px rgba(24,27,20,.1)}.age-panel h2{margin:0;font:500 35px Georgia,serif}.age-copy{margin:16px 0 28px;color:var(--muted);font-size:13px;line-height:1.8}.age-actions{display:flex;gap:10px}.button{padding:12px 16px;border:1px solid transparent;font-size:12px;cursor:pointer}.button-primary{color:#fff;background:var(--accent)}.button-quiet{border-color:var(--line);color:var(--muted);background:transparent}
.single-wrap{max-width:900px;margin:0 auto;padding:70px 20px 100px}.single-wrap h1{margin:0 0 18px;font:500 52px Georgia,serif}.single-meta{color:var(--muted);font-size:13px}.single-cover{max-width:620px;margin-top:32px}.single-cover img{width:100%;height:auto;display:block}.resource-button{display:inline-block;margin-top:24px;padding:13px 17px;color:#fff;background:var(--ink);font-size:12px}
@media(max-width:1000px){.toolbar,.content-section{margin-left:20px;margin-right:20px}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.site-header{height:66px}.main-nav{gap:16px;margin-right:14px}.main-nav a{font-size:12px}.hero{padding-top:48px}.hero-inner{display:block}.hero-stat{margin-top:34px}.search-wrap{margin-top:40px}.toolbar{display:block}.sort-control{margin-top:16px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-body{padding:12px}.album-title{font-size:17px}.about-band{display:block;padding:54px 20px}.about-band>p{margin-top:28px}.site-footer{display:block;line-height:1.8}.site-footer span{display:block}.site-footer span+span{margin-top:6px}.age-panel{padding:30px 24px}.single-wrap h1{font-size:42px}}
