/*
Theme Name: coffeeandlinenmornings child
Template: kadence
Version: 1.0
Description: 站群子主题 —— 自定义首页 (front-page.php)。配色由 :root 变量控制。
*/


:root{
  --sf-bg:#faf7f2; --sf-tx:#2e2a26; --sf-ac:#9c6644; --sf-mu:#f0e9df;
  --sf-line:color-mix(in srgb, var(--sf-tx) 12%, transparent);
  --sf-fh:'Fraunces', Georgia, 'Times New Roman', serif;
  --sf-fb:'Karla', Georgia, serif;
}

/* 让首页脱离父主题的窄容器 */
.sf-home{ margin:0; padding:0; }
.sf-home *{ box-sizing:border-box; }
body.home #inner-wrap,body.home .site-container,body.home .ast-container,
body.home .content-area,body.home #primary,body.home .entry-content-wrap{
  max-width:none!important; width:auto!important; padding-left:0!important; padding-right:0!important;
}
body.home .site-main,body.home #main{ margin:0!important; padding:0!important; }
body.home .entry-header,body.home .page-title,body.home .ct-container{ display:none; }

.sf-inner{ max-width:1180px; margin:0 auto; padding:0 24px; }
.sf-band{ padding:72px 0; background:var(--sf-bg); }
.sf-band-alt{ background:var(--sf-mu); }
.sf-label{ display:inline-block; font-family:var(--sf-fb); font-size:.72rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--sf-ac); margin-bottom:10px; }

/* ── Hero ── */
.sf-hero{ background:var(--sf-mu); padding:0; border-bottom:1px solid var(--sf-line); }
.sf-hero-inner{ max-width:1180px; margin:0 auto; padding:0 24px; display:grid;
  grid-template-columns:1fr 1.15fr; gap:56px; align-items:center; min-height:70vh; }
.sf-hero-text{ padding:64px 0; }
.sf-kicker{ font-family:var(--sf-fb); font-size:.8rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--sf-ac); margin:0 0 18px; }
.sf-hero-title{ font-family:var(--sf-fh); font-size:clamp(2.6rem,5.5vw,4.4rem); line-height:1.02;
  margin:0 0 14px; color:var(--sf-tx); font-weight:600; letter-spacing:-.02em; }
.sf-hero-by{ font-family:var(--sf-fb); font-size:.92rem; color:var(--sf-tx); opacity:.6; margin:0 0 36px; }
.sf-hero-lead{ border-top:1px solid var(--sf-line); padding-top:22px; }
.sf-hero-link{ font-family:var(--sf-fh); font-size:1.45rem; line-height:1.25; color:var(--sf-tx);
  text-decoration:none; display:block; margin-bottom:10px; }
.sf-hero-link:hover{ color:var(--sf-ac); }
.sf-hero-img{ align-self:stretch; overflow:hidden; }
.sf-hero-img img{ width:100%; height:100%; min-height:70vh; object-fit:cover; display:block; }

/* ── 卡片 ── */
.sf-two{ display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.sf-three{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.sf-card{ display:flex; flex-direction:column; }
.sf-card-img{ display:block; overflow:hidden; margin-bottom:18px; background:var(--sf-line); }
.sf-card-img img{ width:100%; aspect-ratio:3/2; object-fit:cover; display:block;
  transition:transform .5s ease; }
.sf-card:hover .sf-card-img img{ transform:scale(1.04); }
.sf-card-lg .sf-card-img img{ aspect-ratio:16/10; }
.sf-card-body h3{ font-family:var(--sf-fh); font-size:1.22rem; line-height:1.3; margin:0 0 10px; font-weight:600; }
.sf-card-lg .sf-card-body h3{ font-size:1.55rem; }
.sf-card-body h3 a{ color:var(--sf-tx); text-decoration:none; }
.sf-card-body h3 a:hover{ color:var(--sf-ac); }
.sf-excerpt{ font-family:var(--sf-fb); font-size:.95rem; line-height:1.65; color:var(--sf-tx);
  opacity:.72; margin:0 0 12px; }
.sf-date,.sf-list-meta{ font-family:var(--sf-fb); font-size:.78rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--sf-tx); opacity:.5; }
.sf-tag{ display:inline-block; font-family:var(--sf-fb); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--sf-ac); text-decoration:none; margin-bottom:8px; }

/* ── 分区标题 ── */
.sf-sec-head{ display:flex; align-items:baseline; justify-content:space-between;
  border-bottom:1px solid var(--sf-line); padding-bottom:14px; margin-bottom:34px; gap:20px; flex-wrap:wrap; }
.sf-sec-head h2{ font-family:var(--sf-fh); font-size:1.85rem; margin:0; color:var(--sf-tx); font-weight:600; }
.sf-sec-desc{ font-family:var(--sf-fb); margin:-20px 0 30px; opacity:.7; max-width:60ch; }
.sf-more{ font-family:var(--sf-fb); font-size:.85rem; color:var(--sf-ac); text-decoration:none;
  letter-spacing:.04em; white-space:nowrap; }
.sf-more:hover{ text-decoration:underline; }

/* ── 关于 ── */
.sf-about-inner{ max-width:760px; }
.sf-about h2{ font-family:var(--sf-fh); font-size:2rem; margin:0 0 16px; color:var(--sf-tx); }
.sf-about-text{ font-family:var(--sf-fb); font-size:1.06rem; line-height:1.8; color:var(--sf-tx);
  opacity:.8; margin:0 0 18px; }

/* ── 最新列表 ── */
.sf-list{ list-style:none; margin:0; padding:0; columns:2; column-gap:56px; }
.sf-list li{ break-inside:avoid; padding:16px 0; border-bottom:1px solid var(--sf-line); }
.sf-list-title{ font-family:var(--sf-fh); font-size:1.05rem; color:var(--sf-tx); text-decoration:none;
  display:block; margin-bottom:5px; line-height:1.35; }
.sf-list-title:hover{ color:var(--sf-ac); }

@media(max-width:900px){
  .sf-hero-inner{ grid-template-columns:1fr; gap:0; min-height:0; }
  .sf-hero-text{ padding:48px 0 32px; }
  .sf-hero-img img{ min-height:0; aspect-ratio:16/10; }
  .sf-two,.sf-three{ grid-template-columns:1fr; gap:34px; }
  .sf-list{ columns:1; }
  .sf-band{ padding:52px 0; }
}

/* ── 自建 footer（父主题的 footer builder 不可靠，见 functions.php）── */
.sf-footer{ background:var(--sf-tx); color:var(--sf-bg); margin-top:0; }
.sf-footer *{ box-sizing:border-box; }
.sf-footer-inner{ max-width:1180px; margin:0 auto; padding:64px 24px 30px; }

.sf-footer-cols{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:48px;
  padding-bottom:44px;
}

/* 品牌区 */
.sf-f-brand h3{
  font-family:var(--sf-fh); font-size:1.5rem; font-weight:600; margin:0 0 12px;
  color:var(--sf-bg); letter-spacing:-.01em; line-height:1.2;
}
.sf-f-tag{
  font-family:var(--sf-fb); font-size:.95rem; line-height:1.6; margin:0 0 14px;
  color:var(--sf-bg); opacity:.72; max-width:34ch;
}
.sf-f-by{ font-family:var(--sf-fb); font-size:.85rem; margin:0; color:var(--sf-bg); opacity:.48; }

/* 链接列 */
.sf-f-col h4{
  font-family:var(--sf-fb); font-size:.72rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; margin:6px 0 16px; color:var(--sf-ac); opacity:.95;
}
.sf-f-col ul{ list-style:none; margin:0; padding:0; }
.sf-f-col li{ margin:0 0 10px; }
.sf-f-col a{
  font-family:var(--sf-fb); font-size:.92rem; color:var(--sf-bg); text-decoration:none;
  opacity:.75; transition:opacity .15s ease;
}
.sf-f-col a:hover{ opacity:1; text-decoration:underline; text-underline-offset:3px; }

/* 底栏 */
.sf-footer-bottom{
  border-top:1px solid color-mix(in srgb, var(--sf-bg) 16%, transparent);
  padding-top:24px; display:flex; justify-content:space-between; align-items:baseline;
  gap:24px; flex-wrap:wrap;
}
.sf-copy{
  font-family:var(--sf-fb); font-size:.78rem; margin:0; color:var(--sf-bg);
  opacity:.45; letter-spacing:.03em;
}
.sf-copy-note{ opacity:.32; max-width:52ch; text-align:right; }

@media(max-width:900px){
  .sf-footer-cols{ grid-template-columns:1fr 1fr; gap:36px 28px; }
  .sf-f-brand{ grid-column:1 / -1; }
}
@media(max-width:560px){
  .sf-footer-inner{ padding:48px 24px 26px; }
  .sf-footer-cols{ grid-template-columns:1fr; gap:30px; padding-bottom:32px; }
  .sf-footer-bottom{ flex-direction:column; gap:10px; }
  .sf-copy-note{ text-align:left; }
}
