/*
Theme Name: 硅胶工厂官网
Theme URI: https://localhost/
Author: Carson
Author URI: https://localhost/
Description: 为硅胶制品源头工厂定制的 B2B 官网主题,主打询盘转化。覆盖工业电子、家电日用、食品级、医疗级、汽配、非标定制六大产品线,内置产品 CPT、询盘表单、多图轮播、SEO 友好的结构化数据。前端使用 Tailwind CSS via CDN,工业科技蓝主色 + 橙色 CTA。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: guijiao-factory
Tags: b2b, factory, manufacturing, silicone, custom-post-type, inquiry-form, tailwind, industrial, blue, two-columns, custom-menu, featured-images, translation-ready
*/

/* 主题样式入口:实际样式由 Tailwind CDN 提供,本文件仅放主题元数据和少量兜底样式 */

/* 兜底:Tailwind CDN 加载前的最小可见性 */
.site-content {
  min-height: 60vh;
}

/* 询盘表单加载动画 */
.inquiry-form-loading .inquiry-submit-btn {
  opacity: 0.6;
  pointer-events: none;
}

/* ========================================
   工业风配色系统 (Industrial Color System)
   基于 UICraft colorize 工作流设计
   
   配色原则:
   - 60% 中性色:钢蓝灰(slate)带冷色调,专业、技术感
   - 30% 辅助色:工业蓝(blue-700/800)用于品牌、链接、标题
   - 10% 强调色:安全橙(orange-500/600)用于 CTA、关键数据
   - 语义色:绿色(成功/认证)、红色(错误/必填)
   
   对比度规范 (WCAG AA):
   - 正文文字 ≥ 4.5:1
   - 大号文字 ≥ 3:1
   - 深色背景: #0a0f1a (slate-950 替代) 上使用 text-slate-200/300
   - 浅色背景: #ffffff / #f8fafc (slate-50) 上使用 text-slate-700/800/900
   ======================================== */

/* 移除导航菜单 li 的默认圆点 */
nav li.menu-item { list-style: none; }

:root {
  /* 中性色阶 - 钢蓝灰(带冷色调) */
  --ind-neutral-50: #f8fafc;
  --ind-neutral-100: #f1f5f9;
  --ind-neutral-200: #e2e8f0;
  --ind-neutral-300: #cbd5e1;
  --ind-neutral-400: #94a3b8;
  --ind-neutral-500: #64748b;
  --ind-neutral-600: #475569;
  --ind-neutral-700: #334155;
  --ind-neutral-800: #1e293b;
  --ind-neutral-900: #0f172a;
  --ind-neutral-950: #0a0f1a;

  /* 品牌主色 - 工业蓝 */
  --ind-brand-50: #eff6ff;
  --ind-brand-100: #dbeafe;
  --ind-brand-200: #bfdbfe;
  --ind-brand-300: #93c5fd;
  --ind-brand-400: #60a5fa;
  --ind-brand-500: #3b82f6;
  --ind-brand-600: #2563eb;
  --ind-brand-700: #1d4ed8;
  --ind-brand-800: #1e40af;
  --ind-brand-900: #1e3a8a;
  --ind-brand-950: #172554;

  /* 强调色 - 安全橙 */
  --ind-accent-50: #fff7ed;
  --ind-accent-100: #ffedd5;
  --ind-accent-200: #fed7aa;
  --ind-accent-300: #fdba74;
  --ind-accent-400: #fb923c;
  --ind-accent-500: #f97316;
  --ind-accent-600: #ea580c;
  --ind-accent-700: #c2410c;
  --ind-accent-800: #9a3412;
  --ind-accent-900: #7c2d12;

  /* 语义色 */
  --ind-success: #16a34a;
  --ind-success-light: #dcfce7;
  --ind-error: #dc2626;
  --ind-error-light: #fee2e2;
}

/* ========================================
   补充 Tailwind 2.x 缺失的 950 色阶
   (Tailwind 3.0 新增,2.2.19 预编译版本不包含)
   确保深色背景区域正常渲染
   ======================================== */

/* slate-950: 深邃钢蓝黑 */
.bg-slate-950 { background-color: #0a0f1a; }
.text-slate-950 { color: #0a0f1a; }
.border-slate-950 { border-color: #0a0f1a; }
.from-slate-950 { --tw-gradient-from: #0a0f1a; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(10,15,26,0)); }
.via-slate-950 { --tw-gradient-stops: var(--tw-gradient-from), #0a0f1a, var(--tw-gradient-to, rgba(10,15,26,0)); }
.to-slate-950 { --tw-gradient-to: #0a0f1a; }

/* blue-950: 深邃工业蓝 */
.bg-blue-950 { background-color: #172554; }
.text-blue-950 { color: #172554; }
.border-blue-950 { border-color: #172554; }
.from-blue-950 { --tw-gradient-from: #172554; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(23,37,84,0)); }
.via-blue-950 { --tw-gradient-stops: var(--tw-gradient-from), #172554, var(--tw-gradient-to, rgba(23,37,84,0)); }
.to-blue-950 { --tw-gradient-to: #172554; }

/* orange-950: 深邃琥珀棕 */
.bg-orange-950 { background-color: #431407; }
.text-orange-950 { color: #431407; }
.border-orange-950 { border-color: #431407; }

/* ========================================
   补充 Tailwind 2.x 预编译版缺失的 orange 色阶
   (本地化 tailwind.min.css 未包含 orange 色阶,
    但主题大量使用 orange 作为 CTA 强调色,
    导致 bg-orange-500 等类不生效,按钮背景透明)
   ======================================== */

/* orange 色阶值:
   50:#fff7ed 100:#ffedd5 200:#fed7aa 300:#fdba74
   400:#fb923c 500:#f97316 600:#ea580c 700:#c2410c
   800:#9a3412 900:#7c2d12 */

/* 背景色 */
.bg-orange-50 { background-color: #fff7ed; }
.bg-orange-100 { background-color: #ffedd5; }
.bg-orange-200 { background-color: #fed7aa; }
.bg-orange-300 { background-color: #fdba74; }
.bg-orange-400 { background-color: #fb923c; }
.bg-orange-500 { background-color: #f97316; }
.bg-orange-600 { background-color: #ea580c; }
.bg-orange-700 { background-color: #c2410c; }
.bg-orange-800 { background-color: #9a3412; }
.bg-orange-900 { background-color: #7c2d12; }

/* 文字色 */
.text-orange-50 { color: #fff7ed; }
.text-orange-100 { color: #ffedd5; }
.text-orange-200 { color: #fed7aa; }
.text-orange-300 { color: #fdba74; }
.text-orange-400 { color: #fb923c; }
.text-orange-500 { color: #f97316; }
.text-orange-600 { color: #ea580c; }
.text-orange-700 { color: #c2410c; }
.text-orange-800 { color: #9a3412; }
.text-orange-900 { color: #7c2d12; }

/* 边框色 */
.border-orange-50 { border-color: #fff7ed; }
.border-orange-100 { border-color: #ffedd5; }
.border-orange-200 { border-color: #fed7aa; }
.border-orange-300 { border-color: #fdba74; }
.border-orange-400 { border-color: #fb923c; }
.border-orange-500 { border-color: #f97316; }
.border-orange-600 { border-color: #ea580c; }
.border-orange-700 { border-color: #c2410c; }
.border-orange-800 { border-color: #9a3412; }
.border-orange-900 { border-color: #7c2d12; }

/* 渐变 */
.from-orange-400 { --tw-gradient-from: #fb923c; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(251,146,60,0)); }
.from-orange-500 { --tw-gradient-from: #f97316; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(249,115,22,0)); }
.from-orange-600 { --tw-gradient-from: #ea580c; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(234,88,12,0)); }
.to-orange-400 { --tw-gradient-to: #fb923c; }
.to-orange-500 { --tw-gradient-to: #f97316; }
.to-orange-600 { --tw-gradient-to: #ea580c; }

/* hover 变体 */
.hover\:bg-orange-600:hover { background-color: #ea580c; }
.hover\:text-orange-400:hover { color: #fb923c; }
.hover\:text-orange-500:hover { color: #f97316; }
.hover\:border-orange-200:hover { border-color: #fed7aa; }
.hover\:border-orange-500:hover { border-color: #f97316; }

/* group-hover 变体 */
.group:hover .group-hover\:text-orange-400 { color: #fb923c; }
.group:hover .group-hover\:border-orange-200 { border-color: #fed7aa; }

/* ========================================
   补充 Tailwind 2.x emerald (翠绿) 色阶
   ======================================== */

/* 背景色 */
.bg-emerald-50 { background-color: #ecfdf5; }
.bg-emerald-100 { background-color: #d1fae5; }
.bg-emerald-200 { background-color: #a7f3d0; }
.bg-emerald-300 { background-color: #6ee7b7; }
.bg-emerald-400 { background-color: #34d399; }
.bg-emerald-500 { background-color: #10b981; }
.bg-emerald-600 { background-color: #059669; }
.bg-emerald-700 { background-color: #047857; }
.bg-emerald-800 { background-color: #065f46; }
.bg-emerald-900 { background-color: #064e3b; }

/* 文字色 */
.text-emerald-50 { color: #ecfdf5; }
.text-emerald-100 { color: #d1fae5; }
.text-emerald-200 { color: #a7f3d0; }
.text-emerald-300 { color: #6ee7b7; }
.text-emerald-400 { color: #34d399; }
.text-emerald-500 { color: #10b981; }
.text-emerald-600 { color: #059669; }
.text-emerald-700 { color: #047857; }
.text-emerald-800 { color: #065f46; }
.text-emerald-900 { color: #064e3b; }

/* 边框色 */
.border-emerald-50 { border-color: #ecfdf5; }
.border-emerald-100 { border-color: #d1fae5; }
.border-emerald-200 { border-color: #a7f3d0; }
.border-emerald-300 { border-color: #6ee7b7; }
.border-emerald-400 { border-color: #34d399; }
.border-emerald-500 { border-color: #10b981; }
.border-emerald-600 { border-color: #059669; }
.border-emerald-700 { border-color: #047857; }
.border-emerald-800 { border-color: #065f46; }
.border-emerald-900 { border-color: #064e3b; }

/* 渐变 from */
.from-emerald-50 { --tw-gradient-from: #ecfdf5; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(236,253,245,0)); }
.from-emerald-100 { --tw-gradient-from: #d1fae5; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(209,250,229,0)); }
.from-emerald-200 { --tw-gradient-from: #a7f3d0; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(167,243,208,0)); }
.from-emerald-300 { --tw-gradient-from: #6ee7b7; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(110,231,183,0)); }
.from-emerald-400 { --tw-gradient-from: #34d399; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(52,211,153,0)); }
.from-emerald-500 { --tw-gradient-from: #10b981; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(16,185,129,0)); }
.from-emerald-600 { --tw-gradient-from: #059669; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(5,150,105,0)); }

/* 渐变 to */
.to-emerald-50 { --tw-gradient-to: #ecfdf5; }
.to-emerald-100 { --tw-gradient-to: #d1fae5; }
.to-emerald-200 { --tw-gradient-to: #a7f3d0; }
.to-emerald-300 { --tw-gradient-to: #6ee7b7; }
.to-emerald-400 { --tw-gradient-to: #34d399; }
.to-emerald-500 { --tw-gradient-to: #10b981; }
.to-emerald-600 { --tw-gradient-to: #059669; }

/* hover 变体 */
.hover\:border-emerald-200:hover { border-color: #a7f3d0; }
.hover\:text-emerald-600:hover { color: #059669; }

/* group-hover 变体 */
.group:hover .group-hover\:from-emerald-100 { --tw-gradient-from: #d1fae5; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(209,250,229,0)); }
.group:hover .group-hover\:to-emerald-200 { --tw-gradient-to: #a7f3d0; }
.group:hover .group-hover\:text-emerald-600 { color: #059669; }

/* ========================================
   补充 Tailwind 2.x 不支持的任意值语法
   (JIT 模式特性,预编译 2.2.19 版本不支持方括号任意值)
   ======================================== */

/* 装饰球模糊光晕效果 */
.blur-\[120px\] { filter: blur(120px); }

/* 网格背景透明度 */
.opacity-\[0\.03\] { opacity: 0.03; }

/* Hero 装饰球尺寸 */
.w-\[600px\] { width: 600px; }
.h-\[600px\] { height: 600px; }
.w-\[500px\] { width: 500px; }
.h-\[500px\] { height: 500px; }

/* 标题行高 */
.leading-\[1\.1\] { line-height: 1.1; }

/* 产品卡片标题最小高度 */
.min-h-\[2\.5rem\] { min-height: 2.5rem; }

/* 步骤描述最大宽度 */
.max-w-\[240px\] { max-width: 240px; }

/* ========================================
   补充 Tailwind 2.x 不支持的斜杠透明度语法
   (Tailwind 3.0 的 color/opacity 语法,如 bg-white/95)
   2.2.19 预编译版本不支持,需手动补充定义
   ======================================== */

/* 背景色 + 透明度 */
.bg-white\/95 { background-color: rgba(255, 255, 255, 0.95); }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1); }
.bg-white\/5 { background-color: rgba(255, 255, 255, 0.05); }
.bg-orange-500\/20 { background-color: rgba(249, 115, 22, 0.2); }
.bg-orange-500\/15 { background-color: rgba(249, 115, 22, 0.15); }
.bg-orange-600\/10 { background-color: rgba(234, 88, 12, 0.1); }
.bg-blue-600\/10 { background-color: rgba(37, 99, 235, 0.1); }

/* 边框色 + 透明度 */
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1); }
.border-white\/20 { border-color: rgba(255, 255, 255, 0.2); }
.border-white\/30 { border-color: rgba(255, 255, 255, 0.3); }
.border-orange-500\/30 { border-color: rgba(249, 115, 22, 0.3); }
.border-orange-500\/40 { border-color: rgba(249, 115, 22, 0.4); }

/* 文字色 + 透明度 */
.text-orange-500\/40 { color: rgba(249, 115, 22, 0.4); }
.text-orange-500\/50 { color: rgba(249, 115, 22, 0.5); }

/* 环颜色 + 透明度 (ring) */
.ring-white\/10 { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1); }
.ring-orange-500\/50 { box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.5); }

/* 渐变 + 透明度 */
.from-blue-700\/30 { --tw-gradient-from: rgba(29, 78, 216, 0.3); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(29, 78, 216, 0)); }
.to-blue-900\/30 { --tw-gradient-to: rgba(30, 58, 138, 0.3); }
.from-orange-700\/30 { --tw-gradient-from: rgba(194, 65, 12, 0.3); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(194, 65, 12, 0)); }
.to-orange-900\/30 { --tw-gradient-to: rgba(124, 45, 18, 0.3); }
.from-slate-700\/30 { --tw-gradient-from: rgba(51, 65, 85, 0.3); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(51, 65, 85, 0)); }
.to-slate-800\/30 { --tw-gradient-to: rgba(30, 41, 59, 0.3); }

/* 阴影 + 透明度 */
.shadow-orange-500\/25 { box-shadow: 0 4px 6px -1px rgba(249, 115, 22, 0.25), 0 2px 4px -1px rgba(249, 115, 22, 0.15); }
.shadow-orange-500\/30 { box-shadow: 0 4px 6px -1px rgba(249, 115, 22, 0.3), 0 2px 4px -1px rgba(249, 115, 22, 0.2); }
.shadow-orange-500\/40 { box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.4), 0 4px 6px -2px rgba(249, 115, 22, 0.25); }
.shadow-blue-900\/20 { box-shadow: 0 4px 6px -1px rgba(30, 58, 138, 0.2), 0 2px 4px -1px rgba(30, 58, 138, 0.1); }
.shadow-blue-900\/40 { box-shadow: 0 10px 15px -3px rgba(30, 58, 138, 0.4), 0 4px 6px -2px rgba(30, 58, 138, 0.25); }
.shadow-blue-700\/20 { box-shadow: 0 4px 6px -1px rgba(29, 78, 216, 0.2), 0 2px 4px -1px rgba(29, 78, 216, 0.1); }

/* hover 状态的斜杠透明度 */
.hover\:bg-white\/10:hover { background-color: rgba(255, 255, 255, 0.1); }
.hover\:border-white\/30:hover { border-color: rgba(255, 255, 255, 0.3); }
.hover\:border-orange-500\/30:hover { border-color: rgba(249, 115, 22, 0.3); }
.hover\:bg-orange-500\/20:hover { background-color: rgba(249, 115, 22, 0.2); }
.hover\:shadow-orange-500\/40:hover { box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.4), 0 4px 6px -2px rgba(249, 115, 22, 0.25); }
.hover\:shadow-blue-900\/40:hover { box-shadow: 0 10px 15px -3px rgba(30, 58, 138, 0.4), 0 4px 6px -2px rgba(30, 58, 138, 0.25); }
.group:hover .group-hover\:bg-orange-500\/20 { background-color: rgba(249, 115, 22, 0.2); }
.group:hover .group-hover\:border-orange-500\/30 { border-color: rgba(249, 115, 22, 0.3); }
.group:hover .group-hover\:shadow-blue-900\/40 { box-shadow: 0 10px 15px -3px rgba(30, 58, 138, 0.4), 0 4px 6px -2px rgba(30, 58, 138, 0.25); }
.group:hover .group-hover\:text-orange-500\/50 { color: rgba(249, 115, 22, 0.5); }
.group:hover .group-hover\:from-blue-600\/10 { --tw-gradient-from: rgba(37, 99, 235, 0.1); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0)); }
.group:hover .group-hover\:to-orange-600\/10 { --tw-gradient-to: rgba(234, 88, 12, 0.1); }

/* via 渐变中间色 */
.via-orange-200 { --tw-gradient-stops: var(--tw-gradient-from), #fed7aa, var(--tw-gradient-to, rgba(254, 215, 170, 0)); }

/* 渐变遮罩透明度 (产品卡片悬浮) */
.from-slate-900\/40 { --tw-gradient-from: rgba(15, 23, 42, 0.4); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(15, 23, 42, 0)); }

/* ========================================
   工业风设计增强
   ======================================== */

/* 深色背景区文字默认色,确保对比度 */
.bg-slate-950, .bg-blue-950,
.bg-gradient-to-br.from-slate-950,
.bg-gradient-to-br.from-blue-950 {
  color: #e2e8f0; /* slate-200,确保深色背景上文字清晰可读 */
}

/* 卡片悬浮增强 - 工业风格阴影 */
.group:hover .group-hover\:shadow-xl {
  box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.15), 0 10px 10px -5px rgba(15, 23, 42, 0.08);
}

/* 按钮交互增强 */
.bg-orange-500:hover, .bg-orange-600:hover {
  box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.3), 0 4px 6px -2px rgba(249, 115, 22, 0.2);
}

/* 表单输入框聚焦增强 - 工业蓝聚焦环 */
input:focus, textarea:focus, select:focus {
  outline: none;
}

/* 渐变文字 - 确保 fallback 颜色 */
.bg-clip-text.text-transparent {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #ea580c; /* fallback: 橙色,防止渐变不生效时文字不可见 */
}

/* 装饰球基础样式 - 防止 blur 不生效时变成实心圆 */
.filter.blur-\[120px\] {
  -webkit-filter: blur(120px);
  filter: blur(120px);
  /* 额外透明度,即使 blur 失效也不会完全遮挡 */
  opacity: 0.7;
}

/* 网格纹理 - 防止 opacity 不生效 */
.opacity-\[0\.03\] {
  opacity: 0.03 !important;
  -moz-opacity: 0.03;
}

/* ========================================
   可访问性增强
   ======================================== */

/* 链接聚焦状态 - 键盘导航可见 */
a:focus-visible, button:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
  border-radius: 4px;
}

/* 移动端菜单文字对比度增强 */
#mobile-menu a {
  color: #1e293b; /* slate-800 */
}

/* 分页导航对比度 */
.pagination a, .pagination span {
  color: #334155; /* slate-700 */
}
.pagination .current {
  color: #ffffff;
  background-color: #1d4ed8; /* blue-700 */
}
