/*
Theme Name: GeneratePress Child
Template: generatepress
Author: 蔡秉国
Version: 1.0
Description: Child theme for GeneratePress.
*/

/* ===== 基础 ===== */
:root{
  --nm-bg:#ffffff;
  --nm-fg:#111;
  --nm-muted:#666;
  --nm-primary:#2b6cb0;   /* 主题主色，可改 */
  --nm-primary-weak:#e6f0fb;
  --nm-card:#fff;
  --nm-border:#e9e9ef;
  --nm-radius:16px;
  --nm-shadow:0 8px 28px rgba(0,0,0,.08);
}

@media (prefers-color-scheme: dark){
  :root{
    --nm-bg:#0f1115;
    --nm-fg:#f2f2f7;
    --nm-muted:#b5b5be;
    --nm-primary:#74a7ff;
    --nm-primary-weak:#152033;
    --nm-card:#151922;
    --nm-border:#252a36;
    --nm-shadow:0 8px 28px rgba(0,0,0,.45);
  }
}

/* 让容器更宽一点（不影响主题全局） */
.nm-section,
.nm-hero { 
  margin: 0 auto; 
  max-width: 1100px; 
  padding: 28px 20px; 
  color: var(--nm-fg);
}

/* ===== Hero ===== */
.nm-hero{
  position: relative;
  max-width: 100%;
  border-radius: var(--nm-radius);
  overflow: hidden;
  padding: 80px 20px;
  margin-top: 8px;
}
.nm-hero__bg{
  position: absolute; inset:0;
  background: url('https://www.pynmjdjh.com/wp-content/uploads/2023/03/教堂.jpg') center/cover no-repeat;
  filter: brightness(.65);
}
.nm-hero__inner{
  position: relative; z-index: 1;
  max-width: 1100px; margin:0 auto; padding: 0 20px;
  text-align: center; color: #fff;
}
.nm-hero__title{ font-size: clamp(32px, 4.5vw, 54px); margin:0 0 8px; font-weight:800; letter-spacing:.5px;}
.nm-hero__subtitle{ font-size: clamp(16px, 2.2vw, 22px); opacity:.95; margin:0 0 22px;}
.nm-hero__cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* 按钮 */
.nm-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px; border-radius:999px; text-decoration:none;
  border:1px solid transparent; font-weight:700; transition:.2s ease; white-space:nowrap;
}
.nm-btn--primary{ background:var(--nm-primary); color:#fff; }
.nm-btn--primary:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.nm-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.nm-btn--ghost:hover{ background:rgba(255,255,255,.08); }

/* ===== 通用区块头/脚 ===== */
.nm-section__head{ text-align:center; margin-bottom: 18px;}
.nm-section__head h2{ font-size: clamp(22px, 2.8vw, 30px); margin:0 0 6px; }
.nm-section__head p{ color:var(--nm-muted); margin:0; }
.nm-section__foot{ text-align:center; margin-top: 18px; }

/* ===== 快速入口卡片 ===== */
.nm-cards__grid{
  display:grid; gap:16px; 
  grid-template-columns: repeat(12, 1fr);
  margin-top: 14px;
}
.nm-card{
  grid-column: span 12;
  background:var(--nm-card); border:1px solid var(--nm-border);
  border-radius: var(--nm-radius); padding:18px; box-shadow: var(--nm-shadow);
  text-decoration:none; color:inherit; transition: transform .18s ease, box-shadow .18s ease;
  display:flex; flex-direction:column; gap:4px;
}
.nm-card:hover{ transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0,0,0,.10); }
.nm-card__icon{ font-size:24px; }
.nm-card__title{ margin:2px 0 4px; font-size:18px; font-weight:800; }
.nm-card__desc{ margin:0; color:var(--nm-muted); }
.nm-card__more{ margin-top:6px; color:var(--nm-primary); font-weight:700; }
@media (min-width:720px){
  .nm-card{ grid-column: span 4; }
}

/* ===== 主日聚会时间 ===== */
.nm-schedule__grid{
  display:grid; gap:14px; margin-top: 12px;
  grid-template-columns: repeat(12, 1fr);
}
.nm-schedule__item{
  grid-column: span 12;
  background:var(--nm-primary-weak); border:1px solid var(--nm-border);
  border-radius:var(--nm-radius); padding:16px 18px;
}
.nm-schedule__item h3{ margin:0 0 6px; font-size:18px; }
.nm-time{ margin:0 0 4px; font-weight:700; }
.nm-note{ margin:0; color:var(--nm-muted); }
@media (min-width:720px){
  .nm-schedule__item{ grid-column: span 6; }
}

/* ===== 关于我们 ===== */
.nm-about__grid{
  display:grid; gap:18px; align-items:center;
  grid-template-columns: repeat(12, 1fr);
}
.nm-about__text{ grid-column: span 12; }
.nm-about__media{ grid-column: span 12; }
.nm-about__media img{ width:100%; height:auto; border-radius:var(--nm-radius); display:block; }
.nm-list{ margin:10px 0 12px 16px; }
.nm-list li{ margin:4px 0; }
.nm-about__actions{ display:flex; gap:10px; flex-wrap:wrap; }
@media (min-width:900px){
  .nm-about__text{ grid-column: span 6; }
  .nm-about__media{ grid-column: span 6; }
}

/* ===== 通知 ===== */
.nm-notice__list{ display:grid; gap:14px; grid-template-columns: repeat(12,1fr); margin-top: 12px; }
.nm-notice__item{
  grid-column: span 12; background:var(--nm-card); border:1px solid var(--nm-border);
  border-radius:var(--nm-radius); padding:16px; box-shadow: var(--nm-shadow);
}
.nm-badge{
  display:inline-block; padding:2px 8px; border-radius:999px; background:#ffd8a8; color:#7a4a00; font-size:12px; margin-bottom:6px;
}
.nm-badge--info{ background:#cce5ff; color:#003e7a; }

/* ===== 链接区 ===== */
.nm-links__grid{
  display:grid; gap:16px; grid-template-columns: repeat(12,1fr); margin-top: 10px;
}
.nm-linkbox{
  grid-column: span 12; background:var(--nm-card); border:1px solid var(--nm-border);
  border-radius:var(--nm-radius); padding:18px; text-decoration:none; color:inherit; box-shadow: var(--nm-shadow);
}
.nm-linkbox h3{ margin:0 0 6px; }
.nm-linkbox p{ margin:0 0 8px; color:var(--nm-muted); }
.nm-linkbox span{ color:var(--nm-primary); font-weight:700; }
@media (min-width:720px){
  .nm-linkbox{ grid-column: span 4; }
}

/* ===== 联系区 ===== */
.nm-contact__grid{
  display:grid; gap:16px; grid-template-columns: repeat(12,1fr); margin-top: 10px;
}
.nm-contact__card{
  grid-column: span 12; background:var(--nm-card); border:1px solid var(--nm-border);
  border-radius:var(--nm-radius); padding:18px; box-shadow: var(--nm-shadow);
}
.nm-contact__map{ grid-column: span 12; }
.nm-contact__map img{ width:100%; height:auto; border-radius:var(--nm-radius); display:block; }
@media (min-width:900px){
  .nm-contact__card{ grid-column: span 5; }
  .nm-contact__map{ grid-column: span 7; }
}

/* ===== 经文区 ===== */
.nm-scripture{
  text-align:center; font-size:18px; font-weight:700; opacity:.9;
  padding-bottom: 36px;
}

/* ===== 与主题的安全边距 ===== */
.site-content .nm-hero,
.site-content .nm-section{ /* 如果主题有容器限制，可继续放大或去掉这一行 */
}