/*
 * 标准骨架基础样式（所有主题共用，先于 theme.css 加载）
 * 只负责结构、可读性和手机适配；配色、质感、动效交给各主题。
 */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.fz{margin:0;font:var(--font-size,13px)/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text,#222);background-color:var(--bg,#f4efe6);background-image:var(--page-image,none);background-repeat:var(--bg-repeat,no-repeat);background-position:var(--bg-position,center top);background-attachment:var(--bg-attachment,scroll);background-size:var(--bg-size,cover)}
.fz a{color:inherit}
.fz img{max-width:100%;display:block}
.fz-wrap{width:100%;max-width:var(--layout-width,1200px);margin:0 auto;padding:0 12px}
.fz-layout-full .fz-wrap{max-width:none}

/* 顶栏 */
.fz-topbar{background:var(--topbar-bg,#1f1f1f);color:#fff}
.fz-topbar .fz-wrap{display:flex;align-items:center;gap:16px;min-height:44px;flex-wrap:wrap}
.fz-logo{font-weight:700;text-decoration:none;font-size:1.15em}
.fz-mainnav{display:flex;gap:14px}
.fz-mainnav a{text-decoration:none;opacity:.85}
.fz-mainnav a.is-active,.fz-mainnav a:hover{opacity:1}
.fz-switcher{margin-left:auto}

/* 横幅 / 默认页头：有横幅图时显示 .fz-banner，否则 body.fz-hero-is-text 显示 .fz-hero-text */
.fz-banner{display:block;min-height:var(--banner-height,180px);background:center/cover no-repeat;position:relative}
.fz-banner img{width:100%;height:var(--banner-height,auto);object-fit:cover}
.fz-banner.is-contain img{object-fit:contain}
.fz-banner-placeholder{display:flex;align-items:center;justify-content:center;min-height:var(--banner-height,180px);opacity:.6}
.fz-banner img + .fz-banner-placeholder{display:none}
.fz-hero-text{display:none;padding:28px 16px}
.fz-hero-is-text .fz-banner{display:none}
.fz-hero-is-text .fz-hero-text{display:block}
.fz-site-name{margin:0;font-size:2em}
.fz-site-desc{margin:.4em 0 0;opacity:.85}

/* 分类导航 */
.fz-catnav .fz-wrap{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;padding-bottom:8px}
.fz-cat{display:inline-block;padding:3px 10px;text-decoration:none;border:1px solid transparent}

/* 公告 + 联系方式 */
.fz-notice{background:var(--notice-bg,#8b1d14);color:var(--notice-text,#fff)}
.fz-notice .fz-wrap{display:flex;align-items:center;gap:12px;min-height:38px;flex-wrap:wrap}
.fz-notice-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fz-contacts{display:flex;gap:8px;margin:0;padding:0;list-style:none;flex-wrap:wrap}

/* 推荐卡片 */
.fz-cards .fz-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding-top:10px;padding-bottom:10px}
.fz-card{display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none}
.fz-card-name{font-weight:700;font-size:1.1em}

/* 文字广告 */
.fz-ad-text .fz-wrap{display:flex;flex-wrap:wrap;gap:4px 18px;padding-top:6px;padding-bottom:6px}

/* 表格（单表 + 分隔行） */
.fz-main{padding:8px 0 16px}
.fz-table{width:100%;border-collapse:collapse;background:#fff;color:#222}
.fz-table th,.fz-table td{padding:6px 8px;border:1px solid var(--table-border,#e2d6c0);text-align:left;vertical-align:middle}
.fz-table thead th{background:var(--table-head-bg,#8b1d14);color:var(--table-head-text,#fff);position:sticky;top:0;z-index:1;white-space:nowrap}
.fz-row-today{background:var(--row-today,#fff6cc)}
.fz-row-upcoming{background:var(--row-upcoming,#fffbea)}
.fz-row-opened{background:var(--row-opened,#fff)}
.fz-row:hover{background:var(--row-hover,#fff0b3)}
.fz-col-ip,
.fz-col-time,
.fz-col-status,
.fz-col-qq{white-space:nowrap}
.fz-col-time{color:var(--time-color,#c0392b)}
.fz-col-intro{min-width:200px}
.fz-name{font-weight:600;text-decoration:none}
.fz-new{display:inline-block;margin-left:4px;padding:0 4px;font-size:.75em;line-height:1.5;color:#fff;background:#e11d48;border-radius:2px;vertical-align:1px}
.fz-btn{display:inline-block;padding:2px 10px;background:var(--button-bg,#c0392b);color:var(--button-color,#fff);text-decoration:none;white-space:nowrap;border-radius:2px}
.fz-divider td{background:var(--divider-bg,#1f2a44);color:var(--divider-color,#fff);text-align:center;font-weight:700;letter-spacing:.05em}
.badge{display:inline-block;margin-right:3px;padding:0 5px;font-size:.75em;line-height:1.6;color:#fff;background:#d23b2f;border-radius:2px;white-space:nowrap}
.fz-status-opening{color:#d97706}.fz-status-open{color:#dc2626;font-weight:700}.fz-status-opened{color:#2563eb}

/* 对联 / 浮动 */
.fz-couplet{position:fixed;top:160px;width:110px;z-index:5}
.fz-couplet-left{left:8px}.fz-couplet-right{right:8px}
.fz-float{position:fixed;right:12px;bottom:12px;z-index:6}
.fz-close{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border:0;border-radius:50%;cursor:pointer}
@media (max-width:1499px){.fz-couplet{display:none}}

/* 页脚 */
.fz-footer{padding:16px 0;font-size:.9em;opacity:.95}
.fz-footer p{margin:.3em 0}

/* 手机：表格变卡片，分隔行变整宽色条 */
@media (max-width:767px){
  .fz-table thead{display:none}
  .fz-table,.fz-table tbody,.fz-table tr,.fz-table td{display:block;width:100%}
  .fz-table tr.fz-row{margin:0 0 8px;border:1px solid var(--table-border,#e2d6c0)}
  .fz-table td{border:0;padding:3px 10px}
  .fz-table td.fz-col-name{font-size:1.1em;padding-top:8px}
  .fz-table td.fz-col-intro{min-width:0}
  .fz-table td.fz-col-home{padding-bottom:8px}
  .fz-divider{margin:10px 0}
  .fz-divider td{padding:8px}
  .fz-float{display:none}
  .fz-banner,.fz-banner-placeholder{min-height:calc(var(--banner-height,180px) * .55)}
  body.fz{background-attachment:scroll}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
