/* =============================================================
   Kizumi · 织物质感皮肤 (fabric)
   -------------------------------------------------------------
   独立皮肤：不使用任何圆角（全部直角），不读取原配置系统的
   布局/边框/颜色等视觉设置。亚麻/帆布/牛仔布纹理 + 缝线描边 +
   布标按钮 + 柔和阴影，动效平缓（180–260ms）。
   ============================================================= */

/* ---------- 1. 作用域与设计变量 ---------- */
.kizumi-skin-fabric {
  /* 配色：温和中性色 + 少量点缀色 */
  --fabric-paper:      #f3eee3;   /* 主背景（亚麻纸） */
  --fabric-panel:      #fbf8f1;   /* 面板（粗帆布） */
  --fabric-panel-deep: #eee6d7;   /* 深一档面板 */
  --fabric-linen:      #e7ddcc;   /* 亚麻 */
  --fabric-thread:     #b7a787;   /* 缝线 */
  --fabric-seam:       rgba(122, 96, 60, .32);
  --fabric-seam-soft:  rgba(122, 96, 60, .18);
  --fabric-ink:        #3c352b;   /* 主用墨色（高对比） */
  --fabric-ink-soft:   #6f6350;   /* 次级文字 */
  --fabric-ink-ghost:  #9a8c74;   /* 弱化文字 */
  --fabric-accent:     #b06a3a;   /* 陶土点缀 */
  --fabric-accent-2:   #5e7a68;   /* 鼠尾草点缀 */
  --fabric-denim:      #4b6b8a;   /* 牛仔布点缀 */
  --fabric-on-accent:  #fbf8f1;   /* 点缀色上的文字 */

  /* 阴影：柔和，避免硬边 */
  --fabric-shadow:       0 10px 22px -14px rgba(70, 55, 32, .40);
  --fabric-shadow-soft:  0 6px 14px -10px rgba(70, 55, 32, .28);
  --fabric-shadow-lift:  0 18px 32px -16px rgba(70, 55, 32, .45), 0 2px 8px -4px rgba(120, 96, 60, .22);
  --fabric-highlight:    inset 0 1px 0 rgba(255, 251, 240, .65);

  /* 同步 Bootstrap 变量，让组件外观统一、温暖 */
  --bs-body-bg: var(--fabric-paper);
  --bs-body-color: var(--fabric-ink);
  --bs-secondary-color: var(--fabric-ink-soft);
  --bs-primary: var(--fabric-accent);
  --bs-primary-rgb: 176, 106, 58;
  --bs-dark: var(--fabric-ink);
  --bs-white: var(--fabric-panel);
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 0;
  --bs-border-radius-2xl: 0;
  --bs-border-radius-pill: 0;
}

/* 关键：禁用所有圆角，全部直角 */
.kizumi-skin-fabric *,
.kizumi-skin-fabric *::before,
.kizumi-skin-fabric *::after {
  border-radius: 0 !important;
}

/* ---------- 2. 全局织物底纹 ---------- */
.kizumi-skin-fabric {
  font-family: "kizumi", Georgia, "Times New Roman", serif;
  color: var(--fabric-ink);
  /* 亚麻平铺：交叉细线 + 细噪点 */
  background-color: var(--fabric-paper);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(150, 122, 86, .045) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(150, 122, 86, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px);
}

/* 页面级段落 / 正文：保持高对比，避免被纹理干扰 */
.kizumi-skin-fabric p,
.kizumi-skin-fabric .single-content,
.kizumi-skin-fabric .single-content p {
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric body,
.kizumi-skin-fabric .single-content {
  line-height: 1.75;
}

/* 移除原主题的彩色 body 底纹（body_color 等配置不再影响本皮肤） */
.kizumi-skin-fabric.body_color,
.kizumi-skin-fabric .body_color {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(150, 122, 86, .045) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(150, 122, 86, .035) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .030) 0 1px, transparent 1px 5px);
}

/* 避免页面加载/帘幕粉底破坏质感 */
.kizumi-skin-fabric .preloader {
  background: var(--fabric-paper);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .04) 0 1px, transparent 1px 4px);
}
.kizumi-skin-fabric .preloader .st0 { fill: var(--fabric-on-accent); }
.kizumi-skin-fabric .preloader .st1 { stroke: var(--fabric-accent); }

/* 隐藏原主题装饰性背景层与开合纹理，保持布面统一 */
.kizumi-skin-fabric .body-background {
  display: none !important;
}
.kizumi-skin-fabric .kizumi_header .offcanvas {
  background-image: none !important;
  background-color: var(--fabric-paper);
}

/* ---------- 3. 通栏面板材质（布面卡片） ---------- */
.kizumi-skin-fabric .list-one.post-list,
.kizumi-skin-fabric .blog-single,
.kizumi-skin-fabric .post-single,
.kizumi-skin-fabric .blog-sidebar .widget {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
  border: 1px solid var(--fabric-seam-soft);
  box-shadow: var(--fabric-shadow-soft), var(--fabric-highlight);
  transition: box-shadow .24s ease, transform .24s ease, border-color .24s ease;
}
/* 统一原配置边框类，使其不再生效 */
.kizumi-skin-fabric .blog-border::after,
.kizumi-skin-fabric .blog-shadow,
.kizumi-skin-fabric .blog-lines {
  border: 1px solid var(--fabric-seam-soft) !important;
  box-shadow: var(--fabric-shadow-soft), var(--fabric-highlight) !important;
}
.kizumi-skin-fabric .blog-border::after { display: none !important; }

/* 悬停：提升高光与阴影，模拟光源移动（左上亮点，右下加深） */
.kizumi-skin-fabric .list-one.post-list:hover,
.kizumi-skin-fabric .blog-single:hover,
.kizumi-skin-fabric .post-single:hover,
.kizumi-skin-fabric .blog-sidebar .widget:hover {
  border-color: var(--fabric-seam);
  box-shadow:
    inset 0 1px 0 rgba(255, 251, 240, .8),
    inset 1px 0 0 rgba(255, 251, 240, .4),
    var(--fabric-shadow-lift);
}

/* ---------- 4. 头部 / 导航 ---------- */
.kizumi-skin-fabric .kizumi_header .navbar.scrolled {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(0deg, rgba(150, 122, 86, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg, rgba(150, 122, 86, .03) 0 1px, transparent 1px 4px);
  box-shadow: var(--fabric-shadow-soft);
  border-bottom: 1px solid var(--fabric-seam-soft);
}
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link {
  border-radius: 0;
  border: 1px solid transparent;
  color: var(--fabric-ink);
  transition: all .22s ease;
}
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link:hover,
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link.active {
  border: 1px solid var(--fabric-denim);
  color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .kizumi_header .navbar .navbar-nav .nav-item .nav-link:before {
  border-radius: 0;
  background: rgba(75, 107, 138, .08);
}
.kizumi-skin-fabric .kizumi_header .navbar-nav > li > .dropdown-menu,
.kizumi-skin-fabric .kizumi_header .dropdown-submenu .dropdown-menu {
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  box-shadow: var(--fabric-shadow);
  border-radius: 0 !important;
}
.kizumi-skin-fabric .kizumi_header .dropdown-menu .dropdown-item {
  color: var(--fabric-ink);
  transition: background .22s ease, color .22s ease;
}
.kizumi-skin-fabric .kizumi_header .dropdown-menu .dropdown-item:hover {
  background: rgba(150, 122, 86, .10);
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .kizumi_header .navbar-brand,
.kizumi-skin-fabric .kizumi_header .text-inverse {
  color: var(--fabric-ink);
}
/* 搜索框（布贴式） */
.kizumi-skin-fabric .kizumi_header .search-input,
.kizumi-skin-fabric .kizumi_header .mobile-search-input {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-highlight);
  color: var(--fabric-ink);
  transition: border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .kizumi_header .search-input:focus,
.kizumi-skin-fabric .kizumi_header .mobile-search-input:focus {
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
}
.kizumi-skin-fabric .kizumi_header .search-btn,
.kizumi-skin-fabric .kizumi_header .mobile-search-btn {
  border-radius: 0 !important;
  color: var(--fabric-ink);
}
/* 用户信息 / 登录（布标签） */
.kizumi-skin-fabric .kizumi_header .user-login,
.kizumi-skin-fabric .kizumi_header .user-reg,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .user-login,
.kizumi-skin-fabric .kizumi_header .mobile-user-wrapper .user-reg {
  border-radius: 0 !important;
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  border: 1px solid var(--fabric-denim);
  transition: background-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.kizumi-skin-fabric .kizumi_header .user-login:hover,
.kizumi-skin-fabric .kizumi_header .user-reg:hover {
  background-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .kizumi_header .divider {
  border-radius: 0 !important;
  background: var(--fabric-panel);
  color: var(--fabric-accent);
  border: 2px solid var(--fabric-seam);
}
.kizumi-skin-fabric .kizumi_header .user-info-wrap {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  background: rgba(251, 248, 241, .55);
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .kizumi_header .user-info-wrap:hover {
  border-color: var(--fabric-seam);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .kizumi_header .user-avatar {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .kizumi_header .btn-close {
  border-radius: 0 !important;
  border: 2px solid var(--fabric-ink);
}
/* 移动端开合 */
.kizumi-skin-fabric .kizumi_header .offcanvas {
  border-radius: 0 !important;
  background-color: var(--fabric-paper);
}
.kizumi-skin-fabric .kizumi_header .navbar-toggler-bar {
  background: var(--fabric-ink);
}
/* 皮饰上的 lighting 切换条 */
.kizumi-skin-fabric .kizumi_header .lighting {
  border-radius: 0 !important;
  background: var(--fabric-panel);
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .kizumi_header .lighting li {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .kizumi_header .lighting li.active {
  background-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}

/* ---------- 5. Banner ---------- */
.kizumi-skin-fabric .kizumi_header_banner {
  background: var(--fabric-linen);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .10) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .08) 0 1px, transparent 1px 5px);
}
.kizumi-skin-fabric .kizumi_header_banner_img::after {
  background: rgba(60, 53, 43, .22);
}
.kizumi-skin-fabric .kizumi_header_banner_waves .parallax > use {
  fill: var(--fabric-paper);
  opacity: .85;
}
.kizumi-skin-fabric .kizumi_header_banner .site-main h2,
.kizumi-skin-fabric .kizumi_header_banner h2 {
  color: var(--fabric-on-accent);
  text-shadow: 0 1px 2px rgba(60, 53, 43, .4);
}
.kizumi-skin-fabric .text-gradient {
  background: linear-gradient(to right, #f3eee3, #e7ddcc, #cfc0a4, #e7ddcc, #f3eee3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  animation: none;
}

/* ---------- 6. 面包屑 ---------- */
.kizumi-skin-fabric .breadcrumb-head span {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .breadcrumb-head span::before {
  background: var(--fabric-accent);
}
.kizumi-skin-fabric .breadcrumb-head i {
  color: var(--fabric-accent);
}

/* ---------- 7. 列表卡片（post-list） ---------- */
.kizumi-skin-fabric .list-one.post-list {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
}
.kizumi-skin-fabric .list-one.post-list:hover {
  border-color: var(--fabric-seam);
}
.kizumi-skin-fabric .list-one .post-list-img img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  box-shadow: var(--fabric-shadow-soft);
  transition: box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}
.kizumi-skin-fabric .list-one .post-list-img img:hover {
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-shadow);
}
.kizumi-skin-fabric .list-one h3,
.kizumi-skin-fabric .post-title {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .list-one h3 a,
.kizumi-skin-fabric .post-title a {
  color: var(--fabric-ink);
  transition: color .22s ease;
}
.kizumi-skin-fabric .list-one h3 a:hover,
.kizumi-skin-fabric .post-title a:hover {
  color: var(--fabric-accent);
}
/* 标题下划线动画改为布缝线 */
.kizumi-skin-fabric .post-list .post-title a:not(.widget-button),
.kizumi-skin-fabric .blog-sidebar .widget-post .title a:not(.widget-button) {
  background-image: repeating-linear-gradient(90deg, var(--fabric-accent) 0 6px, transparent 6px 10px);
  background-size: 0% 2px;
}
.kizumi-skin-fabric .post-list .post-title a:not(.widget-button):hover,
.kizumi-skin-fabric .blog-sidebar .widget-post .title a:not(.widget-button):hover {
  background-size: 100% 2px;
}
.kizumi-skin-fabric .list-one .category .tags a,
.kizumi-skin-fabric .tag-cloud {
  border-radius: 0 !important;
  background-color: var(--fabric-panel);
  border: 1px solid var(--fabric-seam);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .list-one .category .tags a:hover,
.kizumi-skin-fabric .tag-cloud:hover {
  border-color: var(--fabric-accent-2);
  color: var(--fabric-accent-2) !important;
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transform: translate(0, 0);
}
/* 作者头像改为方布标 */
.kizumi-skin-fabric .list-one .post-list-avatar-img,
.kizumi-skin-fabric .list-one .avatar {
  clip-path: none;
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .list-one .post-list-avatar:after {
  display: none;
}
.kizumi-skin-fabric .list-one .post-meta-stats i {
  color: var(--fabric-accent-2);
}
.kizumi-skin-fabric .dot {
  border-radius: 0 !important;
  background: var(--fabric-accent);
}

/* ---------- 8. 分页 ---------- */
.kizumi-skin-fabric .pagenav .page-item .page-link {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight);
  transition: all .22s ease;
}
.kizumi-skin-fabric .pagenav .page-item .page-link:hover,
.kizumi-skin-fabric .pagenav .page-item .page-link:active {
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transform: translateY(1px);
}
.kizumi-skin-fabric .pagenav .page-item.active .page-link {
  background-color: var(--fabric-accent);
  border-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}
.kizumi-skin-fabric .load-more-btn {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-denim);
  background-color: var(--fabric-panel);
  color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .load-more-btn:hover {
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  box-shadow: var(--fabric-shadow);
  transform: translateY(1px);
}

/* ---------- 9. 侧边栏 widget ---------- */
.kizumi-skin-fabric .blog-sidebar .widget {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
}
.kizumi-skin-fabric .blog-sidebar .widget-title {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
  letter-spacing: .3px;
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .blog-sidebar .widget ul li {
  border-bottom: 1px dashed var(--fabric-seam-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .blog-sidebar .widget ul li:hover {
  transform: translateX(4px);
  border-bottom-color: var(--fabric-accent);
}
.kizumi-skin-fabric .blog-sidebar .widget-post .info .thumb,
.kizumi-skin-fabric .blog-sidebar .fullimage {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
}
.kizumi-skin-fabric .blog-sidebar .widget-post .title a,
.kizumi-skin-fabric .blog-sidebar .widget-post .title {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .blog-sidebar .widget-post .number {
  border-radius: 0 !important;
  background: var(--fabric-accent);
  color: var(--fabric-on-accent);
  border: none;
}
.kizumi-skin-fabric .blog-sidebar .widget_categories ul li,
.kizumi-skin-fabric .blog-sidebar .widget_archive ul li {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  background-color: var(--fabric-panel);
  transition: all .22s ease;
}
.kizumi-skin-fabric .blog-sidebar .widget_categories ul li:hover {
  border-color: var(--fabric-accent-2);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .blog-sidebar .widget-search .search-input,
.kizumi-skin-fabric .blog-sidebar .widget_categories select,
.kizumi-skin-fabric .blog-sidebar .widget_archive select {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .blog-sidebar .widget-search .search-input:focus {
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
  border-color: var(--fabric-denim);
  transform: none;
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .profile-avatar img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .profile-avatar:after {
  display: none;
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .social-link {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .blog-sidebar .widget-profile .social-link:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-avatar {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-avatar img {
  border-radius: 0 !important;
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-content {
  border-radius: 0 !important;
  background: var(--fabric-panel-deep);
}
.kizumi-skin-fabric .blog-sidebar .widget-latest-comment .comment-content::before {
  display: none;
}

/* ---------- 10. 单页 / 正文 ---------- */
.kizumi-skin-fabric .blog-single,
.kizumi-skin-fabric .post-single {
  background-color: var(--fabric-panel);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
}
.kizumi-skin-fabric .single-title,
.kizumi-skin-fabric .single-content .post-title {
  color: var(--fabric-ink);
}
.kizumi-skin-fabric .single-content h1 {
  border-bottom: 2px solid var(--fabric-accent);
}
.kizumi-skin-fabric .single-content h2 {
  border-bottom: 2px solid var(--fabric-accent-2);
}
.kizumi-skin-fabric .single-content h3 {
  border-bottom: 2px solid var(--fabric-denim);
}
.kizumi-skin-fabric .single-content h4 {
  border-bottom: 2px solid var(--fabric-thread);
}
.kizumi-skin-fabric .single-content img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam-soft);
  box-shadow: var(--fabric-shadow-soft);
}
.kizumi-skin-fabric .single-content img:hover {
  border-color: var(--fabric-denim);
}
.kizumi-skin-fabric .single-content code {
  border-radius: 0 !important;
  background: var(--fabric-panel-deep);
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .single-content blockquote {
  background: var(--fabric-panel-deep);
  border-left: 4px solid var(--fabric-accent);
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .single-content blockquote::before {
  color: var(--fabric-accent);
}
.kizumi-skin-fabric .single-content a {
  color: var(--fabric-accent-2);
  border-bottom: 1px dashed var(--fabric-accent-2);
}
.kizumi-skin-fabric .single-content a:hover {
  color: var(--fabric-accent);
}
/* 单页作者头像方框 */
.kizumi-skin-fabric .single-meta img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
}
.kizumi-skin-fabric .single-info-right a {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .single-info-right a:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
}
/* 引用框 / 分割 */
.kizumi-skin-fabric .single-content .quote blockquote,
.kizumi-skin-fabric .animated-border-quote blockquote {
  background-color: var(--fabric-panel);
  border: 2px solid var(--fabric-seam);
}
.kizumi-skin-fabric .animated-border-quote blockquote::before,
.kizumi-skin-fabric .animated-border-quote blockquote::after {
  background-color: var(--fabric-panel);
}

/* ---------- 11. 通用按钮（布标签 CTA） ---------- */
.kizumi-skin-fabric .btn {
  border-radius: 0 !important;
  position: relative;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: box-shadow .22s ease, transform .22s ease, background-color .22s ease, color .22s ease;
}
/* 布标签内缝线 */
.kizumi-skin-fabric .btn::after {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px dashed rgba(60, 53, 43, .25);
  pointer-events: none;
}
/* 描边 -> 主色 */
.kizumi-skin-fabric .btn-primary,
.kizumi-skin-fabric .btn-danger,
.kizumi-skin-fabric .btn-info,
.kizumi-skin-fabric .btn-success,
.kizumi-skin-fabric .btn-warning {
  background-color: var(--fabric-accent);
  border-color: var(--fabric-accent);
  color: var(--fabric-on-accent);
}
.kizumi-skin-fabric .btn-primary::after,
.kizumi-skin-fabric .btn-danger::after,
.kizumi-skin-fabric .btn-info::after,
.kizumi-skin-fabric .btn-success::after,
.kizumi-skin-fabric .btn-warning::after {
  border-color: rgba(251, 248, 241, .55);
  border-style: dashed;
}
.kizumi-skin-fabric .btn:hover {
  box-shadow:
    inset 0 1px 0 rgba(255, 251, 240, .85),
    inset 1px 0 0 rgba(255, 251, 240, .4),
    var(--fabric-shadow-lift);
  transform: translateY(-1px);
}
.kizumi-skin-fabric .btn:active {
  transform: translateY(2px);
  box-shadow: var(--fabric-shadow-soft);
}
/* 次级 / 轮廓按钮 */
.kizumi-skin-fabric .btn-secondary,
.kizumi-skin-fabric .btn-outline-primary,
.kizumi-skin-fabric .btn-outline-secondary {
  background-color: var(--fabric-panel);
  color: var(--fabric-denim);
  border-color: var(--fabric-denim);
}
.kizumi-skin-fabric .btn-outline-primary:hover,
.kizumi-skin-fabric .btn-outline-secondary:hover {
  background-color: var(--fabric-denim);
  color: var(--fabric-on-accent);
}

/* ---------- 12. 表单 / 输入 ---------- */
.kizumi-skin-fabric .form-control,
.kizumi-skin-fabric .form-select {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  transition: border-color .22s ease, box-shadow .22s ease;
}
.kizumi-skin-fabric .form-control:focus,
.kizumi-skin-fabric .form-select:focus {
  border-color: var(--fabric-denim);
  box-shadow: var(--fabric-highlight), inset 0 0 0 1px var(--fabric-denim);
}
.kizumi-skin-fabric .form-check-input:checked {
  background-color: var(--fabric-accent);
  border-color: var(--fabric-accent);
}

/* ---------- 13. 评论 / 其他信息块 ---------- */
.kizumi-skin-fabric .comments-area .comment-list .comment,
.kizumi-skin-fabric .comments-area .comment-body {
  border: 1px solid var(--fabric-seam-soft);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .comment-respond {
  border: 1px solid var(--fabric-seam-soft);
  background: var(--fabric-panel);
  box-shadow: var(--fabric-highlight);
}
.kizumi-skin-fabric .comment-avatar img {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
}

/* ---------- 14. 页脚 ---------- */
.kizumi-skin-fabric .kizumi-footer,
.kizumi-skin-fabric footer {
  background-color: var(--fabric-panel-deep);
  background-image:
    repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 4px);
  border-top: 2px solid var(--fabric-seam);
}
.kizumi-skin-fabric hr.horizontal.dark {
  background-image: linear-gradient(90deg, transparent, var(--fabric-seam), transparent);
}
.kizumi-skin-fabric .copyright,
.kizumi-skin-fabric .copyright a {
  color: var(--fabric-ink-soft);
}
.kizumi-skin-fabric .btn-social {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .btn-social:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
}

/* ---------- 15. 浮动按钮 / 回到顶部 ---------- */
.kizumi-skin-fabric .float-btn {
  border-radius: 0 !important;
  border: 1px solid var(--fabric-seam);
  background-color: var(--fabric-panel);
  color: var(--fabric-ink);
  box-shadow: var(--fabric-highlight), var(--fabric-shadow-soft);
  transition: all .22s ease;
}
.kizumi-skin-fabric .float-btn:hover {
  border-color: var(--fabric-accent);
  color: var(--fabric-accent);
  box-shadow: var(--fabric-shadow);
}

/* ---------- 16. hover / active 交互（统一平缓，180–260ms） ---------- */
.kizumi-skin-fabric a,
.kizumi-skin-fabric .btn,
.kizumi-skin-fabric .navbar-nav .nav-link,
.kizumi-skin-fabric .widget ul li,
.kizumi-skin-fabric .page-link,
.kizumi-skin-fabric .form-control,
.kizumi-skin-fabric .tag-cloud {
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease,
              background-color .22s ease, color .22s ease;
}
.kizumi-skin-fabric a:active,
.kizumi-skin-fabric .btn:active {
  transform: translateY(2px);
}

/* ---------- 17. 响应式微调 ---------- */
@media (max-width: 991px) {
  .kizumi-skin-fabric .kizumi_header .offcanvas-body {
    border: 1px solid var(--fabric-seam);
    background-color: var(--fabric-panel);
  }
  .kizumi-skin-fabric .kizumi_header .navbar-toggler {
    border: 1px solid var(--fabric-seam);
  }
}
@media (max-width: 768px) {
  .kizumi-skin-fabric .list-one.post-list {
    background-image:
      repeating-linear-gradient(45deg, rgba(150, 122, 86, .06) 0 1px, transparent 1px 3px),
      repeating-linear-gradient(-45deg, rgba(150, 122, 86, .05) 0 1px, transparent 1px 3px);
  }
}

/* ---------- 18. 深色模式（跟随 Bootstrap 切换，保持布面质感） ---------- */
/* data-bs-theme 由 Bootstrap 设置在 <html> 上，因此使用祖先选择器作用到 body 皮肤 */
[data-bs-theme="dark"] .kizumi-skin-fabric {
  --fabric-paper:      #2b2722;
  --fabric-panel:      #373129;
  --fabric-panel-deep: #453d33;
  --fabric-linen:      #3d352c;
  --fabric-thread:     #7a6d57;
  --fabric-seam:       rgba(200, 176, 132, .28);
  --fabric-seam-soft:  rgba(200, 176, 132, .16);
  --fabric-ink:        #ece3d2;
  --fabric-ink-soft:   #c9bdaa;
  --fabric-ink-ghost:  #9a8c74;
  --fabric-accent:     #c98a58;
  --fabric-accent-2:   #86a08e;
  --fabric-denim:      #7d97b0;
  --fabric-on-accent:  #2b2722;
}
/* 深色下重设布纹，保持细腻噪点与深色布面 */
[data-bs-theme="dark"] .kizumi-skin-fabric {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"),
    repeating-linear-gradient(0deg,   rgba(215, 190, 140, .05) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(90deg,  rgba(215, 190, 140, .04) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(45deg,  rgba(215, 190, 140, .035) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(215, 190, 140, .035) 0 1px, transparent 1px 5px);
}
