/*
Theme Name: Dunan Glass - 盾安玻璃
Theme URI: https://dunan-glass.example.com
Author: 盾安玻璃科技集团
Author URI: https://dunan-glass.example.com
Description: 汽车防弹玻璃专业制造商品牌网站主题，GEO优化，支持自定义文章类型（产品、FAQ），集成JSON-LD结构化数据，Tailwind CSS样式。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dunan-glass
Tags: one-column, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ========================================
   盾安玻璃 WordPress 主题 - 自定义样式
   ======================================== */

/* --- CSS Variables (Design Tokens) --- */
:root {
  --steel: #1B2A4A;
  --amber: #C8973E;
  --crystal: #F7F8FA;
  --slate: #64748B;
  --text: #0F172A;
  --white: #ffffff;
}

/* --- Base Reset & Typography --- */
body {
  font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', ui-sans-serif, system-ui, sans-serif;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

/* --- Critical Tailwind Fallbacks --- */
/* These ensure core styles work even if Tailwind CDN is slow */
.bg-steel { background-color: var(--steel) !important; }
.bg-amber { background-color: var(--amber) !important; }
.bg-crystal { background-color: var(--crystal) !important; }
.text-steel { color: var(--steel) !important; }
.text-amber { color: var(--amber) !important; }
.text-slate { color: var(--slate) !important; }
.border-amber { border-color: var(--amber) !important; }
.bg-steel\/95 { background-color: rgba(27,42,74,0.95) !important; }
.bg-amber\/10 { background-color: rgba(200,151,62,0.1) !important; }
.bg-amber\/5 { background-color: rgba(200,151,62,0.05) !important; }
.bg-white\/5 { background-color: rgba(255,255,255,0.05) !important; }
.bg-white\/10 { background-color: rgba(255,255,255,0.1) !important; }
.border-white\/10 { border-color: rgba(255,255,255,0.1) !important; }
.border-white\/20 { border-color: rgba(255,255,255,0.2) !important; }
.text-white { color: #fff !important; }
.text-white\/50 { color: rgba(255,255,255,0.5) !important; }
.text-white\/70 { color: rgba(255,255,255,0.7) !important; }
.border-amber\/30 { border-color: rgba(200,151,62,0.3) !important; }
.border-amber\/40 { border-color: rgba(200,151,62,0.4) !important; }
.border-steel\/5 { border-color: rgba(27,42,74,0.05) !important; }
.border-gray-200 { border-color: #e5e7eb !important; }
.border-border\/60 { border-color: rgba(229,231,235,0.6) !important; }
.bg-crystal\/50 { background-color: rgba(247,248,250,0.5) !important; }
.bg-steel\/95 { background-color: rgba(27,42,74,0.95) !important; }
.from-steel { --tw-gradient-from: #1B2A4A !important; }
.to-steel\/90 { --tw-gradient-to: rgba(27,42,74,0.9) !important; }
.via-steel\/95 { --tw-gradient-via: rgba(27,42,74,0.95) !important; }
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)) !important;
}
.shadow-amber\/20 { box-shadow: 0 4px 6px rgba(200,151,62,0.2) !important; }
.shadow-amber\/30 { box-shadow: 0 10px 15px rgba(200,151,62,0.3) !important; }
.text-gray-900 { color: #111827 !important; }
.text-white\/60 { color: rgba(255,255,255,0.6) !important; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --- JSON-LD 不渲染 --- */
script[type="application/ld+json"] {
  display: none !important;
}

/* --- Breadcrumb --- */
.breadcrumb-nav {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.5);
}
.breadcrumb-nav a {
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  transition: color 0.2s;
}
.breadcrumb-nav a:hover {
  color: rgba(255,255,255,0.7);
}
.breadcrumb-nav .separator {
  margin: 0 0.5rem;
}
.breadcrumb-nav .current {
  color: var(--amber);
}

/* --- Mobile Menu --- */
.mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}
.mobile-menu.open {
  max-height: 400px;
}

/* --- FAQ Accordion --- */
details summary {
  cursor: pointer;
  list-style: none;
}
details summary::-webkit-details-marker {
  display: none;
}
details[open] .chevron-icon {
  transform: rotate(180deg);
}

/* --- Hover Card Lift --- */
.card-lift {
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
}
.card-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* --- Timeline --- */
.timeline-line {
  position: absolute;
  left: 1rem;
  top: 0;
  height: 100%;
  width: 2px;
  background: rgba(200,151,62,0.2);
}
@media (min-width: 640px) {
  .timeline-line {
    left: 50%;
    transform: translateX(-1px);
  }
}
.timeline-dot {
  position: absolute;
  left: 1rem;
  top: 0.5rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid var(--amber);
  background: white;
  transform: translateX(-50%);
}
@media (min-width: 640px) {
  .timeline-dot {
    left: 50%;
  }
}

/* --- Skip Link (Accessibility) --- */
.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 9999;
  padding: 0.5rem 1rem;
  background: var(--amber);
  color: var(--steel);
  font-weight: 600;
}
.skip-link:focus {
  top: 0;
}

/* --- WordPress Alignments --- */
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.alignleft {
  float: left;
  margin-right: 1rem;
}
.alignright {
  float: right;
  margin-left: 1rem;
}

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