/* ZGP World — Labor Shoe E-commerce Theme CSS v3
   通栏/全宽 / 大气版 / 工业蓝色 + 安全橙色
   ============================================== */

:root {
    --zgp-primary: #0F3D7C;
    --zgp-primary-dark: #08275A;
    --zgp-primary-light: #1E5BA8;
    --zgp-accent: #FF6B35;
    --zgp-accent-dark: #E54B17;
    --zgp-dark: #1A1A1A;
    --zgp-gray: #666666;
    --zgp-light: #F8F9FA;
    --zgp-border: #E5E5E5;
    --zgp-success: #28A745;
    --zgp-warning: #FFC107;
    --zgp-radius: 4px;
    --zgp-shadow: 0 2px 8px rgba(0,0,0,.08);
    --zgp-shadow-lg: 0 12px 32px rgba(0,0,0,.14);
}

/* ============================================
   强制通栏 — 覆盖 Twenty25 主题的 645px 限制
   ============================================ */
:root {
    --wp--style--global--content-size: 1920px !important;
    --wp--style--global--wide-size: 1920px !important;
    --wp--style--root--padding-top: 0px !important;
    --wp--style--root--padding-bottom: 0px !important;
    --wp--style--root--padding-right: 0px !important;
    --wp--style--root--padding-left: 0px !important;
}

body { margin: 0 !important; padding: 0 !important; }

.wp-site-blocks,
.wp-site-content,
.site-content,
.entry-content,
.entry-content > *,
.wp-block-group,
.wp-block-group.has-global-padding,
.wp-block-group.is-layout-constrained,
.wp-block-post-content,
.has-global-padding {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* 让 alignfull 真的全宽 */
.alignfull,
.is-layout-flow > .alignfull,
.alignwide {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 关闭跳到内容链接 — 不需要 */
.skip-link.screen-reader-text,
.screen-reader-text.skip-link { display: none !important; }

/* 关闭默认 page header (h1.entry-title) — 我们有自己的标题 */
.entry-header,
.entry-title,
h1.wp-block-post-title,
h1.entry-title { display: none !important; }

/* ============================================
   ZGP 全局样式
   ============================================ */
body { font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif; color: #333; background: #fff; }

.zgp-wrap        { width: 100%; max-width: 1680px; margin: 0 auto; padding: 0 48px; box-sizing: border-box; }
.zgp-wrap-wide   { width: 100%; max-width: 1920px; margin: 0 auto; padding: 0 48px; box-sizing: border-box; }
.zgp-full        { width: 100%; }

/* ===== 顶栏 ===== */
.zgp-top-bar { background: var(--zgp-dark); color: rgba(255,255,255,.85); font-size: 14px; padding: 10px 0; }
.zgp-top-bar a { color: rgba(255,255,255,.85); text-decoration: none; }
.zgp-top-bar a:hover { color: var(--zgp-accent); }
.zgp-top-bar .zgp-wrap-wide { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.zgp-top-left, .zgp-top-right { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }

/* ===== Header ===== */
.zgp-header { background: #fff; box-shadow: var(--zgp-shadow); position: sticky; top: 0; z-index: 100; width: 100%; }
.zgp-header .zgp-wrap-wide { display: flex; justify-content: space-between; align-items: center; padding-top: 22px; padding-bottom: 22px; gap: 32px; }
.zgp-logo { font-size: 30px; font-weight: 900; color: var(--zgp-primary); letter-spacing: -.5px; text-decoration: none; display: flex; align-items: center; gap: 14px; }
.zgp-logo-mark { background: var(--zgp-primary); color: #fff; padding: 6px 12px; border-radius: 6px; font-weight: 900; font-size: 26px; }
.zgp-logo-mark span { color: var(--zgp-accent); }
.zgp-logo-text { display: flex; flex-direction: column; line-height: 1; }
.zgp-logo-text small { font-size: 11px; font-weight: 700; color: var(--zgp-gray); letter-spacing: 2px; text-transform: uppercase; margin-top: 4px; }

.zgp-nav { display: flex; gap: 36px; align-items: center; }
.zgp-nav a { color: var(--zgp-dark); text-decoration: none; font-weight: 700; font-size: 16px; transition: color .2s; letter-spacing: .3px; }
.zgp-nav a:hover { color: var(--zgp-primary); }

.zgp-header-actions { display: flex; gap: 16px; align-items: center; }
.zgp-icon-btn { background: none; border: none; cursor: pointer; color: var(--zgp-dark); font-size: 20px; padding: 10px; border-radius: 50%; transition: background .2s; }
.zgp-icon-btn:hover { background: var(--zgp-light); }
.zgp-btn { display: inline-block; padding: 12px 26px; font-weight: 700; font-size: 14px; border-radius: var(--zgp-radius); text-decoration: none; transition: all .2s; cursor: pointer; border: 2px solid transparent; letter-spacing: .5px; text-transform: uppercase; }
.zgp-btn-primary { background: var(--zgp-primary); color: #fff; }
.zgp-btn-primary:hover { background: var(--zgp-primary-dark); color: #fff; transform: translateY(-1px); }
.zgp-btn-accent { background: var(--zgp-accent); color: #fff; }
.zgp-btn-accent:hover { background: var(--zgp-accent-dark); color: #fff; transform: translateY(-1px); }
.zgp-btn-outline { background: transparent; border: 2px solid #fff; color: #fff; }
.zgp-btn-outline:hover { background: #fff; color: var(--zgp-primary); }
.zgp-btn-outline-dark { background: transparent; border: 2px solid var(--zgp-primary); color: var(--zgp-primary); }
.zgp-btn-outline-dark:hover { background: var(--zgp-primary); color: #fff; }

/* ===== Hero - 大气全屏 ===== */
.zgp-hero { position: relative; min-height: 760px; display: flex; align-items: center; color: #fff; background-size: cover; background-position: center; width: 100%; }
.zgp-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(15, 61, 124, .92) 0%, rgba(8, 39, 90, .55) 100%); }
.zgp-hero-content { position: relative; z-index: 2; max-width: 880px; padding: 120px 0; }
.zgp-hero h1 { font-size: clamp(40px, 5.5vw, 72px); font-weight: 900; line-height: 1.05; margin: 0 0 24px; letter-spacing: -1.5px; }
.zgp-hero .zgp-tagline { display: inline-block; background: var(--zgp-accent); color: #fff; padding: 8px 20px; border-radius: 30px; font-size: 13px; font-weight: 700; letter-spacing: 2px; margin-bottom: 28px; text-transform: uppercase; }
.zgp-hero p { font-size: 20px; line-height: 1.6; margin: 0 0 36px; opacity: .95; max-width: 720px; }
.zgp-hero-actions { display: flex; gap: 20px; flex-wrap: wrap; }
.zgp-hero .zgp-btn { font-size: 16px; padding: 16px 32px; }
.zgp-hero-stats { display: flex; gap: 56px; margin-top: 64px; flex-wrap: wrap; }
.zgp-stat { padding-left: 20px; border-left: 3px solid var(--zgp-accent); }
.zgp-stat-num { font-size: 44px; font-weight: 900; line-height: 1; color: #fff; }
.zgp-stat-label { font-size: 13px; opacity: .85; margin-top: 6px; letter-spacing: .8px; text-transform: uppercase; font-weight: 600; }

/* ===== Trust Strip ===== */
.zgp-trust-strip { background: #fff; border-top: 1px solid var(--zgp-border); border-bottom: 1px solid var(--zgp-border); padding: 32px 0; width: 100%; }
.zgp-trust-strip .zgp-wrap-wide { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 32px; }
.zgp-trust-item { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; color: var(--zgp-dark); }

/* ===== Sections ===== */
.zgp-section { padding: 110px 0; width: 100%; }
.zgp-section-light { background: var(--zgp-light); }
.zgp-section-dark { background: var(--zgp-dark); color: #fff; }
.zgp-section-dark .zgp-section-title { color: #fff; }
.zgp-section-dark .zgp-section-sub { color: rgba(255,255,255,.8); }
.zgp-section-header { text-align: center; margin-bottom: 72px; max-width: 880px; margin-left: auto; margin-right: auto; }
.zgp-section-eyebrow { display: inline-block; color: var(--zgp-accent); font-size: 13px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 14px; }
.zgp-section-title { font-size: clamp(32px, 4.5vw, 52px); font-weight: 900; color: var(--zgp-dark); margin: 0 0 18px; letter-spacing: -1px; line-height: 1.15; }
.zgp-section-sub { font-size: 18px; color: var(--zgp-gray); margin: 0; line-height: 1.6; }

/* ===== Industries - 3 列通栏 ===== */
.zgp-industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.zgp-industry-card { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; cursor: pointer; transition: transform .3s; background-size: cover; background-position: center; box-shadow: var(--zgp-shadow); }
.zgp-industry-card:hover { transform: translateY(-6px); box-shadow: var(--zgp-shadow-lg); }
.zgp-industry-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.25) 100%); transition: opacity .3s; }
.zgp-industry-card:hover::before { background: linear-gradient(to top, rgba(15, 61, 124, .88) 0%, rgba(15, 61, 124, .35) 100%); }
.zgp-industry-card-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 32px; color: #fff; z-index: 2; }
.zgp-industry-card-content h3 { font-size: 26px; font-weight: 800; margin: 0 0 8px; letter-spacing: -.3px; }
.zgp-industry-card-content p { font-size: 14px; margin: 0; opacity: .9; line-height: 1.5; }
.zgp-industry-card-content .zgp-arrow { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 700; transition: transform .3s; }
.zgp-industry-card:hover .zgp-arrow { transform: translateX(6px); }

/* ===== Products - 3 列大卡片 ===== */
.zgp-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.zgp-product-card { background: #fff; border-radius: 12px; overflow: hidden; transition: all .3s; border: 1px solid var(--zgp-border); display: flex; flex-direction: column; }
.zgp-product-card:hover { box-shadow: var(--zgp-shadow-lg); transform: translateY(-6px); }
.zgp-product-image { aspect-ratio: 1 / 1; background: var(--zgp-light); background-size: cover; background-position: center; position: relative; }
.zgp-product-badge { position: absolute; top: 16px; left: 16px; background: var(--zgp-accent); color: #fff; padding: 6px 14px; border-radius: 4px; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.zgp-product-info { padding: 28px; flex-grow: 1; display: flex; flex-direction: column; }
.zgp-product-cat { font-size: 12px; color: var(--zgp-gray); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; font-weight: 700; }
.zgp-product-name { font-size: 20px; font-weight: 800; color: var(--zgp-dark); margin: 0 0 12px; line-height: 1.3; }
.zgp-product-meta { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.zgp-cert-tag { font-size: 11px; padding: 4px 10px; background: var(--zgp-light); color: var(--zgp-primary); border-radius: 3px; font-weight: 800; }
.zgp-product-price-row { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
.zgp-product-price { font-size: 24px; font-weight: 900; color: var(--zgp-primary); }
.zgp-product-price-unit { font-size: 13px; color: var(--zgp-gray); font-weight: 500; }
.zgp-product-cta { background: var(--zgp-primary); color: #fff; padding: 10px 18px; border-radius: var(--zgp-radius); text-decoration: none; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.zgp-product-cta:hover { background: var(--zgp-primary-dark); }

/* ===== Why Us - 4 列 ===== */
.zgp-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.zgp-feature-item { text-align: center; padding: 36px 24px; background: #fff; border-radius: 12px; transition: transform .3s; }
.zgp-feature-item:hover { transform: translateY(-4px); }
.zgp-feature-icon { width: 80px; height: 80px; margin: 0 auto 20px; background: linear-gradient(135deg, var(--zgp-primary), var(--zgp-primary-light)); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 32px; }
.zgp-feature-item h4 { font-size: 20px; font-weight: 800; margin: 0 0 10px; color: var(--zgp-dark); }
.zgp-feature-item p { font-size: 15px; color: var(--zgp-gray); line-height: 1.65; margin: 0; }

/* ===== Certifications - 6列 ===== */
.zgp-cert-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; align-items: stretch; }
.zgp-cert-item { background: #fff; border: 1px solid var(--zgp-border); border-radius: 12px; padding: 36px 24px; text-align: center; transition: all .3s; }
.zgp-cert-item:hover { border-color: var(--zgp-accent); transform: translateY(-4px); box-shadow: var(--zgp-shadow); }
.zgp-cert-mark { font-size: 36px; font-weight: 900; color: var(--zgp-primary); margin-bottom: 10px; letter-spacing: -1px; }
.zgp-cert-name { font-size: 13px; color: var(--zgp-gray); font-weight: 600; }

/* ===== About ===== */
.zgp-about-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.zgp-about-image { border-radius: 12px; aspect-ratio: 4 / 3; background-size: cover; background-position: center; box-shadow: var(--zgp-shadow-lg); }
.zgp-about-text h2 { font-size: 44px; font-weight: 900; margin: 0 0 22px; color: var(--zgp-dark); line-height: 1.15; letter-spacing: -.5px; }
.zgp-about-text p { font-size: 17px; color: var(--zgp-gray); line-height: 1.75; margin: 0 0 16px; }
.zgp-about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; }
.zgp-about-feature { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; padding: 8px 0; }
.zgp-about-feature::before { content: "✓"; color: var(--zgp-success); font-weight: 900; font-size: 18px; }

/* ===== CTA Banner ===== */
.zgp-cta { position: relative; padding: 130px 24px; text-align: center; color: #fff; background-size: cover; background-position: center; width: 100%; }
.zgp-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(15, 61, 124, .93), rgba(8, 39, 90, .88)); }
.zgp-cta-content { position: relative; z-index: 2; max-width: 880px; margin: 0 auto; }
.zgp-cta h2 { font-size: clamp(36px, 4.5vw, 52px); font-weight: 900; margin: 0 0 18px; line-height: 1.15; letter-spacing: -.5px; }
.zgp-cta p { font-size: 19px; opacity: .9; margin: 0 0 36px; line-height: 1.6; }
.zgp-cta .zgp-btn-accent { font-size: 18px; padding: 18px 40px; }

/* ===== Footer ===== */
.zgp-footer { background: #0A0A0A; color: rgba(255,255,255,.7); padding: 80px 0 0; width: 100%; }
.zgp-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 56px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,.08); }
.zgp-footer h5 { color: #fff; font-size: 14px; font-weight: 800; margin: 0 0 22px; text-transform: uppercase; letter-spacing: 1.5px; }
.zgp-footer-logo { font-size: 26px; font-weight: 900; color: #fff; margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.zgp-footer-logo span { color: var(--zgp-accent); }
.zgp-footer p { font-size: 15px; line-height: 1.7; max-width: 380px; }
.zgp-footer ul { list-style: none; padding: 0; margin: 0; }
.zgp-footer ul li { margin-bottom: 12px; }
.zgp-footer ul li a { color: rgba(255,255,255,.7); text-decoration: none; font-size: 14px; transition: color .2s; }
.zgp-footer ul li a:hover { color: var(--zgp-accent); }
.zgp-footer-bottom { padding: 28px 0; text-align: center; font-size: 13px; color: rgba(255,255,255,.5); }
.zgp-social { display: flex; gap: 12px; margin-top: 24px; }
.zgp-social a { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; transition: background .2s; font-weight: 700; }
.zgp-social a:hover { background: var(--zgp-accent); }

/* ===== Responsive ===== */
@media (max-width: 1280px) {
    .zgp-feature-grid { grid-template-columns: repeat(2, 1fr); }
    .zgp-cert-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
    .zgp-wrap, .zgp-wrap-wide { padding: 0 20px; }
    .zgp-nav { display: none; }
    .zgp-hero { min-height: 600px; }
    .zgp-hero-content { padding: 80px 0; }
    .zgp-section { padding: 64px 0; }
    .zgp-industry-grid, .zgp-product-grid { grid-template-columns: 1fr; gap: 16px; }
    .zgp-feature-grid { grid-template-columns: 1fr; }
    .zgp-cert-grid { grid-template-columns: repeat(2, 1fr); }
    .zgp-about-grid { grid-template-columns: 1fr; gap: 40px; }
    .zgp-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .zgp-hero-stats { gap: 24px; }
    .zgp-stat-num { font-size: 32px; }
}


/* ===== ZGP Styles v2 - New Sections ===== */

/* Process steps - 5 列 */
.zgp-process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.zgp-process-step { background: #fff; border-radius: 12px; padding: 36px 24px; position: relative; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: all .3s; }
.zgp-process-step:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.1); }
.zgp-process-num { font-size: 48px; font-weight: 900; color: var(--zgp-accent); opacity: .18; line-height: 1; margin-bottom: 12px; font-family: 'Inter', sans-serif; }
.zgp-process-step h4 { font-size: 18px; font-weight: 800; color: var(--zgp-primary); margin: 0 0 12px; }
.zgp-process-step p { font-size: 14px; line-height: 1.6; color: var(--zgp-text-secondary); margin: 0; }
@media (max-width: 1024px) { .zgp-process-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .zgp-process-grid { grid-template-columns: 1fr; } }

/* Testimonial grid - 3 列 */
.zgp-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.zgp-testimonial { background: #fff; border-radius: 12px; padding: 40px 32px; box-shadow: 0 1px 3px rgba(0,0,0,.06); position: relative; border: 1px solid var(--zgp-border); }
.zgp-testimonial-quote { position: absolute; top: 16px; left: 28px; font-size: 80px; line-height: 1; color: var(--zgp-accent); opacity: .25; font-family: Georgia, serif; }
.zgp-testimonial p { font-size: 15px; line-height: 1.7; color: var(--zgp-text); margin: 0 0 24px; font-style: italic; }
.zgp-testimonial-author { padding-top: 16px; border-top: 1px solid var(--zgp-border); }
.zgp-testimonial-name { font-weight: 800; color: var(--zgp-primary); font-size: 15px; }
.zgp-testimonial-role { font-size: 12px; color: var(--zgp-text-secondary); margin-top: 4px; }
@media (max-width: 900px) { .zgp-testimonial-grid { grid-template-columns: 1fr; } }

/* Cert image inside cert-item */
.zgp-cert-image { width: 100px; height: 100px; margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; }
.zgp-cert-image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.zgp-cert-item h4 { font-size: 17px; font-weight: 800; color: var(--zgp-primary); margin: 0 0 8px; }
.zgp-cert-item p { font-size: 13px; line-height: 1.5; color: var(--zgp-text-secondary); margin: 0; }
.zgp-cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 1024px) { .zgp-cert-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .zgp-cert-grid { grid-template-columns: repeat(2, 1fr); } }

/* About image with real img tag */
.zgp-about-image { border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 12px 40px rgba(0,0,0,.12); position: relative; }
.zgp-about-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Industry card with img tag */
.zgp-industry-card { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; cursor: pointer; transition: transform .3s; box-shadow: 0 4px 12px rgba(0,0,0,.08); display: block; text-decoration: none; }
.zgp-industry-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transition: transform .4s; }
.zgp-industry-card:hover img { transform: scale(1.06); }
.zgp-industry-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.25) 100%); z-index: 1; transition: opacity .3s; pointer-events: none; }
.zgp-industry-card:hover::before { background: linear-gradient(to top, rgba(15, 61, 124, .88) 0%, rgba(15, 61, 124, .35) 100%); }
.zgp-industry-card-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 32px; color: #fff; z-index: 2; }
.zgp-industry-card-content h3 { font-size: 26px; font-weight: 800; margin: 0 0 8px; letter-spacing: -.3px; }
.zgp-industry-card-content p { font-size: 14px; margin: 0; opacity: .9; line-height: 1.5; }
.zgp-industry-card-content .zgp-arrow { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 700; transition: transform .3s; }
.zgp-industry-card:hover .zgp-arrow { transform: translateX(6px); }

/* Industry grid 3 col */
.zgp-industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px) { .zgp-industry-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .zgp-industry-grid { grid-template-columns: 1fr; } }

/* Product card with img */
.zgp-product-image { aspect-ratio: 1/1; background: #f5f6f8; position: relative; overflow: hidden; }
.zgp-product-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.zgp-product-card:hover .zgp-product-image img { transform: scale(1.06); }
.zgp-product-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: all .3s; }
.zgp-product-card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0,0,0,.12); }
.zgp-product-info { padding: 20px 22px 22px; }
.zgp-product-cat { font-size: 12px; font-weight: 700; color: var(--zgp-accent); text-transform: uppercase; letter-spacing: .8px; margin-bottom: 6px; }
.zgp-product-name { font-size: 16px; font-weight: 800; color: var(--zgp-primary); margin: 0 0 10px; line-height: 1.35; min-height: 44px; }
.zgp-product-meta { display: flex; gap: 6px; margin-bottom: 14px; }
.zgp-cert-tag { display: inline-block; padding: 3px 8px; background: var(--zgp-primary); color: #fff; font-size: 11px; font-weight: 800; border-radius: 3px; letter-spacing: .3px; }
.zgp-product-price-row { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--zgp-border); }
.zgp-product-price { font-size: 24px; font-weight: 900; color: var(--zgp-primary); }
.zgp-product-price-unit { font-size: 13px; font-weight: 500; color: var(--zgp-text-secondary); }
.zgp-product-cta { padding: 8px 16px; background: var(--zgp-accent); color: #fff; border-radius: 6px; text-decoration: none; font-size: 13px; font-weight: 700; transition: background .2s; }
.zgp-product-cta:hover { background: #e55a2b; color: #fff; }
.zgp-product-badge { position: absolute; top: 12px; left: 12px; background: var(--zgp-primary); color: #fff; padding: 6px 12px; font-size: 11px; font-weight: 800; border-radius: 4px; letter-spacing: .3px; z-index: 2; }
.zgp-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1024px) { .zgp-product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .zgp-product-grid { grid-template-columns: 1fr; } }

/* SEO Content long-form */
.zgp-seo-content { max-width: 980px; margin: 0 auto; font-size: 16px; line-height: 1.8; color: var(--zgp-text); }
.zgp-seo-content p { margin: 0 0 20px; }
.zgp-seo-content h3 { font-size: 22px; font-weight: 800; color: var(--zgp-primary); margin: 36px 0 16px; }
.zgp-seo-content strong { color: var(--zgp-primary); }

/* FAQ */
.zgp-faq-list { max-width: 920px; margin: 0 auto; }
.zgp-faq-item { background: #fff; border: 1px solid var(--zgp-border); border-radius: 10px; margin-bottom: 12px; overflow: hidden; transition: all .2s; }
.zgp-faq-item:hover { border-color: var(--zgp-primary); }
.zgp-faq-item summary { padding: 20px 24px; font-size: 16px; font-weight: 700; color: var(--zgp-primary); cursor: pointer; list-style: none; position: relative; padding-right: 56px; }
.zgp-faq-item summary::-webkit-details-marker { display: none; }
.zgp-faq-item summary::after { content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 300; color: var(--zgp-accent); transition: transform .2s; }
.zgp-faq-item[open] summary::after { content: "−"; }
.zgp-faq-answer { padding: 0 24px 20px; font-size: 15px; line-height: 1.7; color: var(--zgp-text); }
.zgp-faq-answer p { margin: 0; }
.zgp-faq-answer strong { color: var(--zgp-primary); }

/* Feature grid 3 col (was 4 in v1, now 3 col 2 rows for 6 features) */
.zgp-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 900px) { .zgp-feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .zgp-feature-grid { grid-template-columns: 1fr; } }
.zgp-feature-item { text-align: center; padding: 24px; }
.zgp-feature-icon { font-size: 48px; margin-bottom: 16px; }
.zgp-feature-item h4 { font-size: 18px; font-weight: 800; color: var(--zgp-primary); margin: 0 0 12px; }
.zgp-feature-item p { font-size: 14px; line-height: 1.6; color: var(--zgp-text-secondary); margin: 0; }

/* About grid (image + text) */
.zgp-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 900px) { .zgp-about-grid { grid-template-columns: 1fr; gap: 40px; } }
.zgp-about-text h2 { font-size: 36px; font-weight: 900; color: var(--zgp-primary); margin: 12px 0 20px; line-height: 1.2; }
.zgp-about-text p { font-size: 15px; line-height: 1.7; color: var(--zgp-text); margin: 0 0 16px; }
.zgp-about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.zgp-about-feature { padding: 10px 0; font-weight: 600; color: var(--zgp-primary); font-size: 14px; }

/* Cert badge (text fallback, will be replaced with images later) */
.zgp-cert-badge { width: 100px; height: 100px; margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--zgp-primary), #1a5290); color: #fff; font-size: 24px; font-weight: 900; border-radius: 50%; box-shadow: 0 4px 12px rgba(15,61,124,.25); letter-spacing: -.5px; }

/* ===== ZGP Menu (wp_nav_menu output) ===== */
.zgp-nav-list, .zgp-nav-list ul { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; gap: 4px; }
.zgp-nav-list li { position: relative; }
.zgp-nav-list > li > a { display: block; padding: 12px 16px; color: #0F3D7C; font-size: 14px; font-weight: 600; text-decoration: none; text-transform: uppercase; letter-spacing: .5px; transition: color .2s; position: relative; }
.zgp-nav-list > li > a:hover, .zgp-nav-list > li.current-menu-item > a { color: var(--zgp-accent); }
.zgp-nav-list > li > a::after { content: ""; position: absolute; bottom: 6px; left: 16px; right: 16px; height: 2px; background: var(--zgp-accent); transform: scaleX(0); transition: transform .2s; }
.zgp-nav-list > li:hover > a::after, .zgp-nav-list > li.current-menu-item > a::after { transform: scaleX(1); }
/* Sub menu */
.zgp-nav-list ul { display: block; position: absolute; top: 100%; left: 0; background: #fff; min-width: 220px; box-shadow: 0 8px 24px rgba(0,0,0,.12); border-radius: 0 0 8px 8px; padding: 8px 0; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: all .2s; z-index: 100; }
.zgp-nav-list li:hover > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.zgp-nav-list ul li a { display: block; padding: 10px 20px; color: var(--zgp-text); font-size: 14px; font-weight: 500; text-decoration: none; transition: all .15s; }
.zgp-nav-list ul li a:hover { background: #f5f6f8; color: var(--zgp-primary); padding-left: 24px; }
/* CTA item */
.zgp-nav-list > li.zgp-cta-item > a { background: var(--zgp-accent); color: #fff !important; border-radius: 6px; padding: 10px 20px !important; font-weight: 700; }
.zgp-nav-list > li.zgp-cta-item > a:hover { background: #e55a2b; }
.zgp-nav-list > li.zgp-cta-item > a::after { display: none; }
/* zgp-fallback-nav same styles */
.zgp-fallback-nav { display: flex; gap: 4px; align-items: center; list-style: none; padding: 0; margin: 0; }
.zgp-fallback-nav a { padding: 12px 16px; color: #0F3D7C; font-size: 14px; font-weight: 600; text-decoration: none; text-transform: uppercase; letter-spacing: .5px; }
.zgp-fallback-nav a.zgp-cta-item { background: var(--zgp-accent); color: #fff; border-radius: 6px; padding: 10px 20px; font-weight: 700; }

.zgp-hero-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}
.zgp-hero-detail-grid img{width:100%;height:300px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.zgp-factory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.zgp-factory-grid img{width:100%;height:220px;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.zgp-factory-grid img:first-child{grid-column:1/-1;height:380px}
@media (max-width:768px){.zgp-hero-detail-grid,.zgp-factory-grid{grid-template-columns:1fr}}

.zgp-inline-img { margin: 32px 0; text-align: center; }
.zgp-inline-img img { max-width: 100%; height: auto; border-radius: 12px; box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.zgp-inline-img-wide img { width: 100%; max-height: 480px; object-fit: cover; }
.zgp-blog-content p { font-size: 16px; line-height: 1.85; color: #1A1A1A; margin: 0 0 24px; }
.zgp-blog-content h2 { font-size: 28px; font-weight: 800; color: #0F3D7C; margin: 40px 0 20px; line-height: 1.3; padding-bottom: 12px; border-bottom: 2px solid #FF6B35; }
.zgp-blog-content strong { color: #0F3D7C; font-weight: 700; }
.zgp-blog-content ul, .zgp-blog-content ol { margin: 0 0 24px; padding-left: 24px; }
.zgp-blog-content li { font-size: 16px; line-height: 1.85; margin-bottom: 8px; }
.zgp-featured-img { width: 100%; max-height: 480px; object-fit: cover; border-radius: 12px; margin-bottom: 32px; }

/* ===== Shop / WC products grid ===== */
.woocommerce ul.products.zgp-products,
ul.products.zgp-products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce ul.products.zgp-products li.product,
ul.products.zgp-products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    transition: all .3s;
}
.woocommerce ul.products.zgp-products li.product:hover,
ul.products.zgp-products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
}
.woocommerce ul.products.zgp-products li.product img,
ul.products.zgp-products li.product img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    margin: 0 !important;
    display: block;
}
.woocommerce ul.products.zgp-products li.product .woocommerce-loop-product__link,
ul.products.zgp-products li.product .woocommerce-loop-product__link {
    display: block;
}
.woocommerce ul.products.zgp-products li.product .astra-shop-thumbnail-wrap,
ul.products.zgp-products li.product .astra-shop-thumbnail-wrap {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce ul.products.zgp-products li.product h2,
ul.products.zgp-products li.product h2 {
    font-size: 14px !important;
    font-weight: 700;
    color: #0F3D7C;
    padding: 12px 14px 6px !important;
    margin: 0 !important;
    line-height: 1.35;
    min-height: 38px;
}
.woocommerce ul.products.zgp-products li.product .price,
ul.products.zgp-products li.product .price {
    font-size: 18px !important;
    font-weight: 900;
    color: #0F3D7C !important;
    padding: 0 14px 12px !important;
    margin: 0 !important;
    display: block;
}
.woocommerce ul.products.zgp-products li.product .ast-on-card-button,
ul.products.zgp-products li.product .ast-on-card-button {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: var(--zgp-accent) !important;
    color: #fff !important;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0;
    transition: opacity .3s;
}
.woocommerce ul.products.zgp-products li.product:hover .ast-on-card-button,
ul.products.zgp-products li.product:hover .ast-on-card-button {
    opacity: 1;
}
.woocommerce-result-count { padding: 0 0 12px; color: #4a5568; font-size: 13px; }
.woocommerce-ordering { margin-bottom: 20px !important; }
.woocommerce-ordering select { padding: 7px 12px; border: 1px solid #e2e5ec; border-radius: 6px; font-size: 13px; }

@media (max-width: 1280px) {
    .woocommerce ul.products.zgp-products, ul.products.zgp-products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 900px) {
    .woocommerce ul.products.zgp-products, ul.products.zgp-products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
    .woocommerce ul.products.zgp-products, ul.products.zgp-products { grid-template-columns: 1fr !important; }
}

/* Shop page wrapper (zgp-shop-wrap already has zgp-wrap) */
.zgp-shop-wrap { background: #f5f6f8; min-height: 60vh; padding: 0 80px; }
.zgp-shop-wrap .woocommerce { padding-top: 40px; padding-bottom: 80px; max-width: 1680px; margin: 0 auto; }
.zgp-shop-wrap .page-title { font-size: 32px; font-weight: 900; color: #0F3D7C; text-align: center; margin: 0 0 28px; }

@media (max-width: 1024px) {
    .zgp-shop-wrap { padding: 0 40px; }
}
@media (max-width: 640px) {
    .zgp-shop-wrap { padding: 0 16px; }
    .zgp-shop-wrap .woocommerce { padding-top: 24px; padding-bottom: 60px; }
    .zgp-shop-wrap .page-title { font-size: 24px; margin: 0 0 16px; }
}
