/* ============================================================
 * 磐石建造 (granite_works) — 生成文件，勿手改；改 tools/theme-specs.php 后重新生成。
 * ============================================================ */

/* ============================================================
   Launchpad Builder 主题商店 — 共享基础样式（结构层）
   每套主题的 main.css = 本文件 + 该主题的 CSS 变量与附加规则，
   由 tools/generate-themes.php 拼接生成，请勿直接修改主题目录。

   根节点：  <div class="ccm-page lp lp_<handle> <variants> …">
   变体约定：
     v-hero-tint | v-hero-dark | v-hero-band | v-hero-min | v-hero-gradient | v-hero-center
     v-story-inverse | v-story-tint | v-story-plain
     v-cta-fill
     s-cards | s-flat | s-soft
     n-simple | n-topline | n-underline | n-pill
     b-pill | b-outline
   ============================================================ */

.lp{color:var(--ink);background:var(--paper);font-family:var(--body-font);font-size:17px;line-height:1.7}
.lp *{box-sizing:border-box}
.lp h1,.lp h2,.lp h3,.lp h4,.lp p{margin:0}
.lp img{max-width:100%;height:auto}
.lp-shell{width:min(1160px,calc(100% - 42px));margin-inline:auto}

/* ---------- 文字 ---------- */
.lp h1{font-family:var(--head-font);font-size:clamp(44px,6.4vw,76px);line-height:1.04;letter-spacing:var(--h1-tracking);font-weight:850}
.lp h2{font-family:var(--head-font);font-size:clamp(32px,4.4vw,50px);line-height:1.1;letter-spacing:-.02em;font-weight:800}
.lp h3{font-family:var(--head-font);font-size:22px;line-height:1.35;font-weight:800}
.eyebrow{display:block;margin:0 0 14px;color:var(--eyebrow-color);font-family:var(--eyebrow-font);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-lead{max-width:680px;color:var(--hero-mut);font-size:20px;line-height:1.65;margin-top:20px}
.lp p a{color:var(--primary)}
.v-hero-dark .hero-lead,.v-hero-band .hero-lead,.v-hero-gradient .hero-lead{color:var(--hero-mut)}

/* ---------- 头部 ---------- */
.lp-header{position:relative;z-index:2;background:var(--surface);border-bottom:1px solid var(--line)}
.lp-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.lp-logo{font-family:var(--head-font);font-size:20px;font-weight:850;letter-spacing:-.02em;color:var(--ink);text-decoration:none;white-space:nowrap}
.lp-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.lp-nav li ul{display:none}
.lp-nav a{color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;opacity:.82;transition:opacity .15s ease}
.lp-nav a:hover{opacity:1}
.lp-account{display:flex;align-items:center;gap:16px}
.lp-account a{color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}
.lp-account a:hover{color:var(--primary)}
.lp-account .lp-account-cta{display:inline-flex;padding:10px 16px;border-radius:var(--radius-btn);background:var(--btn-bg);color:var(--btn-ink)!important;font-weight:800}

/* 导航形态 */
.n-topline .lp-header{border-top:4px solid var(--primary)}
.n-underline .lp-nav a{opacity:1;padding-bottom:3px;border-bottom:2px solid transparent}
.n-underline .lp-nav a:hover{border-bottom-color:var(--primary)}
.n-pill .lp-header{background:var(--paper);border-bottom-color:transparent}
.n-pill .lp-nav a{opacity:1;display:inline-block;padding:8px 14px;border-radius:999px}
.n-pill .lp-nav a:hover{background:var(--accent-soft);color:var(--primary)}

/* ---------- 按钮 ---------- */
.site-button{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;padding:13px 22px;border:1px solid transparent;border-radius:var(--radius-btn);background:var(--btn-bg);color:var(--btn-ink)!important;font-weight:800;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.site-button:hover{transform:translateY(-1px)}
.site-button.light{background:transparent;color:inherit!important;border-color:currentColor}
.b-pill .site-button{border-radius:999px;padding-inline:28px}
.b-outline .site-button{background:transparent;color:var(--primary)!important;border-color:var(--primary)}
.b-outline .site-button.light{color:inherit!important;border-color:currentColor}

/* ---------- 主区段 ---------- */
.lp-section,.lp-story,.lp-cta{padding-block:104px}
.section-heading{max-width:700px;margin-bottom:52px}
.section-heading p:not(.eyebrow){color:var(--muted)}

/* 特性网格 */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-grid article{min-height:250px;padding:30px;border-radius:var(--radius-card)}
.feature-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--accent);color:var(--ink);font-size:13px;font-weight:850;margin-bottom:18px}
.feature-grid article h3{margin-bottom:8px}
.feature-grid article p{color:var(--muted)}
.s-cards .feature-grid article{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card)}
.s-flat .feature-grid article{min-height:0;padding:26px 0 0;border-top:3px solid var(--primary);border-radius:0;background:transparent}
.s-flat .feature-grid article>span{display:block;width:auto;height:auto;place-items:start;border-radius:0;background:transparent;color:var(--primary);font-size:15px;margin-bottom:12px}
.s-soft .feature-grid article{border:1px solid transparent;background:var(--accent-soft)}

/* 品牌故事 */
.lp-story{background:var(--story-bg);color:var(--story-ink)}
.lp-story p{color:var(--story-mut)}
.lp-story strong{color:var(--story-strong)}
.v-story-plain .lp-story{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}

/* 行动召唤 */
.lp-cta{background:var(--cta-bg);color:var(--cta-ink);text-align:center}
.lp-cta .eyebrow{color:var(--cta-ink);opacity:.75}
.lp-cta p{color:var(--cta-ink);opacity:.88}
.lp-cta .lp-shell>*{max-width:820px;margin-inline:auto}

/* ---------- 英雄区 ---------- */
.lp-hero{display:flex;align-items:center;min-height:600px;overflow:hidden}
.lp-hero .lp-shell{position:relative;width:min(1160px,calc(100% - 42px));padding-block:96px}
.lp-hero h1{max-width:850px}
.v-hero-tint .lp-hero{background:linear-gradient(135deg,var(--hero-from) 0%,var(--hero-to) 100%)}
.v-hero-tint .lp-hero .lp-shell:after{content:"";position:absolute;width:340px;height:340px;border-radius:46% 54% 61% 39%;right:-60px;top:80px;background:var(--accent);opacity:.75;transform:rotate(14deg)}
.v-hero-tint .lp-hero .lp-shell>*{position:relative;z-index:1}
.v-hero-dark .lp-hero{background:linear-gradient(160deg,var(--hero-from) 0%,var(--hero-to) 100%);color:var(--hero-ink)}
.v-hero-dark .lp-hero .lp-shell:after{content:"";position:absolute;width:440px;height:440px;right:-120px;top:-80px;background:radial-gradient(closest-side,var(--accent),transparent 72%);opacity:.24}
.v-hero-dark .lp-hero .lp-shell>*{position:relative;z-index:1}
.v-hero-band .lp-hero{min-height:520px;background:var(--primary);color:var(--on-primary)}
.v-hero-min .lp-hero{min-height:auto;background:var(--paper);border-bottom:1px solid var(--line)}
.v-hero-min .lp-hero .lp-shell{padding-block:110px 88px}
.v-hero-gradient .lp-hero{background:linear-gradient(120deg,var(--hero-from),var(--hero-to));color:var(--hero-ink)}
.v-hero-gradient .lp-hero .lp-shell:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-40px;bottom:-110px;background:rgba(255,255,255,.14)}
.v-hero-gradient .lp-hero .lp-shell>*{position:relative;z-index:1}
.v-hero-center .lp-hero{text-align:center}
.v-hero-center .lp-hero h1{margin-inline:auto}
.v-hero-center .hero-lead{margin-inline:auto}

/* ---------- 页脚 ---------- */
.lp-footer{padding-block:56px;background:var(--footer-bg);color:var(--footer-ink)}
.lp-footer-grid{display:flex;justify-content:space-between;align-items:end;gap:30px}
.lp-footer p{margin:0;color:var(--footer-ink)}
.lp-footer strong{color:var(--footer-ink)}
.lp-copyright{font-size:13px}

/* ---------- 容器（与 starter_business 相同的句柄与类名） ---------- */
.sb-container-card{padding:32px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
.sb-container-cols{display:grid;gap:18px}
.sb-container-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sb-container-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sb-container-col{min-width:0}
.sb-container-col:empty{display:none}

/* ---------- 编辑模式便利 ---------- */
.lp .ccm-edit-mode-disabled-item{padding:24px;border:1px dashed var(--line);color:var(--muted)}

/* ---------- 响应式 ---------- */
@media(max-width:860px){
    .lp-hero{min-height:auto}
    .lp-hero .lp-shell{padding-block:72px}
    .v-hero-min .lp-hero .lp-shell{padding-block:78px 60px}
    .v-hero-tint .lp-hero .lp-shell:after{width:220px;height:220px;right:-90px;opacity:.55}
    .v-hero-dark .lp-hero .lp-shell:after,.v-hero-gradient .lp-hero .lp-shell:after{width:240px;height:240px}
    .feature-grid,.story-grid{grid-template-columns:1fr}
    .story-grid{gap:24px}
    .lp-section,.lp-story,.lp-cta{padding-block:72px}
    .lp-header-inner{flex-wrap:wrap;padding-block:14px}
    .lp-nav ul{flex-wrap:wrap;gap:12px 18px}
    .lp-footer-grid{flex-direction:column;align-items:flex-start;gap:14px}
    .lp h1{font-size:42px}
}

/* ============================================================
   统一页面外壳（tenant_header/tenant_footer 元素 + 内容页通用）
   —— 导航/账户区/页脚/表单/资讯列表/询盘卡全部由以下规则提供，
   各主题仅通过 CSS 变量在上文色板层差异化。
   ============================================================ */

.site-header {
  position: relative;
  z-index: 20;
  background: var(--paper, #fff);
  border-bottom: 1px solid rgba(16, 34, 29, 0.08);
}

.header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-logo {
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: var(--ink);
  text-decoration: none;
}

.site-nav > ul {
  display: flex;
  align-items: center;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav li {
  position: relative;
}

.site-nav a {
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.site-nav a:hover {
  color: var(--primary);
}

.site-nav .nav-active > a {
  color: var(--primary);
}

.site-nav .nav-submenu {
  position: absolute;
  top: 100%;
  left: -14px;
  z-index: 30;
  min-width: 200px;
  margin: 0;
  padding: 8px;
  list-style: none;
  background: var(--paper, #fff);
  border: 1px solid rgba(16, 34, 29, 0.12);
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(16, 34, 29, 0.1);
  display: none;
}

.site-nav li:hover > .nav-submenu,
.site-nav li:focus-within > .nav-submenu {
  display: block;
}

.site-nav .nav-submenu a {
  display: block;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 600;
}

.site-nav .nav-submenu a:hover {
  background: rgba(16, 34, 29, 0.05);
}

.site-account {
  display: flex;
  align-items: center;
  gap: 18px;
}

.site-account a {
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.site-account a:hover {
  color: var(--primary);
}

.site-account .site-account-cta {
  display: inline-flex;
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--accent, #d8f05d);
  color: var(--ink) !important;
  font-weight: 800;
}

.site-footer {
  padding-block: 54px;
  background: rgba(10, 23, 19, 0.96);
  color: #fff;
}

.site-footer p {
  margin: 0;
  color: #aebdb7;
}

.footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
}

.site-footer .copyright {
  font-size: 13px;
}

.body-copy {
  max-width: 760px;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}

.body-copy p + p {
  margin-top: 20px;
}

.body-copy strong {
  color: var(--primary);
}

.body-copy ul {
  padding-left: 20px;
}

.case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.case-grid article {
  padding: 28px;
  border: 1px solid rgba(16, 34, 29, 0.1);
  border-radius: 14px;
  background: var(--surface, #fff);
}

.case-grid article > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(16, 34, 29, 0.06);
  font-size: 13px;
  font-weight: 850;
  color: var(--primary);
}

.case-grid p {
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}

.contact-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 60px;
  align-items: start;
}

.contact-note {
  padding: 28px;
  border: 1px solid rgba(16, 34, 29, 0.1);
  border-radius: 14px;
  background: rgba(16, 34, 29, 0.04);
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}

.contact-note strong {
  color: var(--primary);
}

.contact-note p {
  margin: 0 0 12px;
}

/* 询盘表单（核心 form 区块） */
.ccm-block-form {
  max-width: 620px;
  display: grid;
  gap: 16px;
}

.ccm-block-form .form-group {
  margin: 0;
}

.ccm-block-form input[type="text"],
.ccm-block-form input[type="email"],
.ccm-block-form input[type="tel"],
.ccm-block-form textarea {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(16, 34, 29, 0.16);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.ccm-block-form input:focus,
.ccm-block-form textarea:focus {
  outline: 2px solid var(--accent, #d8f05d);
  outline-offset: 1px;
  border-color: var(--primary);
}

.ccm-block-form .btn-primary,
.ccm-block-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border: 0;
  border-radius: 8px;
  background: var(--btn-bg, #10221d);
  color: var(--btn-ink, #fff);
  font-weight: 800;
  cursor: pointer;
}

/* 资讯列表（page_list 区块） */
.ccm-block-page-list-page-entry {
  padding: 22px 0;
  border-bottom: 1px solid rgba(16, 34, 29, 0.1);
}

.ccm-block-page-list-page-entry:first-of-type {
  border-top: 1px solid rgba(16, 34, 29, 0.1);
  margin-top: 8px;
}

.ccm-block-page-list-title {
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 6px;
}

.ccm-block-page-list-title a {
  color: var(--ink);
  text-decoration: none;
}

.ccm-block-page-list-date {
  color: color-mix(in srgb, var(--ink) 66%, transparent);
  font-size: 13px;
}

.ccm-block-page-list-description {
  color: color-mix(in srgb, var(--ink) 66%, transparent);
  margin-top: 8px;
}

.ccm-pagination, .pagination {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 24px 0 0;
}

.ccm-pagination, .pagination a,
.ccm-pagination, .pagination span {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(16, 34, 29, 0.06);
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
}

.ccm-pagination, .pagination .ccm-page-list-active {
  background: var(--accent, #d8f05d);
}

/* 询盘管理页（single page /inquiries） */
.inquiries {
  max-width: 760px;
  margin: 0 auto;
}

.inquiry-card {
  padding: 24px;
  border: 1px solid rgba(16, 34, 29, 0.12);
  border-radius: 14px;
  background: var(--surface, #fff);
  margin-top: 28px;
}

.inquiry-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
}

.inquiry-head h3 {
  margin: 0;
}

.inquiry-date {
  color: color-mix(in srgb, var(--ink) 66%, transparent);
  font-size: 13px;
}

.inquiry-fields {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 8px 16px;
  margin: 18px 0;
}

.inquiry-fields dt {
  color: color-mix(in srgb, var(--ink) 66%, transparent);
  font-weight: 700;
}

.inquiry-fields dd {
  margin: 0;
  word-break: break-word;
}

.inquiry-delete {
  padding: 8px 14px;
  border: 1px solid rgba(16, 34, 29, 0.16);
  border-radius: 8px;
  background: #fff;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
  font-weight: 700;
  cursor: pointer;
}

.inquiry-delete:hover {
  color: #b3261e;
  border-color: #e3b9b6;
}

/* 响应式外壳 */
@media (max-width: 760px) {
  .header-inner,
  .footer-grid {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 18px;
  }

  .site-nav {
    width: 100%;
  }

  .site-nav > ul {
    gap: 14px;
    flex-wrap: wrap;
  }

  .site-nav .nav-submenu {
    position: static;
    display: block;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 6px 0 0 10px;
  }

  .site-nav .nav-submenu a {
    padding: 6px 8px;
    color: color-mix(in srgb, var(--ink) 66%, transparent);
  }

  .case-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .site-account {
    width: 100%;
  }
}

/* ============================================================
   内容区垂直排版节奏
   （基础层把 h1-h4/p 的 margin 清零了；内容区组件在此恢复
    "分类→标题→正文" 的呼吸间距，避免文字挤在一起。）
   ============================================================ */

.lp-section .eyebrow {
  margin: 0 0 18px;
}

.lp-section h2 {
  margin: 0 0 18px;
}

.lp-section h3 {
  margin: 0 0 12px;
}

.lp-section .ccm-block-content > p,
.lp-section .body-copy p {
  margin-top: 0;
  margin-bottom: 16px;
}

.lp-section .body-copy p:last-child {
  margin-bottom: 0;
}

.lp-section .body-copy ul {
  margin-top: 4px;
}

.lp-section .body-copy ul li + li {
  margin-top: 6px;
}

.lp-section .feature-grid h3 {
  margin-top: 14px;
  margin-bottom: 10px;
}

.lp-section .feature-grid .eyebrow {
  margin-bottom: 14px;
}

.lp-section .case-grid h3 {
  margin-top: 14px;
  margin-bottom: 10px;
}

/* 首页 hero 区保持原有密集英雄视觉，不套用内容区节奏 */
.lp-hero h1 {
  margin: 0 0 16px;
}

/* ============================================================
   Archetype 组件（本地服务/餐饮门店/预约服务站）
   menu-list 菜单行 / price-grid 价目卡 / review-cards 评价卡 /
   faq-item 问答条。全部走主题变量，21 套主题自动继承。
   ============================================================ */

.menu-list {
  margin: 8px 0 0;
  padding: 0;
}

.menu-item {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px dashed var(--line);
}

.menu-name {
  font-weight: 700;
  color: var(--ink);
}

.menu-desc {
  display: block;
  margin-top: 6px;
  font-size: 0.92em;
  font-weight: 400;
  color: color-mix(in srgb, var(--ink) 60%, transparent);
}

.menu-dots {
  flex: 1;
  border-bottom: 2px dotted var(--line);
  transform: translateY(-4px);
}

.menu-price {
  font-weight: 800;
  color: var(--primary);
  white-space: nowrap;
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.price-grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}

.price-grid h3 {
  margin: 0 0 10px;
}

.price-grid p {
  margin: 0 0 8px;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}

.price-grid .price {
  margin: 12px 0 0;
  font-size: 1.35em;
  font-weight: 800;
  color: var(--primary);
}

.review-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.review-card {
  margin: 0;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}

.review-card p:first-child {
  margin-top: 0;
}

.review-card .who {
  margin-bottom: 0;
  font-size: 0.92em;
  color: color-mix(in srgb, var(--ink) 60%, transparent);
}

.faq-item {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.faq-item h3 {
  margin: 0 0 10px;
  font-size: 1.05em;
}

.faq-item p {
  margin: 0;
  color: color-mix(in srgb, var(--ink) 66%, transparent);
}

@media (max-width: 760px) {
  .price-grid,
  .review-cards {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   种子内容配图（Unsplash 直链演示图）
   img-hero 通栏主图 / card-photo 卡片图 / img-story 页面大图 /
   img-menu 类目图 / review-head 评价头像 / gallery-grid 图墙 /
   schedule 日程时间线
   ============================================================ */

.card-photo,
img.img-hero,
img.img-story,
img.img-menu,
.gallery-grid img {
  display: block;
  max-width: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

img.img-hero {
  height: clamp(220px, 36vw, 400px);
  margin-top: 30px;
}

.card-photo {
  height: 160px;
  margin: 0 0 14px;
  background: var(--accent-soft);
  box-shadow: none;
}

img.img-story {
  height: clamp(200px, 30vw, 320px);
  margin: 6px 0 18px;
}

img.img-menu {
  height: clamp(180px, 28vw, 300px);
  margin: 8px 0 20px;
}

.review-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  flex: none;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 8px 0;
}

.gallery-grid img {
  height: clamp(160px, 24vw, 220px);
}

.schedule {
  margin: 8px 0;
  padding: 0;
  list-style: none;
}

.schedule li {
  display: flex;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.schedule .time {
  min-width: 88px;
  font-weight: 800;
  color: var(--primary);
  white-space: nowrap;
}

.schedule .what strong {
  display: block;
  margin-bottom: 4px;
}

.schedule .what span {
  font-size: 0.95em;
  color: color-mix(in srgb, var(--ink) 60%, transparent);
}

@media (max-width: 760px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .schedule li {
    flex-direction: column;
    gap: 4px;
  }
}

/* ============================================================
   页脚外壳修正：footer 行与首页 Footer 区块共用栅格宽度，
   左右不再顶到边框；版权行与站名块保持呼吸间距。
   ============================================================ */

.footer-shell {
  width: min(1160px, calc(100% - 42px));
  margin-inline: auto;
}

.site-footer .copyright {
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .site-footer .copyright {
    text-align: left;
    white-space: normal;
  }
}

/* ============================================================
   头部升级：统一外壳宽度（修顶边贴边）+ 品牌标记 + 导航指示条 +
   访客吸顶；n-pill/n-underline 变体从死掉的 lp-nav 翻译到 site-nav。
   ============================================================ */

.site-shell {
  width: min(1160px, calc(100% - 42px));
  margin-inline: auto;
}

.site-header.site-header-sticky {
  position: sticky;
  top: 0;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--head-font);
}

.site-logo::before {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 4px;
  background: var(--primary);
  transform: rotate(45deg);
}

.site-nav > ul {
  gap: 22px;
}

.site-nav > ul > li > a {
  position: relative;
  display: inline-block;
  padding: 10px 2px;
  opacity: 0.85;
}

.site-nav > ul > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 2px;
  background: var(--primary);
  transition: right 0.18s ease;
}

.site-nav > ul > li > a:hover {
  opacity: 1;
}

.site-nav > ul > li > a:hover::after,
.site-nav > ul > li.nav-active > a::after {
  right: 0;
}

.site-nav > ul > li.nav-active > a {
  opacity: 1;
}

.n-pill .site-nav > ul {
  gap: 6px;
}

.n-pill .site-nav > ul > li > a {
  padding: 9px 14px;
  border-radius: 999px;
  opacity: 1;
}

.n-pill .site-nav > ul > li > a::after {
  display: none;
}

.n-pill .site-nav > ul > li > a:hover,
.n-pill .site-nav > ul > li.nav-active > a {
  background: var(--accent-soft);
  color: var(--primary);
}

.n-underline .site-nav > ul > li > a {
  opacity: 1;
}

.site-account .site-account-cta {
  background: var(--btn-bg);
  color: var(--btn-ink) !important;
}

/* ---- 主题变量 ---- */
.lp_granite_works{--ink:#1d1d1b;--muted:#6b6b66;--paper:#f4f4f2;--surface:#ffffff;--line:#e1e1dc;--primary:#e2a400;--on-primary:#1d1d1b;--accent:#e2a400;--accent-soft:#ebebe6;--btn-bg:#e2a400;--btn-ink:#1d1d1b;--hero-from:#232320;--hero-to:#1d1d1b;--hero-ink:#f7f7f4;--hero-mut:#b9b9b0;--story-bg:#ebebe6;--story-ink:#1d1d1b;--story-mut:#6b6b66;--story-strong:#b08500;--cta-bg:#e2a400;--cta-ink:#1d1d1b;--footer-bg:#141412;--footer-ink:#a3a39a;--radius-btn:0px;--radius-card:0px;--head-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--body-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--eyebrow-font:ui-monospace,SFMono-Regular,"SF Mono",Consolas,"Liberation Mono",monospace;--eyebrow-color:#e2a400;--h1-tracking:-0.03em;--shadow-card:0 8px 20px rgba(0,0,0,.08);}

/* ---- 主题附加规则 ---- */
.v-hero-dark .lp-hero .lp-shell:after{display:none}
