/*
Theme Name: Fushang
Template: astra
Version: 1.0.0
Description: Custom design system for Zhengzhou Fushang Supply Chain Technology Co., Ltd.
*/

/* ============ DESIGN TOKENS ============ */
:root{
  --fs-green:#1B4332;
  --fs-green-dark:#122E22;
  --fs-green-light:#2D6A4F;
  --fs-gold:#C9A227;
  --fs-gold-light:#E5C55F;
  --fs-cream:#FAF8F3;
  --fs-cream-alt:#F2EEE5;
  --fs-ink:#1F2421;
  --fs-muted:#5F6B63;
  --fs-line:#E3DDD0;
  --fs-white:#FFFFFF;
  --fs-radius:14px;
  --fs-radius-lg:24px;
  --fs-shadow:0 4px 24px rgba(27,67,50,.08);
  --fs-shadow-lg:0 18px 50px rgba(27,67,50,.14);
  --fs-max:1240px;
  --fs-font:'Inter','Helvetica Neue',Arial,sans-serif;
  --fs-serif:'Playfair Display',Georgia,serif;
}

/* ============ RESET / BASE ============ */
body, .ast-container{ font-family:var(--fs-font); color:var(--fs-ink); }
body{ background:var(--fs-cream); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ font-family:var(--fs-serif); color:var(--fs-green); letter-spacing:-.01em; }
a{ color:var(--fs-green-light); }
.fs-wrap{ max-width:var(--fs-max); margin:0 auto; padding:0 24px; }

/* ============ HEADER ============ */
.fs-header{
  position:sticky; top:0; z-index:999;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--fs-line);
}
.fs-header .fs-wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.fs-logo{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.fs-logo-mark{
  width:40px; height:40px; border-radius:11px;
  background:linear-gradient(135deg,var(--fs-green),var(--fs-green-light));
  display:flex; align-items:center; justify-content:center;
  color:var(--fs-gold-light); font-family:var(--fs-serif); font-weight:700; font-size:20px;
}
.fs-logo-text{ line-height:1.15; }
.fs-logo-text strong{ display:block; font-size:16px; color:var(--fs-green); letter-spacing:.02em; }
.fs-logo-text span{ display:block; font-size:10px; color:var(--fs-muted); letter-spacing:.13em; text-transform:uppercase; }
.fs-nav{ display:flex; align-items:center; gap:26px; }
.fs-nav a{
  font-size:14px; font-weight:500; color:var(--fs-ink); text-decoration:none;
  padding:6px 0; position:relative;
}
.fs-nav a::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--fs-gold); transition:width .25s ease;
}
.fs-nav a:hover::after{ width:100%; }
.fs-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; border-radius:100px; font-size:14px; font-weight:600;
  text-decoration:none; transition:all .25s ease; border:none; cursor:pointer;
}
.fs-btn-primary{ background:var(--fs-green); color:#fff; }
.fs-btn-primary:hover{ background:var(--fs-green-dark); transform:translateY(-2px); box-shadow:var(--fs-shadow); color:#fff; }
.fs-btn-gold{ background:var(--fs-gold); color:var(--fs-green-dark); }
.fs-btn-gold:hover{ background:var(--fs-gold-light); transform:translateY(-2px); }
.fs-btn-outline{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); }
.fs-btn-outline:hover{ background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }

/* ============ HERO ============ */
.fs-hero{
  position:relative; min-height:640px; display:flex; align-items:center;
  background:linear-gradient(120deg, rgba(18,46,34,.92) 0%, rgba(27,67,50,.72) 55%, rgba(27,67,50,.45) 100%),
             url('https://images.unsplash.com/photo-1494412574643-ff11b0a5c1c3?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
  color:#fff; overflow:hidden;
}
.fs-hero-inner{ max-width:var(--fs-max); margin:0 auto; padding:110px 24px; width:100%; }
.fs-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:600;
  color:var(--fs-gold-light); margin-bottom:22px;
}
.fs-eyebrow::before{ content:''; width:26px; height:2px; background:var(--fs-gold); display:block; }
.fs-hero h1{
  font-size:clamp(34px,4.4vw,58px); line-height:1.12; color:#fff;
  margin:0 0 22px; max-width:830px; font-weight:600;
}
.fs-hero h1 em{ font-style:normal; color:var(--fs-gold-light); }
.fs-hero p{
  font-size:17px; line-height:1.75; color:rgba(255,255,255,.86);
  max-width:610px; margin:0 0 36px;
}
.fs-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.fs-hero-stats{
  display:flex; gap:56px; margin-top:64px; padding-top:34px;
  border-top:1px solid rgba(255,255,255,.18); flex-wrap:wrap;
}
.fs-stat strong{
  display:block; font-family:var(--fs-serif); font-size:34px; color:var(--fs-gold-light);
  line-height:1; margin-bottom:8px;
}
.fs-stat span{ font-size:12.5px; color:rgba(255,255,255,.72); letter-spacing:.05em; }

/* ============ SECTIONS ============ */
.fs-section{ padding:96px 0; }
.fs-section-alt{ background:var(--fs-white); }
.fs-section-cream{ background:var(--fs-cream-alt); }
.fs-section-dark{ background:var(--fs-green); color:#fff; }
.fs-head{ text-align:center; max-width:730px; margin:0 auto 56px; }
.fs-head-left{ text-align:left; margin-left:0; }
.fs-head h2{ font-size:clamp(28px,3vw,40px); line-height:1.2; margin:0 0 16px; }
.fs-head p{ font-size:16px; line-height:1.75; color:var(--fs-muted); margin:0; }
.fs-section-dark .fs-head h2{ color:#fff; }
.fs-section-dark .fs-head p{ color:rgba(255,255,255,.75); }

/* ============ CHANNEL CARDS ============ */
.fs-channels{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.fs-channel{
  position:relative; border-radius:var(--fs-radius-lg); overflow:hidden;
  min-height:420px; display:flex; flex-direction:column; justify-content:flex-end;
  padding:34px; text-decoration:none; color:#fff; isolation:isolate;
  background-size:cover; background-position:center;
  transition:transform .35s ease, box-shadow .35s ease;
}
.fs-channel::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top, rgba(18,46,34,.94) 8%, rgba(18,46,34,.42) 55%, rgba(18,46,34,.18) 100%);
  transition:opacity .35s ease;
}
.fs-channel:hover{ transform:translateY(-6px); box-shadow:var(--fs-shadow-lg); }
.fs-channel:hover::after{ opacity:.92; }
.fs-channel-tag{
  position:absolute; top:22px; left:22px;
  background:rgba(255,255,255,.16); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.28);
  padding:6px 14px; border-radius:100px; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase; font-weight:600;
}
.fs-channel h3{ color:#fff; font-size:25px; margin:0 0 10px; }
.fs-channel p{ font-size:14px; line-height:1.65; color:rgba(255,255,255,.82); margin:0 0 18px; }
.fs-channel-link{ font-size:13px; font-weight:600; color:var(--fs-gold-light); letter-spacing:.04em; }
.fs-channel-link::after{ content:' →'; }

/* ============ FEATURE GRID ============ */
.fs-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.fs-feature{
  background:var(--fs-white); border:1px solid var(--fs-line);
  border-radius:var(--fs-radius); padding:32px 26px;
  transition:all .3s ease;
}
.fs-feature:hover{ border-color:var(--fs-gold); transform:translateY(-4px); box-shadow:var(--fs-shadow); }
.fs-feature-icon{
  width:48px; height:48px; border-radius:12px; margin-bottom:20px;
  background:rgba(201,162,39,.13); color:var(--fs-green);
  display:flex; align-items:center; justify-content:center; font-size:22px;
}
.fs-feature h4{ font-size:16.5px; margin:0 0 10px; }
.fs-feature p{ font-size:13.5px; line-height:1.7; color:var(--fs-muted); margin:0; }

/* ============ CERT WALL ============ */
.fs-certs{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.fs-cert{
  background:var(--fs-white); border:1px solid var(--fs-line); border-radius:12px;
  padding:24px 18px; text-align:center; transition:all .3s ease;
}
.fs-cert:hover{ border-color:var(--fs-gold); box-shadow:var(--fs-shadow); }
.fs-cert img{ max-height:66px; width:auto; margin:0 auto 14px; display:block; }
.fs-cert strong{ display:block; font-size:13.5px; color:var(--fs-green); margin-bottom:5px; }
.fs-cert span{ font-size:11.5px; color:var(--fs-muted); letter-spacing:.03em; }

/* ============ PRODUCT SPOTLIGHT ============ */
.fs-spotlight{
  display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;
}
.fs-spotlight-img{
  border-radius:var(--fs-radius-lg); overflow:hidden; box-shadow:var(--fs-shadow-lg);
  aspect-ratio:4/3; background:var(--fs-cream-alt);
}
.fs-spotlight-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.fs-spec-list{ list-style:none; padding:0; margin:26px 0; }
.fs-spec-list li{
  display:flex; justify-content:space-between; gap:20px;
  padding:13px 0; border-bottom:1px solid var(--fs-line); font-size:14px;
}
.fs-spec-list li span{ color:var(--fs-muted); }
.fs-spec-list li strong{ color:var(--fs-green); font-weight:600; }
.fs-badge-row{ display:flex; flex-wrap:wrap; gap:9px; margin-bottom:24px; }
.fs-badge{
  display:inline-block; padding:6px 14px; border-radius:100px;
  background:rgba(27,67,50,.07); color:var(--fs-green);
  font-size:11.5px; font-weight:600; letter-spacing:.04em;
}
.fs-badge-gold{ background:rgba(201,162,39,.15); color:#8A6D0B; }

/* ============ APPLICATIONS ============ */
.fs-apps{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.fs-app{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--fs-radius); padding:30px 20px; text-align:center;
  transition:all .3s ease;
}
.fs-app:hover{ background:rgba(255,255,255,.12); border-color:var(--fs-gold); }
.fs-app-icon{ font-size:26px; margin-bottom:14px; display:block; }
.fs-app strong{ display:block; font-size:14px; color:#fff; margin-bottom:7px; }
.fs-app span{ font-size:12px; color:rgba(255,255,255,.66); line-height:1.55; display:block; }

/* ============ CTA ============ */
.fs-cta{
  background:linear-gradient(135deg,var(--fs-green) 0%,var(--fs-green-light) 100%);
  border-radius:var(--fs-radius-lg); padding:70px 56px; color:#fff;
  display:grid; grid-template-columns:1.2fr auto; gap:44px; align-items:center;
  position:relative; overflow:hidden;
}
.fs-cta::before{
  content:''; position:absolute; right:-90px; top:-90px; width:320px; height:320px;
  border-radius:50%; background:rgba(201,162,39,.13);
}
.fs-cta h2{ color:#fff; font-size:clamp(26px,2.7vw,36px); margin:0 0 14px; }
.fs-cta p{ color:rgba(255,255,255,.82); font-size:15px; line-height:1.7; margin:0; max-width:560px; }
.fs-cta-actions{ display:flex; flex-direction:column; gap:12px; position:relative; z-index:1; }

/* ============ FOOTER ============ */
.fs-footer{ background:var(--fs-green-dark); color:rgba(255,255,255,.72); padding:72px 0 0; }
.fs-footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:44px; padding-bottom:52px; }
.fs-footer h5{
  color:#fff; font-family:var(--fs-font); font-size:12px; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase; margin:0 0 20px;
}
.fs-footer ul{ list-style:none; padding:0; margin:0; }
.fs-footer li{ margin-bottom:11px; font-size:13.5px; }
.fs-footer a{ color:rgba(255,255,255,.72); text-decoration:none; transition:color .2s; }
.fs-footer a:hover{ color:var(--fs-gold-light); }
.fs-footer-about p{ font-size:13.5px; line-height:1.8; margin:16px 0 0; max-width:330px; }
.fs-footer-bottom{
  border-top:1px solid rgba(255,255,255,.11); padding:24px 0;
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-size:12.5px;
}
.fs-footer .fs-logo-text strong{ color:#fff; }
.fs-footer .fs-logo-text span{ color:rgba(255,255,255,.5); }

/* ============ WHATSAPP FLOAT ============ */
.fs-wa{
  position:fixed; right:24px; bottom:24px; z-index:9999;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 28px rgba(37,211,102,.42); text-decoration:none;
  transition:transform .25s ease;
}
.fs-wa:hover{ transform:scale(1.08); color:#fff; }
.fs-wa svg{ width:30px; height:30px; }

/* ============ PAGE HEADER ============ */
.fs-page-head{
  background:linear-gradient(120deg, rgba(18,46,34,.93), rgba(27,67,50,.78));
  padding:96px 0 78px; color:#fff; position:relative; overflow:hidden;
}
.fs-page-head::after{
  content:''; position:absolute; right:-120px; bottom:-120px;
  width:380px; height:380px; border-radius:50%; background:rgba(201,162,39,.10);
}
.fs-page-head h1{ color:#fff; font-size:clamp(30px,3.6vw,46px); margin:0 0 14px; position:relative; }
.fs-page-head p{ color:rgba(255,255,255,.8); font-size:16px; line-height:1.7; max-width:680px; margin:0; position:relative; }
.fs-breadcrumb{ font-size:12.5px; color:rgba(255,255,255,.55); margin-bottom:18px; letter-spacing:.04em; position:relative; }
.fs-breadcrumb a{ color:rgba(255,255,255,.55); text-decoration:none; }
.fs-breadcrumb a:hover{ color:var(--fs-gold-light); }

/* ============ PRODUCT CARDS ============ */
.fs-products{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.fs-product{
  background:var(--fs-white); border:1px solid var(--fs-line); border-radius:var(--fs-radius-lg);
  overflow:hidden; transition:all .3s ease; display:flex; flex-direction:column;
}
.fs-product:hover{ transform:translateY(-5px); box-shadow:var(--fs-shadow-lg); border-color:var(--fs-gold); }
.fs-product-img{ aspect-ratio:16/10; overflow:hidden; background:var(--fs-cream-alt); }
.fs-product-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block; }
.fs-product:hover .fs-product-img img{ transform:scale(1.06); }
.fs-product-body{ padding:26px 24px 28px; flex:1; display:flex; flex-direction:column; }
.fs-product-body h3{ font-size:18px; margin:0 0 10px; line-height:1.35; }
.fs-product-body p{ font-size:13.5px; line-height:1.7; color:var(--fs-muted); margin:0 0 16px; flex:1; }
.fs-product-meta{ font-size:12.5px; color:var(--fs-green); font-weight:600; letter-spacing:.03em; }

/* ============ CERT PAGE ============ */
.fs-cert-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.fs-cert-card{
  background:var(--fs-white); border:1px solid var(--fs-line); border-radius:var(--fs-radius);
  overflow:hidden; transition:all .3s ease;
}
.fs-cert-card:hover{ box-shadow:var(--fs-shadow-lg); transform:translateY(-4px); }
.fs-cert-thumb{
  aspect-ratio:4/5; overflow:hidden; background:var(--fs-cream-alt);
  display:flex; align-items:center; justify-content:center; padding:18px;
}
.fs-cert-thumb img{ max-width:100%; max-height:100%; object-fit:contain; box-shadow:0 2px 12px rgba(0,0,0,.08); }
.fs-cert-info{ padding:22px 24px; }
.fs-cert-info strong{ display:block; font-size:15px; color:var(--fs-green); margin-bottom:8px; }
.fs-cert-info p{ font-size:12.5px; color:var(--fs-muted); line-height:1.65; margin:0 0 12px; }
.fs-cert-note{ font-size:11.5px; color:var(--fs-muted); opacity:.85; }

/* ============ STEPS ============ */
.fs-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; counter-reset:step; }
.fs-step{ position:relative; padding-top:56px; }
.fs-step::before{
  counter-increment:step; content:counter(step,decimal-leading-zero);
  position:absolute; top:0; left:0;
  font-family:var(--fs-serif); font-size:30px; color:var(--fs-gold); font-weight:700;
}
.fs-step h4{ font-size:15.5px; margin:0 0 9px; }
.fs-step p{ font-size:13px; line-height:1.7; color:var(--fs-muted); margin:0; }
.fs-step::after{
  content:''; position:absolute; top:18px; left:52px; right:0; height:1px;
  background:var(--fs-line);
}
.fs-steps .fs-step:last-child::after{ display:none; }

/* ============ CONTACT ============ */
.fs-contact-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:60px; }
.fs-contact-item{ display:flex; gap:16px; margin-bottom:28px; }
.fs-contact-icon{
  width:44px; height:44px; border-radius:11px; flex-shrink:0;
  background:rgba(27,67,50,.08); display:flex; align-items:center; justify-content:center; font-size:18px;
}
.fs-contact-item strong{ display:block; font-size:14px; color:var(--fs-green); margin-bottom:5px; }
.fs-contact-item span, .fs-contact-item a{ font-size:13.5px; color:var(--fs-muted); text-decoration:none; line-height:1.6; }
.fs-form{
  background:var(--fs-white); border:1px solid var(--fs-line);
  border-radius:var(--fs-radius-lg); padding:38px;
}
.fs-form input, .fs-form textarea, .fs-form select{
  width:100%; padding:13px 16px; border:1px solid var(--fs-line); border-radius:10px;
  font-family:var(--fs-font); font-size:14px; margin-bottom:16px; background:var(--fs-cream);
  transition:border-color .2s;
}
.fs-form input:focus, .fs-form textarea:focus, .fs-form select:focus{
  border-color:var(--fs-green-light); outline:none; background:#fff;
}
.fs-form textarea{ min-height:130px; resize:vertical; }
.fs-form input[type=submit]{
  background:var(--fs-green); color:#fff; border:none; font-weight:600;
  cursor:pointer; padding:15px; margin-bottom:0; transition:all .25s;
}
.fs-form input[type=submit]:hover{ background:var(--fs-green-dark); }
.fs-form br{ display:none; }
.wpcf7-form p{ margin:0; }
.wpcf7-not-valid-tip{ color:#B42318; font-size:12px; margin-top:-10px; margin-bottom:10px; display:block; }
.wpcf7 form.sent .wpcf7-response-output{ border-color:var(--fs-green-light); color:var(--fs-green); border-radius:10px; }

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .fs-channels{ grid-template-columns:1fr; }
  .fs-channel{ min-height:320px; }
  .fs-features{ grid-template-columns:repeat(2,1fr); }
  .fs-certs{ grid-template-columns:repeat(2,1fr); }
  .fs-spotlight{ grid-template-columns:1fr; gap:36px; }
  .fs-apps{ grid-template-columns:repeat(3,1fr); }
  .fs-cta{ grid-template-columns:1fr; padding:48px 32px; }
  .fs-footer-grid{ grid-template-columns:1fr 1fr; gap:36px; }
  .fs-products{ grid-template-columns:repeat(2,1fr); }
  .fs-cert-grid{ grid-template-columns:repeat(2,1fr); }
  .fs-steps{ grid-template-columns:repeat(2,1fr); }
  .fs-contact-grid{ grid-template-columns:1fr; gap:40px; }
  .fs-nav{ display:none; }
}
@media (max-width:640px){
  .fs-section{ padding:64px 0; }
  .fs-features, .fs-certs, .fs-products, .fs-cert-grid, .fs-apps, .fs-steps{ grid-template-columns:1fr; }
  .fs-footer-grid{ grid-template-columns:1fr; }
  .fs-hero{ min-height:auto; }
  .fs-hero-inner{ padding:80px 20px; }
  .fs-hero-stats{ gap:30px; margin-top:44px; }
  .fs-stat strong{ font-size:27px; }
  .fs-form{ padding:26px 20px; }
}

/* ============ v1.3 — nav CTA matches other nav links ============ */
.fs-nav a.fs-btn.fs-btn-primary{
  background:transparent !important;
  color:var(--fs-ink) !important;
  padding:6px 0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-weight:500 !important;
  font-size:14px !important;
  transform:none !important;
}
.fs-nav a.fs-btn.fs-btn-primary:hover{
  background:transparent !important;
  color:var(--fs-green) !important;
  box-shadow:none !important;
  transform:none !important;
}
.fs-nav a.fs-btn.fs-btn-primary::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--fs-gold); transition:width .25s ease;
}
.fs-nav a.fs-btn.fs-btn-primary:hover::after{ width:100%; }

/* ============ v1.4 — responsive specification table ============ */
.fs-table-wrap{
  overflow-x:auto;
  border-radius:var(--fs-radius-lg);
  border:1px solid var(--fs-line);
  background:var(--fs-white);
  box-shadow:var(--fs-shadow);
}
.fs-spec-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  min-width:860px;
}
.fs-spec-table thead th{
  background:var(--fs-green);
  color:#fff;
  font-family:var(--fs-font);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:left;
  padding:18px 22px;
  white-space:nowrap;
}
.fs-spec-table tbody td{
  padding:20px 22px;
  border-bottom:1px solid var(--fs-line);
  color:var(--fs-muted);
  line-height:1.65;
  vertical-align:top;
}
.fs-spec-table tbody tr:last-child td{ border-bottom:none; }
.fs-spec-table tbody tr:hover{ background:rgba(201,162,39,.06); }
.fs-spec-table td strong{
  display:block;
  color:var(--fs-green);
  font-size:14.5px;
  font-weight:600;
  margin-bottom:3px;
}
.fs-spec-table td span{
  display:block;
  font-size:12px;
  color:var(--fs-gold);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.fs-table-note{
  margin:22px 0 0;
  font-size:13px;
  line-height:1.75;
  color:var(--fs-muted);
  text-align:center;
}

/* Mobile: each row becomes a card */
@media (max-width:860px){
  .fs-table-wrap{
    overflow-x:visible;
    border:none;
    background:transparent;
    box-shadow:none;
    border-radius:0;
  }
  .fs-spec-table{ min-width:0; display:block; }
  .fs-spec-table thead{ display:none; }
  .fs-spec-table tbody{ display:block; }
  .fs-spec-table tbody tr{
    display:block;
    background:var(--fs-white);
    border:1px solid var(--fs-line);
    border-radius:var(--fs-radius);
    margin-bottom:18px;
    padding:6px 4px;
    box-shadow:var(--fs-shadow);
  }
  .fs-spec-table tbody tr:hover{ background:var(--fs-white); }
  .fs-spec-table tbody td{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:11px 18px;
    border-bottom:1px dashed var(--fs-line);
    font-size:13.5px;
  }
  .fs-spec-table tbody td:last-child{ border-bottom:none; }
  .fs-spec-table tbody td::before{
    content:attr(data-label);
    flex:0 0 42%;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--fs-green);
    opacity:.75;
    padding-top:2px;
  }
  .fs-spec-table tbody td > *{ flex:1 1 auto; }
  .fs-spec-table tbody td:first-child{
    display:block;
    background:rgba(27,67,50,.05);
    border-radius:var(--fs-radius) var(--fs-radius) 0 0;
    margin:-6px -4px 6px;
    padding:16px 22px;
  }
  .fs-spec-table tbody td:first-child::before{ display:none; }
  .fs-spec-table td strong{ font-size:15.5px; }
  .fs-table-note{ text-align:left; }
}

/* --- Tableware categories (v2, 2026-10-19) --- */
.fs-tw-tabs{ display:flex; flex-wrap:wrap; gap:14px; }
.fs-tw-meta{ margin-top:auto; padding-top:14px; border-top:1px solid rgba(0,0,0,.08); }
.fs-tw-line{ font-size:12.5px; line-height:1.75; color:#5b6660; }
.fs-tw-line:first-child{ margin-top:0; }
#eco-friendly-tableware, #plastic-tableware{ scroll-margin-top:96px; }
#eco-friendly-tableware h2, #plastic-tableware h2{ font-size:clamp(24px,3vw,36px); margin:0 0 8px; }
