/* Native ZBlog content only; corporate/header surfaces keep their own styles. */

/* ---------------------------------------------------------------------------
   Article presentation, controlled by the theme "文章内容" settings group.
   Two selectable layouts share one markup contract:
     .article-list--rectangle  left square image + right title/excerpt
     .article-list--card       grid of cards, image on top
   Image shape is a modifier: --img-square / --img-landscape / --img-portrait.
   --------------------------------------------------------------------------- */
.article-list{display:grid;gap:18px}
/* Scope the layout rules to the same specificity as the legacy
   `.article-list-page .article-list` grid so the configured layout wins. */
.article-list.article-list--rectangle,
.article-list-page .article-list.article-list--rectangle{grid-template-columns:1fr;gap:16px}
.article-list.article-list--card,
.article-list-page .article-list.article-list--card{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

/* --- Layout 1: rectangle (square image on the left) --- */
.article-card--rectangle{display:grid;grid-template-columns:176px minmax(0,1fr);gap:20px;align-items:start;background:#fff;border:1px solid var(--line,#ddd7ce);border-radius:4px;overflow:hidden}
/* The image column is a fixed track; the anchor must never grow past it.
   min-width:0 + width:100% keeps the square crop inside the grid cell on every
   breakpoint, which is what the 132px mobile track needs. */
.article-card--rectangle .article-card-image{margin:0;border-radius:0;display:block;overflow:hidden;width:100%;min-width:0;max-width:100%;aspect-ratio:1;align-self:start}
.article-card--rectangle .article-card-image img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:0;display:block}
.article-card--rectangle .article-card-copy{padding:16px 18px 16px 0;position:relative;min-width:0}
.article-card--rectangle h2{font-family:var(--serif);font-size:21px;line-height:1.5;margin:4px 0 8px}
.article-card--rectangle p{font-size:14px;line-height:1.8;color:#8b857d;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.article-card--rectangle.article-card--no-image{grid-template-columns:1fr}
.article-card--rectangle.article-card--no-image .article-card-copy{padding-left:18px}

/* --- Layout 2: card grid (image on top) --- */
.article-card--card{background:#fff;border:1px solid var(--line,#ddd7ce);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}
.article-card--card .article-card-image{margin:0;border-radius:0;display:block;overflow:hidden}
.article-card--card .article-card-image img{width:100%;aspect-ratio:1.7;object-fit:cover;display:block}
.article-card--card .article-card-copy{padding:15px 16px 17px;position:relative;flex:1}
.article-card--card h2{font-family:var(--serif);font-size:20px;line-height:1.5;margin:0 0 8px}
.article-card--card p{font-size:14px;line-height:1.75;color:#8b857d;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* --- Image shape modifiers (both layouts) --- */
.article-card--img-square .article-card-image img{aspect-ratio:1}
.article-card--img-landscape .article-card-image img{aspect-ratio:1.6}
.article-card--img-portrait .article-card-image img{aspect-ratio:0.78}
.article-card--rectangle.article-card--img-landscape .article-card-image{aspect-ratio:1.6;align-self:start}
.article-card--rectangle.article-card--img-portrait .article-card-image{aspect-ratio:.78;align-self:start}
.article-card--rectangle.article-card--img-landscape{grid-template-columns:220px minmax(0,1fr)}
.article-card--rectangle.article-card--img-portrait{grid-template-columns:150px minmax(0,1fr)}

/* ---------------------------------------------------------------------------
   Category / tag / search list pages
   --------------------------------------------------------------------------- */
.article-list-eyebrow{font-size:11px;letter-spacing:.22em;color:var(--red,#9c3935);margin:0 0 10px!important;font-family:var(--sans)}
.article-list-count{font-size:13px;color:#928c82;margin:10px 0 0!important}
.article-list-count strong{color:var(--ink,#272724);font-weight:600}
.article-subcategory-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.article-subcategory-nav a{font-size:13px;padding:7px 14px;border:1px solid var(--line,#ddd7ce);border-radius:999px;color:#6f6a62;transition:.15s}
.article-subcategory-nav a:hover{border-color:var(--red,#9c3935);color:var(--red,#9c3935)}

/* Empty state: icon + title + hint, centred but left-aligned to the column */
.article-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:52px 20px!important;border:1px dashed var(--line,#ddd7ce);border-radius:6px;background:#fffdfa}
.article-empty-icon{width:34px;height:34px;fill:none;stroke:#c9c2b6;stroke-width:1.4;margin-bottom:6px}
.article-empty-title{margin:0!important;font-size:16px;color:#7d766b}
.article-empty-hint{margin:0!important;font-size:13px;color:#a49d92}

/* Fallback links under an empty category */
.article-list-fallback{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.article-list-fallback p{margin:0;font-size:13px;color:#928c82}
.article-list-fallback nav{display:flex;flex-wrap:wrap;gap:10px}
.article-list-fallback .button{font-size:13px;min-height:40px}

/* --- Homepage module reuses the same components --- */
.home-article-list{margin-top:4px}
.home-article-list.article-list--rectangle{grid-template-columns:1fr!important}
.home-article-list.article-list--card{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home-articles .article-card-more,.article-list-page .article-card-more{position:absolute;right:16px;bottom:12px;color:var(--red,#9c3935);font-size:22px}
.article-card--card .article-card-more{right:14px;bottom:12px}

@media(max-width:1000px){
  .article-list.article-list--card,
  .article-list-page .article-list.article-list--card,
  .home-article-list.article-list--card{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .article-list.article-list--card,
  .article-list-page .article-list.article-list--card,
  .home-article-list.article-list--card{grid-template-columns:1fr!important;gap:16px}
  .article-card--rectangle{grid-template-columns:132px minmax(0,1fr);gap:14px}
  .article-card--rectangle.article-card--img-landscape{grid-template-columns:150px minmax(0,1fr)}
  .article-card--rectangle.article-card--img-portrait{grid-template-columns:112px minmax(0,1fr)}
  .article-card--rectangle h2{font-size:18px;margin:2px 0 6px}
  .article-card--rectangle p{font-size:13px;-webkit-line-clamp:3}
  .article-card--rectangle .article-card-copy{padding:12px 14px 14px 0}
  .article-card--rectangle.article-card--no-image .article-card-copy{padding-left:14px}
  .home-articles .article-card-more,.article-list-page .article-card-more{right:12px;bottom:10px;font-size:20px}
  .article-empty{padding:40px 14px!important}
  .article-empty-icon{width:28px;height:28px}
  .article-list-fallback{gap:10px}
  .article-list-fallback nav{width:100%}
  .article-list-fallback .button{flex:1 1 auto;justify-content:center}
}

.article-single,.article-list-page,.article-archive-page{max-width:920px;padding-top:32px;padding-bottom:65px}
.home-articles{padding-top:32px;padding-bottom:20px}.home-articles .home-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.home-articles .home-section-head .text-link{white-space:nowrap}.home-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-article-card{min-width:0;background:#fff;border:1px solid var(--line,#ddd7ce)}.home-article-image{display:block;overflow:hidden}.home-article-image img{display:block;width:100%;aspect-ratio:1.7;object-fit:cover}.home-article-copy{padding:15px 16px 17px}.home-article-copy .article-kicker{margin:0 0 7px;color:var(--red,#9c3935);font-size:12px}.home-article-copy h3{font-family:var(--serif);font-size:20px;line-height:1.5;margin:0 0 8px}.home-article-copy h3 a{color:inherit}.home-article-copy time{font-size:12px;color:#938e85}
.article-list-page,.article-archive-page{max-width:1040px}
.article-single .article-breadcrumb,.article-list-page .article-breadcrumb,.article-archive-page .article-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#92908b;font-size:13px;margin-bottom:26px}
.article-single .article-breadcrumb [aria-current],.article-list-page .article-breadcrumb [aria-current],.article-archive-page .article-breadcrumb [aria-current]{color:var(--red,#9c3935)}
.article-single .article-header{margin-bottom:20px;text-align:left}
.article-single .article-kicker{display:inline-block;color:var(--red,#9c3935);font-size:13px;background:#f0e6df;padding:3px 10px;border-radius:3px;margin:0 0 12px}
.article-single h1,.article-list-page h1,.article-archive-page h1{font-family:var(--serif);font-size:40px;line-height:1.35;margin:0 0 12px;font-weight:700;letter-spacing:.02em}
.article-single .article-meta,.article-list-page .article-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:13px;color:#938e85;line-height:1.7}
.article-single .article-category,.article-list-page .article-category{color:var(--red,#9c3935)}
.article-single .article-cover{display:block;width:100%;height:auto;max-height:490px;object-fit:cover;margin-bottom:25px;border-radius:4px}
.article-single .article-content{font-size:17px;line-height:1.95;overflow-wrap:anywhere;color:#4e4c48}
.article-single .article-content p{margin:0 0 20px}
.article-single .article-content h2{font-family:var(--serif);font-size:26px;line-height:1.5;margin:30px 0 12px;color:var(--ink,#272724)}
.article-single .article-content h3{font-size:21px;margin:24px 0 12px}
.article-single .article-content img{max-width:100%;height:auto;border-radius:3px}
.article-single .article-content ul,.article-single .article-content ol{padding-left:24px;margin:16px 0}
.article-single .article-content blockquote{border-left:3px solid var(--red,#9c3935);padding:12px 20px;background:#f0eae3;margin:24px 0}
.article-single .article-content a{color:var(--red,#9c3935);text-decoration:underline}
.article-list-page .article-search button .icon,.article-card-more .icon,.article-tags>.icon{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:currentColor}
.article-single .article-tags{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:30px 0 20px;color:var(--red,#9c3935);font-size:13px}
.article-single .article-tags>a,.article-single .article-tags>span:not(:first-child){background:#efe7de;padding:5px 10px;border-radius:3px}
.article-single .article-adjacent{border-top:1px solid var(--line,#ddd7ce);display:grid;grid-template-columns:1fr 1fr;margin-top:22px;padding-top:20px;gap:24px}
.article-single .article-adjacent>div+div{border-left:1px solid var(--line,#ddd7ce);padding-left:24px}
.article-single .article-adjacent span{font-size:12px;color:#938e85;display:block;margin-bottom:6px}
.article-single .article-adjacent a,.article-single .article-adjacent p{font-size:15px;line-height:1.7;margin:0}
.article-list-page .article-list-heading,.article-archive-page .article-list-heading{margin-bottom:28px}
.article-list-page .article-list-heading p,.article-archive-page .article-list-heading p{color:#817b71;font-size:15px;line-height:1.8;max-width:680px;margin:0}
.article-list-page .article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.article-list-page .article-card{position:relative;border:0;border-radius:0;background:none;box-shadow:none;min-width:0}
.article-list-page .article-card-image{display:block;overflow:hidden;border-radius:4px;margin-bottom:12px}
.article-list-page .article-card-image img{display:block;width:100%;aspect-ratio:2.35;object-fit:cover}
.article-list-page .article-card-copy{position:relative;padding:0 22px 5px 0}
.article-list-page .article-card h2{font-family:var(--serif);font-size:23px;line-height:1.5;margin:8px 0 7px}
.article-list-page .article-card p{font-size:14px;line-height:1.75;color:#8b857d;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.article-list-page .article-card-more{position:absolute;right:0;bottom:3px;color:var(--red,#9c3935);font-size:25px}
.article-list-page.article-list-search .article-list,.article-list-page.article-list-tags .article-list{grid-template-columns:1fr;gap:24px}
.article-list-page .article-card-row{display:grid;grid-template-columns:32% minmax(0,1fr);gap:22px}
.article-list-page .article-card-row .article-card-image{margin:0}
.article-list-page .article-card-row img{height:100%;min-height:160px;aspect-ratio:1.2;object-fit:cover}
.article-list-page .article-card-row h2{margin:0 0 9px}
.article-list-page .article-card-row .article-meta{margin-bottom:8px}
.article-list-page .article-search{display:flex;max-width:650px;margin-bottom:26px;border:1px solid var(--line,#ddd7ce);background:#fff}
.article-list-page .article-search input{border:0;background:transparent;width:100%;min-width:0;padding:13px 16px;font:inherit}
.article-list-page .article-search button{border:0;color:#fff;background:var(--red,#9c3935);min-width:53px;font-size:27px;cursor:pointer}
.article-list-page .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.article-list-page .article-pagination,.article-archive-page .article-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:30px;font-size:13px}
.article-list-page .article-pagination>a,.article-list-page .article-pagination>span,.article-archive-page .article-pagination>a,.article-archive-page .article-pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:4px 8px;border:1px solid var(--line,#ddd7ce);border-radius:3px}
.article-list-page .article-pagination [aria-current],.article-archive-page .article-pagination [aria-current]{background:var(--red,#9c3935);border-color:var(--red,#9c3935);color:#fff}
.article-list-page .empty-state,.article-archive-page .empty-state{grid-column:1/-1;padding:45px 0;color:#88816f}
.article-archive-page .article-year-nav{display:flex;gap:8px;margin:20px 0 28px}
.article-archive-page .article-year-nav a{padding:7px 23px;background:#eee7de;color:var(--ink,#272724);border-radius:2px;font-size:14px}
.article-archive-page .article-year-nav a:first-child{background:var(--red,#9c3935);color:#fff}
.article-archive-page .article-month-group{margin-top:30px;scroll-margin-top:150px}
.article-archive-page .article-month-group>h2{font-family:var(--serif);font-size:27px;border-bottom:1px solid var(--line,#ddd7ce);padding-bottom:10px;margin:0 0 22px}
.article-archive-page .article-archive-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:24px;margin:0 0 28px;max-width:780px}
.article-archive-page .article-archive-item>time{display:flex;flex-direction:column;line-height:1.1;color:#6f6860;text-align:center}
.article-archive-page .article-archive-item>time strong{font-family:var(--serif);font-size:30px;color:var(--red,#9c3935);font-weight:400}
.article-archive-page .article-archive-item>time span{font-size:24px;margin:3px 0 8px}
.article-archive-page .article-archive-item>time small{font-size:11px;color:#a49b8e}
.article-archive-page .article-archive-item img{width:100%;aspect-ratio:3.15;object-fit:cover;border-radius:3px}
.article-archive-page .article-archive-item h3{font-family:var(--serif);font-size:21px;line-height:1.5;margin:10px 0 6px}
.article-archive-page .article-archive-item p{font-size:14px;color:#888176;line-height:1.7;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.article-notfound-page{padding-top:75px;text-align:center}
.article-notfound-page .article-notfound-copy{max-width:760px;padding-bottom:45px}
.article-notfound-page .article-notfound-eyebrow{font-size:11px;letter-spacing:.35em;color:#b1a99c;margin:0 0 12px}
.article-notfound-page .article-notfound-number{display:block;font-family:var(--serif);font-size:145px;font-weight:700;color:var(--red,#9c3935);line-height:1.1}
.article-notfound-page .article-notfound-number:after{content:'';display:block;width:38px;height:2px;background:var(--red,#9c3935);margin:12px auto 23px}
.article-notfound-page h1{font-family:var(--serif);font-size:30px;line-height:1.5;margin:0 0 9px}
.article-notfound-page .article-notfound-copy>p:not(.article-notfound-eyebrow){font-size:15px;color:#8c8578;line-height:1.8;margin:0}
.article-notfound-page .article-notfound-actions{display:flex;flex-direction:column;gap:10px;max-width:290px;margin:26px auto 24px}
.article-notfound-page .article-notfound-copy nav{display:flex;justify-content:center;gap:22px;color:#948b7e;font-size:13px}
.article-notfound-page .article-notfound-image{display:block;width:100%;height:380px;object-fit:cover;object-position:center 60%}
@media(max-width:760px){
 .home-articles{padding-top:24px}.home-articles .home-section-head{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:17px}.home-article-grid{grid-template-columns:1fr;gap:16px}.home-article-card{display:grid;grid-template-columns:37% minmax(0,1fr)}.home-article-image img{height:100%;aspect-ratio:auto;min-height:112px}.home-article-copy{padding:12px 13px}.home-article-copy h3{font-size:18px}
 .article-single,.article-list-page,.article-archive-page{width:auto;max-width:none;margin:0 20px;padding:22px 0 36px}
 .article-single .article-breadcrumb,.article-list-page .article-breadcrumb,.article-archive-page .article-breadcrumb{font-size:12px;gap:8px;margin-bottom:19px}
 .article-single h1{font-size:30px;line-height:1.35;max-width:650px}
 .article-list-page h1,.article-archive-page h1{font-size:31px}
 .article-single .article-header{margin-bottom:15px}
 .article-single .article-kicker{font-size:12px;margin-bottom:9px}
 .article-single .article-cover{max-height:none;aspect-ratio:1.65;object-fit:cover;margin-bottom:20px}
 .article-single .article-content{font-size:16px;line-height:1.9}
 .article-single .article-content h2{font-size:23px;margin-top:25px}
 .article-single .article-content h3{font-size:20px}
 .article-single .article-content p{margin-bottom:16px}
 .article-single .article-adjacent{gap:16px;padding-top:16px}
 .article-single .article-adjacent>div+div{padding-left:16px}
 .article-single .article-adjacent a,.article-single .article-adjacent p{font-size:13px}
 .article-list-page .article-list{grid-template-columns:1fr;gap:26px}
 .article-list-page .article-list-heading,.article-archive-page .article-list-heading{margin-bottom:22px}
 .article-list-page .article-list-heading p,.article-archive-page .article-list-heading p{font-size:14px}
 .article-list-page .article-card h2{font-size:22px;margin-top:7px}
 .article-list-page .article-card p{font-size:14px}
 .article-list-page .article-meta,.article-single .article-meta{font-size:12px;gap:10px}
 .article-list-page .article-card-row{grid-template-columns:36% minmax(0,1fr);gap:14px}
 .article-list-page .article-card-row img{min-height:140px}
 .article-list-page .article-card-row h2{font-size:19px;line-height:1.5;margin:0 0 6px}
 .article-list-page .article-card-row .article-meta{font-size:11px;gap:5px}
 .article-list-page .article-card-row p{-webkit-line-clamp:3;font-size:13px}
 .article-list-page .article-card-row .article-card-copy{padding-right:12px}
 .article-archive-page .article-archive-item{grid-template-columns:36px minmax(0,1fr);gap:15px;margin-bottom:26px}
 .article-archive-page .article-archive-item>time strong{font-size:25px}
 .article-archive-page .article-archive-item>time span{font-size:21px}
 .article-archive-page .article-archive-item h3{font-size:19px}
 .article-archive-page .article-month-group>h2{font-size:25px;margin-bottom:18px}
 .article-archive-page .article-archive-item img{aspect-ratio:2.7}
 .article-notfound-page{padding-top:65px}
 .article-notfound-page .article-notfound-copy{padding-bottom:35px}
 .article-notfound-page .article-notfound-number{font-size:130px}
 .article-notfound-page h1{font-size:28px}
 .article-notfound-page .article-notfound-copy>p:not(.article-notfound-eyebrow){font-size:14px}
 .article-notfound-page .article-notfound-actions{max-width:245px;margin:23px auto}
 .article-notfound-page .article-notfound-image{height:330px}
}

/* ---------- article category filter ---------- */
.article-category-nav{
  display:flex;flex-wrap:wrap;gap:9px;align-items:center;
  margin:0 0 26px;padding:0 0 20px;border-bottom:1px solid var(--line,#e6e0d7);
}
.article-category-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 15px;border-radius:999px;
  border:1px solid var(--line,#e6e0d7);background:#fff;
  color:var(--ink,#272724);font-size:13.5px;line-height:1.5;
  text-decoration:none;white-space:nowrap;
  transition:border-color .16s,color .16s,background .16s;
}
.article-category-chip:hover{border-color:var(--red,#9c3935);color:var(--red,#9c3935)}
.article-category-chip.is-current{
  background:var(--red,#9c3935);border-color:var(--red,#9c3935);color:#fff;font-weight:500;
}
.article-category-chip-count{
  display:inline-block;min-width:19px;padding:0 5px;border-radius:999px;
  background:#f2ece4;color:#8b8579;font-size:11.5px;line-height:17px;text-align:center;
  font-variant-numeric:tabular-nums;
}
.article-category-chip.is-current .article-category-chip-count{
  background:#ffffff2e;color:#fff;
}
@media (max-width:760px){
  .article-category-nav{gap:7px;margin-bottom:20px;padding-bottom:16px}
  .article-category-chip{padding:6px 12px;font-size:13px}
}

.article-category-chip.is-empty{color:#a49d92;border-color:#ece6dd}
.article-category-chip.is-empty:hover{color:#8b8579;border-color:#d9d1c6}
.article-category-chip.is-empty .article-category-chip-count{background:#f7f3ed;color:#b3aca1}
