/**
 * Day-1 CPT Apply Blog —— 博客内容样式。
 * 品牌 token 与主站 (day1cptapply.com) 的 tailwind.config.js 对齐。
 * 这里只控制 <main id="day1cpt-main"> 内部的样式，Header / Footer 由 shared.css 接管。
 */

:root {
    --brand-teal: #1EA7D0;
    --brand-teal-dark: #0F82A5;
    --brand-teal-tint: #E7F5F9;
    --brand-navy: #273B66;
    --brand-navy-deep: #1A2B4D;
    --brand-gold: #F4BF00;
    --brand-green: #11BA59;
    --ink: #0F172A;
    --ink-muted: #475569;
    --ink-soft: #64748B;
    --surface: #FFFFFF;
    --surface-tint: #F9FDFF;
    --surface-alt: #F7F9FB;
    --surface-cream: #FAF7F0;
    --surface-border: #E7E7E7;
    --font-display: 'Archivo', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --font-body: 'Lato', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* -------------------------------------------------------------------------
 * 全局 body 仅作用于 day1cpt-blog 这个主题，避免污染其它 WP 主题。
 * Astra 默认会给 body 设置自己的字体；这里强制对齐到主站的 Lato。
 * ----------------------------------------------------------------------- */
body.day1cpt-blog {
    font-family: var(--font-body);
    color: var(--ink);
    background: var(--surface);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* -------------------------------------------------------------------------
 * 共享 Header 的宿主主题兜底。
 * Astra 父主题给 <button> 注入了带 !important 的主题背景色，shared.css 的
 * 作用域 reset（无 !important）压不过它，于是 header 菜单里的下拉箭头按钮、
 * 以及无链接触发器（如 Resources）会渲染出一块色差方框。anchor(<a>) 不受
 * 影响是因为 Astra 只主题化表单按钮。这里在博客侧（blog.css 最后加载）用
 * !important 压平按钮底色，且覆盖 hover / focus 全部状态——Astra 的
 * button:hover 背景同样带 !important，只压静态状态会让方框在悬浮时重新出现。
 * 只压 background-color，键盘焦点环（outline / box-shadow）不受影响。
 * ----------------------------------------------------------------------- */
#day1cpt-header button {
    background-color: transparent !important;
}

/* -------------------------------------------------------------------------
 * 共享 Header 的 hover 下拉菜单（mega menu）层级兜底。
 * shared 模式下主站 React header 是 position:relative 且无 z-index（见主站
 * Header.jsx：只有非 shared 的 sticky 模式才 z-40），下拉面板（absolute top-full）
 * 也无 z-index——纯靠默认绘制顺序。而 Astra/WP 宿主给 #day1cpt-main（或其某层
 * wrapper）造了独立层叠上下文，于是它与 header 落在同一绘制层（z-index:auto 的
 * 定位 / 层叠上下文组），DOM 里又排在 header 之后，便把向下展开的下拉面板盖住。
 * 只给 #day1cpt-header 加 isolation 不够：那只是同样进了 auto 组，DOM 顺序仍在
 * main 之前，照样被压（这正是上一版 isolation 没生效的原因）。解法是把 header
 * 挂载点抬进“正 z-index 组”——position:relative + 正 z-index，整个 header 子树
 * （含下拉面板）便稳压在正文之上，与主站 sticky header 的 z-40 同一意图。值 10
 * 远高于正文、低于阅读进度条(9999) 与 WP admin bar(99999)；blog.css 只在博客侧
 * 加载，不触及主站。relative 不影响 fixed 的移动抽屉、也不改下拉的定位基准。
 * ----------------------------------------------------------------------- */
#day1cpt-header {
    position: relative;
    z-index: 10;
}

body.day1cpt-blog h1,
body.day1cpt-blog h2,
body.day1cpt-blog h3,
body.day1cpt-blog h4,
body.day1cpt-blog h5,
body.day1cpt-blog h6 {
    font-family: var(--font-display);
    color: var(--brand-navy);
    font-weight: 700;
    letter-spacing: -0.01em;
}

body.day1cpt-blog a {
    color: var(--brand-teal);
    text-decoration: none;
    transition: color .2s ease;
}
body.day1cpt-blog a:hover {
    color: var(--brand-teal-dark);
}

/* -------------------------------------------------------------------------
 * 主内容区域
 * ----------------------------------------------------------------------- */
.day1cpt-blog-main {
    display: block;
}

.day1cpt-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}
.day1cpt-container--narrow {
    max-width: 720px;
}
.day1cpt-container--wide {
    max-width: 1320px;
}
/* article 容器：与 .day1cpt-single-body 同宽，保证 hero 标题与正文左右对齐 */
.day1cpt-container--article {
    max-width: 720px;
}
@media (min-width: 1280px) {
    .day1cpt-container--article {
        max-width: 1080px;
    }
}
@media (min-width: 640px) {
    .day1cpt-container,
    .day1cpt-container--narrow,
    .day1cpt-container--wide {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .day1cpt-container,
    .day1cpt-container--narrow,
    .day1cpt-container--wide {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

/* -------------------------------------------------------------------------
 * Archive / Search hero —— tagline 在左，搜索在右，hero 下方一条品牌金色细线
 * ----------------------------------------------------------------------- */
.day1cpt-archive-hero {
    padding: 2rem 0 1.5rem;
    background: var(--surface);
    border-bottom: 2px solid var(--brand-gold);
}
.day1cpt-archive-hero-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem 2rem;
}

.day1cpt-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: .8125rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--brand-teal);
    margin: 0 0 .75rem;
}
.day1cpt-eyebrow a {
    color: inherit;
}

.day1cpt-archive-title {
    font-size: 1.25rem;
    line-height: 1.4;
    margin: 0;
    letter-spacing: 0;
    font-weight: 600;
    color: var(--brand-navy);
    flex: 1 1 320px;
    max-width: 760px;
}

.day1cpt-archive-desc {
    color: var(--ink-muted);
    font-size: 1rem;
    line-height: 1.6;
    max-width: 640px;
    margin-top: 0.5rem;
}

/* -------------------------------------------------------------------------
 * 分类 Tab 导航条 —— 归档页 + 单篇页共用；每个 Tab 带 #tab-<slug> 锚点
 * ----------------------------------------------------------------------- */
.day1cpt-cat-tabs {
    /* 位于 hero 内、金色分隔线之上；不自带背景 / 边框，融入 hero */
    scroll-margin-top: 90px;
}
.day1cpt-cat-tabs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
}
.day1cpt-cat-tab {
    display: inline-block;
    padding: 0.4rem 0.95rem;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    color: var(--ink-muted);
    background: var(--surface-alt);
    border: 1px solid var(--surface-border);
    transition: color .15s ease, background-color .15s ease, border-color .15s ease;
    scroll-margin-top: 90px;
}
.day1cpt-cat-tab:hover {
    color: var(--brand-teal-dark);
    background: var(--brand-teal-tint);
    border-color: var(--brand-teal);
}
.day1cpt-cat-tab.is-active {
    color: #FFFFFF;
    background: var(--brand-teal);
    border-color: var(--brand-teal);
}
@media (max-width: 639px) {
    /* 窄屏改为单行横向滚动，避免占太多竖向空间 */
    .day1cpt-cat-tabs-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .day1cpt-cat-tabs-list::-webkit-scrollbar {
        display: none;
    }
}

/* -------------------------------------------------------------------------
 * 卡片栅格 —— 3 列卡片：浅色背景 + 细边框 + 圆角，悬浮轻微抬升
 * ----------------------------------------------------------------------- */
.day1cpt-archive-grid-wrap {
    padding: 3rem 0 5rem;
}

.day1cpt-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}
@media (min-width: 640px) {
    .day1cpt-card-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .day1cpt-card-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
}

.day1cpt-card {
    background: var(--surface-tint);
    border: 1px solid var(--surface-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.day1cpt-card:hover {
    border-color: var(--brand-teal);
    background: var(--surface);
    box-shadow: 0 6px 18px rgba(30, 167, 208, 0.12);
    transform: translateY(-2px);
}

.day1cpt-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
}
.day1cpt-card-link:hover {
    color: inherit;
}

.day1cpt-card-thumb {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--surface-alt);
}
.day1cpt-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 无 featured image 且正文里也没有 <img> 时的兜底占位图 */
.day1cpt-card-thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-navy) 100%);
    color: #FFFFFF;
    padding: 1rem 1.25rem;
    text-align: center;
}
.day1cpt-card-thumb--placeholder span {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 0.9375rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.day1cpt-card-body {
    padding: 0.875rem 1rem 1.125rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
}

.day1cpt-card-title {
    font-size: 1.0625rem;
    line-height: 1.4;
    margin: 0;
    color: var(--brand-navy-deep);
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* 始终预留 3 行高度（line-height 1.4 × 3），短标题也不会让卡片高度参差不齐 */
    min-height: 4.2em;
}
.day1cpt-card:hover .day1cpt-card-title {
    color: var(--brand-teal-dark);
}

.day1cpt-card-excerpt {
    color: var(--ink-muted);
    font-size: .9375rem;
    line-height: 1.55;
    margin: 0;
}

.day1cpt-card-meta {
    color: var(--ink-soft);
    font-size: .875rem;
    font-weight: 400;
}

/* -------------------------------------------------------------------------
 * 分页
 * ----------------------------------------------------------------------- */
.day1cpt-pagination {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
}
.day1cpt-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.day1cpt-pagination .page-numbers {
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 .875rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid var(--surface-border);
    color: var(--ink-muted);
    font-size: .875rem;
    font-weight: 500;
    text-decoration: none;
    transition: all .2s ease;
}
.day1cpt-pagination .page-numbers:hover {
    border-color: var(--brand-teal);
    color: var(--brand-teal);
}
.day1cpt-pagination .page-numbers.current {
    background: var(--brand-navy);
    border-color: var(--brand-navy);
    color: #FFFFFF;
}

/* -------------------------------------------------------------------------
 * 空状态
 * ----------------------------------------------------------------------- */
.day1cpt-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--ink-muted);
}
.day1cpt-empty h2 {
    font-size: 1.5rem;
    margin: 0 0 .75rem;
}
.day1cpt-empty p {
    margin: 0;
    font-size: 1rem;
}

/* -------------------------------------------------------------------------
 * 单篇 hero / 元信息
 * ----------------------------------------------------------------------- */
.day1cpt-single-hero {
    padding: 3rem 0 2.25rem;
    background: linear-gradient(180deg, var(--surface-tint) 0%, var(--surface) 100%);
    border-bottom: 1px solid var(--surface-border);
}
@media (min-width: 1024px) {
    .day1cpt-single-hero {
        padding: 4.5rem 0 3rem;
    }
}
.day1cpt-single-hero .day1cpt-eyebrow {
    margin-bottom: 1rem;
}

.day1cpt-single-title {
    font-size: clamp(2rem, 4.5vw, 3rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin: 0 0 1.25rem;
    color: var(--brand-navy-deep);
}

.day1cpt-single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .625rem;
    color: var(--ink-soft);
    font-size: .875rem;
    font-weight: 500;
}
/* 分类标注：与日期 / 阅读时长同字体同字号，仅用品牌色区分其为链接 */
.day1cpt-single-meta-cat {
    color: var(--brand-teal-dark);
    text-decoration: none;
    font-weight: 600;
}
.day1cpt-single-meta-cat:hover {
    text-decoration: underline;
}
.day1cpt-meta-divider {
    color: var(--surface-border);
    font-weight: 400;
}
/* 作者：推到元信息行最右端（窄屏 flex-wrap 时自然换行） */
.day1cpt-single-meta-author {
    margin-left: auto;
}

/* -------------------------------------------------------------------------
 * 正文排版
 * ----------------------------------------------------------------------- */
/* 正文开头的 HubSpot 表单嵌入 */
.day1cpt-form-embed {
    margin: 2rem 0 0.5rem;
}

.day1cpt-prose {
    color: var(--ink-muted);
    font-size: 1.0625rem;
    line-height: 1.75;
    padding: 2.5rem 0 3.5rem;
}
.day1cpt-prose > * + * {
    margin-top: 1.35rem;
}
.day1cpt-prose > p:first-child,
.day1cpt-prose > p.has-drop-cap:first-child,
.day1cpt-prose > .wp-block-paragraph:first-child {
    font-size: 1.1875rem;
    line-height: 1.7;
    color: var(--ink);
    font-weight: 400;
}
.day1cpt-prose h2 {
    font-size: 1.75rem;
    margin-top: 3.25rem;
    margin-bottom: 1rem;
    line-height: 1.25;
    padding-top: 0.5rem;
    position: relative;
}
.day1cpt-prose h2::before {
    content: '';
    display: block;
    width: 2.5rem;
    height: 3px;
    background: var(--brand-teal);
    border-radius: 999px;
    margin-bottom: 0.875rem;
}
.day1cpt-prose h3 {
    font-size: 1.375rem;
    margin-top: 2.5rem;
    margin-bottom: .75rem;
    line-height: 1.3;
}
.day1cpt-prose h4 {
    font-size: 1.125rem;
    margin-top: 2rem;
    margin-bottom: .5rem;
}
.day1cpt-prose p {
    margin: 0;
}
/* 兜底：相邻段落始终保持间距。即使被 Group / Columns 等块包裹、
   不再是 .day1cpt-prose 的直接子元素（上面的 owl 选择器够不到），
   只要两个 <p> 相邻就照编辑器里分段的样子留出间距。 */
.day1cpt-prose p + p {
    margin-top: 1.35rem;
}
.day1cpt-prose strong,
.day1cpt-prose b {
    color: var(--ink);
    font-weight: 700;
}
.day1cpt-prose a {
    color: var(--brand-teal-dark);
    text-decoration: underline;
    text-decoration-color: rgba(30, 167, 208, 0.4);
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .15s ease, text-decoration-color .15s ease;
}
.day1cpt-prose a:hover {
    color: var(--brand-teal);
    text-decoration-color: currentColor;
}
.day1cpt-prose ul,
.day1cpt-prose ol {
    padding-left: 1.5rem;
    margin: 1.25rem 0;
}
.day1cpt-prose ul {
    list-style: none;
    padding-left: 0;
}
.day1cpt-prose ul > li {
    position: relative;
    padding-left: 1.5rem;
}
.day1cpt-prose ul > li::before {
    content: '';
    position: absolute;
    left: 0.25rem;
    top: 0.7em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brand-teal);
}
.day1cpt-prose ol {
    list-style: decimal;
}
.day1cpt-prose ol > li::marker {
    color: var(--brand-teal);
    font-weight: 700;
}
.day1cpt-prose li {
    margin-top: .5rem;
}
.day1cpt-prose li > p {
    margin: 0;
}
.day1cpt-prose li ul,
.day1cpt-prose li ol {
    margin: .5rem 0 0;
}
.day1cpt-prose blockquote {
    position: relative;
    border-left: 3px solid var(--brand-teal);
    padding: .5rem 1.25rem .5rem 1.75rem;
    margin: 2rem 0;
    color: var(--ink);
    background: var(--surface-tint);
    border-radius: 0 12px 12px 0;
    font-size: 1.0625rem;
}
.day1cpt-prose blockquote p {
    margin: 0;
}
.day1cpt-prose blockquote p + p {
    margin-top: .75rem;
}
.day1cpt-prose blockquote cite,
.day1cpt-prose blockquote footer {
    display: block;
    margin-top: .75rem;
    font-size: .8125rem;
    color: var(--ink-soft);
    font-style: normal;
    font-weight: 600;
}
.day1cpt-prose img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(39, 59, 102, 0.10);
    margin: 2rem auto;
    display: block;
}
.day1cpt-prose figure {
    margin: 2rem 0;
}
.day1cpt-prose figure img {
    margin: 0 auto;
}
.day1cpt-prose figcaption {
    text-align: center;
    font-size: .8125rem;
    color: var(--ink-soft);
    margin-top: .75rem;
    font-style: italic;
}
.day1cpt-prose hr {
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--surface-border), transparent);
    margin: 3rem auto;
    max-width: 240px;
}
.day1cpt-prose table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 2.25rem 0;
    border: 1px solid var(--surface-border);
    border-radius: 12px;
    overflow: hidden;
    font-size: .9375rem;
    box-shadow: 0 1px 0 rgba(39, 59, 102, 0.02);
}
.day1cpt-prose thead {
    background: var(--brand-navy);
    color: #FFFFFF;
}
.day1cpt-prose th {
    padding: .875rem 1.125rem;
    text-align: left;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.day1cpt-prose td {
    padding: .875rem 1.125rem;
    border-top: 1px solid var(--surface-border);
    vertical-align: top;
    color: var(--ink);
}
.day1cpt-prose tbody tr:nth-child(even) {
    background: var(--surface-tint);
}
.day1cpt-prose tbody tr:hover {
    background: var(--brand-teal-tint);
}
.day1cpt-prose code {
    background: var(--surface-alt);
    padding: .125rem .4375rem;
    border-radius: 6px;
    font-size: .875em;
    color: var(--brand-navy-deep);
    border: 1px solid var(--surface-border);
    font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
}
.day1cpt-prose pre {
    background: var(--brand-navy-deep);
    color: #E2E8F0;
    padding: 1.125rem 1.375rem;
    border-radius: 12px;
    overflow-x: auto;
    font-size: .875rem;
    line-height: 1.65;
    margin: 1.75rem 0;
    box-shadow: 0 4px 16px rgba(26, 43, 77, 0.18);
}
.day1cpt-prose pre code {
    background: transparent;
    color: inherit;
    padding: 0;
    border: 0;
    font-size: inherit;
}

/* WordPress callouts / pull quotes / 引用块复用 .day1cpt-callout 类名 */
.day1cpt-prose .day1cpt-callout,
.day1cpt-prose .wp-block-group.is-style-callout {
    background: var(--surface-tint);
    border: 1px solid rgba(30, 167, 208, 0.18);
    border-left: 3px solid var(--brand-teal);
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin: 2rem 0;
    color: var(--ink);
}

/* 内嵌 figure / 引用 / 列表前后留出更宽松的间距，避免挤在标题下 */
.day1cpt-prose h2 + p,
.day1cpt-prose h3 + p,
.day1cpt-prose h4 + p {
    margin-top: 0.75rem;
}

/* -------------------------------------------------------------------------
 * 文章末尾 tag 列表
 * ----------------------------------------------------------------------- */
.day1cpt-tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding: 0 0 2.5rem;
}
.day1cpt-tag-list::before {
    content: 'Tags';
    font-family: var(--font-display);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--ink-soft);
    margin-right: 0.375rem;
}
.day1cpt-tag {
    padding: .375rem .875rem;
    border-radius: 999px;
    background: var(--surface-alt);
    border: 1px solid var(--surface-border);
    color: var(--ink-muted);
    font-size: .8125rem;
    font-weight: 500;
    transition: all .2s ease;
}
.day1cpt-tag:hover {
    background: var(--brand-teal-tint);
    border-color: var(--brand-teal);
    color: var(--brand-teal-dark);
}

/* -------------------------------------------------------------------------
 * 上下篇导航
 * ----------------------------------------------------------------------- */
.day1cpt-post-nav {
    padding: 3rem 0 5rem;
    border-top: 1px solid var(--surface-border);
    background: var(--surface-alt);
}
.day1cpt-post-nav-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
@media (min-width: 768px) {
    .day1cpt-post-nav-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
}
.day1cpt-post-nav-link {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 1.375rem 1.5rem;
    background: var(--surface);
    border-radius: 12px;
    border: 1px solid var(--surface-border);
    color: inherit;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.day1cpt-post-nav-link:hover:not(.day1cpt-post-nav-link--empty) {
    border-color: var(--brand-teal);
    color: inherit;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30, 167, 208, 0.12);
}
.day1cpt-post-nav-link:hover:not(.day1cpt-post-nav-link--empty) .day1cpt-post-nav-title {
    color: var(--brand-teal-dark);
}
.day1cpt-post-nav-link--next {
    text-align: right;
}
.day1cpt-post-nav-link--empty {
    background: transparent;
    border-color: transparent;
    pointer-events: none;
}
.day1cpt-post-nav-direction {
    font-size: .6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--brand-teal);
}
.day1cpt-post-nav-title {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--brand-navy);
    font-size: 1rem;
    line-height: 1.4;
    transition: color .2s ease;
}

/* -------------------------------------------------------------------------
 * 搜索表单（hero 内）
 * ----------------------------------------------------------------------- */
.day1cpt-search-form {
    margin: 0;
    display: flex;
    width: 100%;
    max-width: 320px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--surface-border);
    background: var(--surface-alt);
    transition: border-color .15s ease, box-shadow .15s ease;
    flex: 0 1 320px;
}
.day1cpt-search-form:focus-within {
    border-color: var(--brand-teal);
    box-shadow: 0 0 0 3px rgba(30, 167, 208, 0.12);
}
.day1cpt-search-form input[type="search"] {
    flex: 1;
    min-width: 0;
    border: 0;
    padding: .625rem .875rem;
    font-size: .9375rem;
    font-family: inherit;
    background: transparent;
    outline: none;
    color: var(--ink);
}
.day1cpt-search-form input[type="search"]::placeholder {
    color: var(--ink-soft);
}
.day1cpt-search-form button {
    padding: 0 1rem;
    border: 0;
    background: var(--brand-teal);
    color: #FFFFFF;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .15s ease;
}
.day1cpt-search-form button:hover {
    background: var(--brand-teal-dark);
}
.day1cpt-search-form button svg {
    display: block;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* -------------------------------------------------------------------------
 * 阅读进度条 —— single.php 顶部贴边的细横条
 * ----------------------------------------------------------------------- */
.day1cpt-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(39, 59, 102, 0.08);
    z-index: 9999;
    pointer-events: none;
}
.day1cpt-progress-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--brand-teal) 0%, var(--brand-teal-dark) 100%);
    transition: width .08s linear;
    box-shadow: 0 0 8px rgba(30, 167, 208, 0.4);
}
/* 若站点登录后顶部有 WP admin bar (z-index 99999)，让进度条贴在 admin bar 之下 */
.admin-bar .day1cpt-progress {
    top: 32px;
}
@media screen and (max-width: 782px) {
    .admin-bar .day1cpt-progress {
        top: 46px;
    }
}

/* -------------------------------------------------------------------------
 * 单篇文章 —— 两列布局（≥1280px）：sticky TOC + prose
 * 1279px 及以下 TOC 隐藏，prose 单列居中。
 * ----------------------------------------------------------------------- */
.day1cpt-single-body {
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
    padding-left: 1rem;
    padding-right: 1rem;
}
@media (min-width: 640px) {
    .day1cpt-single-body {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .day1cpt-single-body {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
.day1cpt-toc {
    display: none;
}
.day1cpt-single-content {
    min-width: 0;
}

@media (min-width: 1280px) {
    .day1cpt-single-body {
        max-width: 1080px;
        display: grid;
        grid-template-columns: 220px minmax(0, 720px);
        column-gap: 3.5rem;
        align-items: start;
    }
    .day1cpt-toc {
        display: block;
        position: sticky;
        top: 96px;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        padding-right: 0.5rem;
    }
}

.day1cpt-toc-heading {
    font-family: var(--font-display);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--ink-soft);
    margin: 0 0 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--surface-border);
}
.day1cpt-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 2px solid var(--surface-border);
}
.day1cpt-toc-item {
    margin: 0;
}
.day1cpt-toc-item--h3 {
    padding-left: 1rem;
}
.day1cpt-toc-link {
    display: block;
    padding: 0.4375rem 0.875rem;
    margin-left: -2px;
    border-left: 2px solid transparent;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--ink-muted);
    transition: color .15s ease, border-color .15s ease, padding-left .15s ease;
}
.day1cpt-toc-link:hover {
    color: var(--brand-teal-dark);
    border-left-color: rgba(30, 167, 208, 0.35);
}
.day1cpt-toc-link.is-active {
    color: var(--brand-navy);
    border-left-color: var(--brand-teal);
    font-weight: 700;
}
.day1cpt-toc-item--h3 .day1cpt-toc-link {
    font-size: 0.78125rem;
    color: var(--ink-soft);
}
/* Sticky TOC 滚动条美化 */
.day1cpt-toc::-webkit-scrollbar {
    width: 6px;
}
.day1cpt-toc::-webkit-scrollbar-thumb {
    background: var(--surface-border);
    border-radius: 999px;
}
.day1cpt-toc::-webkit-scrollbar-thumb:hover {
    background: var(--ink-soft);
}

/* 让 prose 内 h2/h3 在锚点跳转时不被 sticky header 遮挡 */
.day1cpt-prose h2[id],
.day1cpt-prose h3[id] {
    scroll-margin-top: 96px;
}

/* -------------------------------------------------------------------------
 * 分享按钮区 —— 正文末尾
 * ----------------------------------------------------------------------- */
.day1cpt-share {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 3rem 0 2rem;
    padding: 1.25rem 0;
    border-top: 1px solid var(--surface-border);
    border-bottom: 1px solid var(--surface-border);
    flex-wrap: wrap;
}
.day1cpt-share-label {
    font-family: var(--font-display);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--ink-soft);
}
.day1cpt-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.day1cpt-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    font-family: var(--font-display);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    color: var(--brand-navy);
    background: var(--surface);
    border: 1px solid var(--surface-border);
    border-radius: 999px;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .15s ease;
    text-decoration: none;
}
.day1cpt-share-btn:hover {
    color: var(--brand-teal-dark);
    border-color: var(--brand-teal);
    background: var(--brand-teal-tint);
    transform: translateY(-1px);
}
.day1cpt-share-btn--copy {
    position: relative;
}
.day1cpt-share-btn-copied {
    display: none;
    color: var(--brand-green);
}
.day1cpt-share-btn--copy.is-copied {
    border-color: var(--brand-green);
    background: #E8FAEF;
}
.day1cpt-share-btn--copy.is-copied .day1cpt-share-btn-default {
    display: none;
}
.day1cpt-share-btn--copy.is-copied .day1cpt-share-btn-copied {
    display: inline;
}

/* -------------------------------------------------------------------------
 * 相关文章区 —— 复用 .day1cpt-card-grid 卡片样式
 * ----------------------------------------------------------------------- */
.day1cpt-related {
    padding: 4rem 0 2rem;
    background: var(--surface-alt);
    margin-top: 3rem;
    border-top: 1px solid var(--surface-border);
}
.day1cpt-related-title {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--brand-navy);
    margin: 0 0 2rem;
    text-align: center;
    position: relative;
}
.day1cpt-related-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--brand-teal);
    border-radius: 999px;
    margin: 0.875rem auto 0;
}

