:root{--accent:#c83f48;--ink:#242424;--line:#d4d4d4}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font:16px/1.55 Arial,"PingFang SC","Microsoft YaHei",sans-serif}a{color:#ac2c49;text-decoration:none}a:hover{color:#82162e;text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid #087bce;outline-offset:3px}img{max-width:100%}h1,h2,h3{line-height:1.3}h1{font-size:26px}h2{font-size:23px}h3{font-size:19px}.site-shell{width:calc(100% - 48px);max-width:1160px;margin:auto}.masthead{background:#050505;color:#fff;text-align:center;padding:16px 20px 18px;min-height:145px;display:flex;flex-direction:column;justify-content:center}.masthead a{color:#fff;text-decoration:none}.masthead strong{font-size:64px;line-height:1.05;letter-spacing:-3px}.masthead strong span{font-size:43px;letter-spacing:-1px}.masthead>div{font-size:16px;color:#d5d5d5;margin-top:6px;letter-spacing:3px}.site-logo{max-height:95px;max-width:80%;object-fit:contain}.announcement{text-align:center;font-weight:700;font-size:21px;padding:12px 10px;color:#334b0b;overflow-wrap:anywhere}.site-nav{display:flex;flex-wrap:wrap;border-left:1px solid #333;border-top:1px solid #333;margin-bottom:12px}.site-nav a{flex:1 0 auto;border-right:1px solid #333;border-bottom:1px solid #333;padding:9px 14px;text-align:center;color:#202020;background:linear-gradient(#fff,#eee);font-size:16px;font-weight:600}.site-nav a.active,.site-nav a:hover{background:#242424;color:#fff;text-decoration:none}.home-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0}.home-title h1{font-size:17px;color:#606060;margin:0}.home-title a{font-size:14px}.directory-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px}.recent-column h2{font-size:18px;text-align:center;margin:10px 0 15px;color:var(--accent)}.recent-grid{display:grid;gap:15px}.main-column{min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid #222;margin:0 0 14px;padding:6px 0}.section-head h1,.section-head h2{font-size:23px;color:var(--accent);margin:0;font-weight:600}.section-head>a,.section-head>span{font-size:14px}.quick-search{display:flex;width:45%;min-width:280px;gap:5px}.quick-search input{min-width:0;font-size:14px}.quick-search button{white-space:nowrap;font-size:14px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 22px;padding:0 12px}.listing-card{border:1px solid #b8b8b8;min-width:0;background:#fff;transition:border-color .15s}.listing-card:hover{border-color:#a92d46}.card-photo{display:block;aspect-ratio:0.83;position:relative;overflow:hidden;background:#eee}.card-photo img{width:100%;height:100%;object-fit:cover;display:block}.new-ribbon{position:absolute;bottom:0;left:0;width:100%;padding:6px 4px;background:rgba(25,25,25,.68);color:#fff;font-size:12px;text-align:center}.card-copy{padding:9px 7px 8px;text-align:center;font-size:14px;overflow-wrap:anywhere}.card-title{display:block;color:#b62f51;font-size:14px;font-weight:500;min-height:44px}.card-copy p{margin:4px 0;font-size:13px}.card-desc{line-height:1.45;min-height:37px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;justify-content:center;gap:5px;align-items:center;flex-wrap:wrap;font-size:12px;color:#666;margin-top:7px}.tag{display:inline-block;background:#f6e6e9;color:#a32140;font-size:12px;padding:2px 5px}.more-link{display:block;text-align:right;margin:12px 0 24px;font-size:14px}section{margin-bottom:28px}.full-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:0}.breadcrumb-line{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0;font-size:14px;color:#777}.filter-bar{background:#f4f4f4;border:1px solid #ddd;display:flex;align-items:end;gap:12px;padding:16px;margin-bottom:20px;flex-wrap:wrap}.filter-bar label{flex:1;min-width:140px;font-size:14px}.filter-bar label:first-child{flex:2}.filter-bar .btn{white-space:nowrap}.empty{background:#f5f5f5;padding:30px 20px;text-align:center;width:100%;grid-column:1/-1;color:#666}.empty h2{font-size:20px}.pagination{margin:22px 0;flex-wrap:wrap;gap:3px}.page-link{color:#aa2945}.active>.page-link{background:#b92f49;border-color:#b92f49}footer{border-top:1px solid #ccc;text-align:center;font-size:13px;color:#757575;margin:35px 0 0;padding:24px 12px 35px}footer a{display:inline-block;margin-top:10px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:35px}.detail-cover{width:100%;max-height:530px;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover}.detail-copy h1{margin:12px 0 20px}.eyebrow{color:#b52c4b;font-size:15px}.lead{font-size:18px}.detail-facts{margin:25px 0;border-top:1px solid #ddd}.detail-facts>div{display:flex;border-bottom:1px solid #ddd;padding:9px 0;gap:15px}.detail-facts dt{font-weight:400;color:#777;min-width:90px}.detail-facts dd{margin:0}.detail-copy h2{font-size:20px}.plain-content{white-space:pre-line;overflow-wrap:anywhere;line-height:1.9}.comments-section{margin-top:40px}.comment-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px}.comment{border-bottom:1px solid #ddd;padding:14px 0}.comment>div{display:flex;justify-content:space-between;gap:10px}.comment time{font-size:13px;color:#888}.comment p{margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.panel{border:1px solid #ddd;padding:22px;background:#fff}.comment-form label{display:block;margin:15px 0 6px;font-size:14px}.comment-form button{margin-top:18px}.muted{color:#6a6a6a;font-size:14px}.honeypot{display:none}.btn-danger{background:var(--accent);border-color:var(--accent)}.btn{font-size:14px}.form-control,.form-select{font-size:16px}.alert{margin:16px 0;overflow-wrap:anywhere}.upload-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.upload-preview img{width:90px;height:90px;object-fit:cover}
/* Independent CMS */
.admin-body{background:#f2f3f5}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:#181c24;color:#fff;padding:25px 16px}.admin-brand{font-size:23px;display:block;color:#fff;margin-bottom:5px;font-weight:700}.admin-sidebar .muted{color:#aab2c2}.admin-sidebar nav{display:flex;flex-direction:column;margin-top:28px;gap:5px}.admin-sidebar nav a{padding:12px 14px;color:#d8dde7;border-radius:4px}.admin-sidebar nav a.active{background:#af344c;color:#fff}.admin-sidebar nav a:hover{background:#313640;text-decoration:none}.admin-sidebar form{margin-top:22px}.admin-main{padding:28px 32px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.admin-top h1{margin:0;font-size:26px}.admin-top a{font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.stat{background:white;padding:20px;border:1px solid #ddd}.stat span{display:block;color:#777;font-size:14px}.stat strong{display:block;font-size:32px;margin-top:8px}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-panel{background:#fff;border:1px solid #ddd;padding:20px;min-width:0}.table-panel h2{font-size:19px;margin-bottom:18px}.table{font-size:14px;vertical-align:middle}.table th{white-space:nowrap;background:#f6f6f6;color:#555}.table td{max-width:260px;overflow-wrap:anywhere}.table-responsive{max-width:100%}.table td form{display:inline}.actions{display:flex;gap:6px;flex-wrap:wrap;min-width:150px}.status{padding:3px 7px;border-radius:3px;font-size:12px;background:#eee;display:inline-block}.status-approved,.status-published{color:#146342;background:#e2f2e8}.status-pending{color:#875516;background:#fff0cf}.status-rejected,.status-draft{color:#96334b;background:#f7e6ea}.admin-form{background:#fff;padding:25px;border:1px solid #ddd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.field{min-width:0}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field.wide{grid-column:1/-1}.field small{display:block;font-size:13px;color:#777;margin-top:5px}.check-row{display:flex;gap:20px;flex-wrap:wrap}.check-row label{display:inline-flex;align-items:center;gap:7px;font-size:14px}.form-actions{display:flex;gap:10px;margin-top:25px}.image-manager{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.image-tile{border:1px solid #ddd;background:white;padding:10px}.image-tile img{width:100%;height:150px;object-fit:cover;margin-bottom:10px}.image-tile form{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.image-tile input{width:80px}.login-shell{max-width:440px;margin:8vh auto;padding:0 18px}.login-brand{background:#111;color:white;text-align:center;padding:28px;font-size:29px;font-weight:700}.login-card{padding:28px;background:white;border:1px solid #ddd}.login-card h1{font-size:23px;margin-bottom:25px}.login-card label{display:block;margin:15px 0 7px;font-size:14px}.login-card button{width:100%;margin:24px 0 12px}.mini-row{padding:12px 0;border-bottom:1px solid #eee;font-size:14px}.mini-row p{margin:5px 0;overflow-wrap:anywhere}.mini-row time{color:#777;font-size:12px}.two-panels{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:25px}.compact-form .field{margin-bottom:15px}.review-content{white-space:pre-wrap;overflow-wrap:anywhere}.batch-bar{display:flex;gap:10px;align-items:center;margin-bottom:15px;flex-wrap:wrap}
@media(max-width:1100px){.site-shell{width:calc(100% - 32px)}.directory-layout{grid-template-columns:170px minmax(0,1fr);gap:20px}.card-grid{gap:14px;padding:0}.quick-search{min-width:250px}.card-copy{padding:8px 5px}.full-grid{grid-template-columns:repeat(4,1fr)}.admin-main{padding:25px 20px}.admin-shell{grid-template-columns:190px minmax(0,1fr)}.two-panels{grid-template-columns:1fr}.image-manager{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.directory-layout{grid-template-columns:150px minmax(0,1fr);gap:16px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.section-head{flex-wrap:wrap}.quick-search{width:100%;min-width:0}.full-grid{grid-template-columns:repeat(3,1fr)}.masthead strong{font-size:55px}.masthead strong span{font-size:36px}.admin-shell{display:block}.admin-sidebar{padding:15px 20px}.admin-sidebar nav{flex-direction:row;flex-wrap:wrap;margin-top:10px;gap:4px}.admin-sidebar nav a{padding:7px 10px;font-size:14px}.admin-sidebar form{margin-top:12px}.admin-columns{grid-template-columns:1fr}.admin-top{margin-bottom:18px}.detail-layout{gap:22px}.comment-layout{gap:22px}.image-manager{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.site-shell{width:calc(100% - 20px)}.masthead{min-height:115px;padding:18px 10px}.masthead strong{font-size:45px}.masthead strong span{font-size:28px}.masthead>div{font-size:14px;letter-spacing:2px}.announcement{font-size:16px;padding:12px 8px}.site-nav a{flex:1 0 25%;padding:9px 7px;font-size:14px}.home-title{gap:10px;margin:15px 0}.home-title h1{font-size:15px}.home-title a{white-space:nowrap;font-size:13px}.directory-layout{display:flex;flex-direction:column;gap:20px}.recent-column h2{text-align:left;border-bottom:2px solid #222;padding:7px 0;margin:0 0 12px;font-size:21px}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recent-grid .listing-card:nth-child(n+3){display:none}.recent-column .more-link{margin-bottom:0}.card-grid,.full-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.section-head h2,.section-head h1{font-size:21px}.section-head .quick-search{order:-1;margin-bottom:6px}.card-title{font-size:14px;min-height:44px}.card-photo{aspect-ratio:.83}.card-copy p{font-size:13px}.new-ribbon{font-size:12px}.filter-bar{padding:12px;gap:10px}.filter-bar label:first-child{flex-basis:100%}.filter-bar label{min-width:120px}.detail-layout,.comment-layout{grid-template-columns:1fr}.detail-cover{max-height:450px}.detail-copy h1{font-size:25px}.detail-facts{font-size:14px}.comment time{font-size:12px}.panel{padding:18px}.admin-main{padding:20px 12px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat strong{font-size:27px}.admin-form{padding:18px 14px}.form-grid{grid-template-columns:1fr;gap:16px}.field.wide{grid-column:auto}.admin-top h1{font-size:22px}.image-manager{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-panel{padding:12px}.two-panels{gap:18px}.breadcrumb-line{margin:18px 0}.pagination{font-size:14px}.page-link{padding:6px 10px}}

.mobile-search{display:none}@media(max-width:600px){.mobile-search{display:block;margin:0 0 16px}.main-column .section-head .quick-search{display:none}}
