/*
Theme Name:     FDE365 工程师平台
Theme URI:      https://fde365.ai/
Description:    FDE365 engineering commerce and collaboration child theme.
Author:         FDE365
Template:       b2
Version:        2.0.0
Text Domain:    fde365
*/

:root{
  --fde-bg:#f5f7fa;
  --fde-paper:#ffffff;
  --fde-ink:rgba(0,0,0,.90);
  --fde-muted:rgba(0,0,0,.60);
  --fde-line:#dcdde1;
  --fde-purple:#0052d9;
  --fde-purple-2:#001a57;
  --fde-orange:#e37318;
  --fde-status:#2ba471;
  --fde-brand:#0052d9;
  --fde-brand-hover:#366ef4;
  --fde-brand-active:#003cab;
  --fde-text-primary:rgba(0,0,0,.90);
  --fde-text-secondary:rgba(0,0,0,.60);
  --fde-bg-container:#ffffff;
  --fde-bg-hover:#f3f3f3;
  --fde-border:#dcdde1;
  --fde-error:#d54941;
  --fde-warning:#e37318;
  --fde-shadow:0 6px 18px rgba(0,32,80,.08);
  --fde-cut:8px;
}
body{background:var(--fde-bg);color:var(--fde-ink)}
a{color:inherit}.site{background:transparent}
.fde-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}
.fde-kicker{display:inline-flex;align-items:center;gap:8px;font:700 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--fde-purple)}
.fde-kicker:before{content:"";width:24px;border-top:2px solid var(--fde-orange)}
.fde-hero{position:relative;overflow:hidden;border:2px solid var(--fde-line);background:var(--fde-paper);padding:clamp(28px,6vw,68px);clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));box-shadow:var(--fde-shadow)}
.fde-hero:after{content:"FDE / 365";position:absolute;right:22px;top:18px;color:rgba(91,45,143,.12);font:900 clamp(42px,8vw,96px)/1 ui-monospace,monospace}
.fde-hero h1{position:relative;max-width:780px;margin:18px 0 14px;font-size:clamp(34px,6vw,72px);line-height:.98;letter-spacing:-.045em}
.fde-hero p{position:relative;max-width:720px;font-size:clamp(16px,2vw,21px);line-height:1.65;color:#514943}
.fde-actions{position:relative;display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.fde-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:2px solid var(--fde-line);background:var(--fde-purple);color:white!important;font-weight:800;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}
.fde-btn--ghost{background:var(--fde-paper);color:var(--fde-ink)!important}.fde-btn:hover{transform:translateY(-2px)}
.fde-section{margin-top:42px}.fde-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px;border-bottom:2px solid var(--fde-line);padding-bottom:10px}.fde-section h2{margin:0;font-size:clamp(24px,3vw,38px)}.fde-section-head span{color:var(--fde-muted);font-size:13px}
.fde-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fde-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fde-card{position:relative;display:block;min-height:160px;padding:20px;border:1.5px solid var(--fde-line);background:var(--fde-paper);box-shadow:0 5px 0 var(--fde-line);transition:.18s ease}.fde-card:hover{transform:translateY(-4px);box-shadow:0 9px 0 var(--fde-purple)}
.fde-card b{display:block;margin:12px 0 8px;font-size:20px}.fde-card p{margin:0;color:var(--fde-muted);line-height:1.55}.fde-no{font:700 11px ui-monospace,monospace;color:var(--fde-orange);letter-spacing:.08em}.fde-tag{display:inline-flex;margin:4px 6px 4px 0;padding:7px 10px;border:1px solid var(--fde-line);background:white;font-size:13px;font-weight:700;cursor:pointer}.fde-tag.is-active{background:var(--fde-purple);color:white}
.fde-list{border:1.5px solid var(--fde-line);background:var(--fde-paper)}.fde-row{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(30,26,24,.28)}.fde-row:last-child{border-bottom:0}.fde-row .fde-status{color:var(--fde-status);font-weight:800}
.fde-cta{display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:center;padding:28px;border:2px solid var(--fde-line);background:var(--fde-purple-2);color:white;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.fde-cta h2{color:white}.fde-cta p{color:#e8dff1}.fde-cta .fde-btn{background:var(--fde-orange);justify-self:end}
@media(max-width:1100px){.header .top-menu ul{max-width:620px;overflow:hidden}.aside-container{display:none!important}.fde-hero:after{right:8px;opacity:.65}}
@media(max-width:900px){.site-header-in .header-banner-left>.menu,.header-banner-left>.menu{display:none!important}.fde-grid,.fde-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.fde-cta{grid-template-columns:1fr}.fde-cta .fde-btn{justify-self:start}}
@media(max-width:600px){.fde-shell{width:min(100% - 22px,1180px);padding-top:14px}.fde-hero{padding:28px 20px}.fde-hero:after{font-size:38px}.fde-grid,.fde-grid--3{grid-template-columns:1fr}.fde-card{min-height:132px}.fde-row{grid-template-columns:70px 1fr}.fde-row>:last-child{grid-column:2}.fde-actions .fde-btn{width:100%}.fde-section{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* FDE365 2.0 — Tencent TDesign-inspired public UI */
body{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--fde-bg)!important;color:var(--fde-text-primary)!important}
:focus-visible{outline:3px solid rgba(0,82,217,.32)!important;outline-offset:2px}
.header,.header-banner,.site-header{background:#fff!important;border-bottom:1px solid var(--fde-border)!important;box-shadow:0 2px 8px rgba(0,0,0,.04)!important}
.header .top-menu a,.header .menu a{color:var(--fde-text-secondary)!important;font-weight:500}.header .current-menu-item>a,.header a:hover{color:var(--fde-brand)!important}
.site-footer,.footer{background:#fff!important;color:var(--fde-text-primary)!important;border-top:1px solid var(--fde-border)!important}
.site-footer-widget-in{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:32px 0!important}
.site-footer-widget-in .widget{background:var(--fde-bg-container)!important;border:1px solid var(--fde-border)!important;border-radius:8px!important;box-shadow:none!important;padding:24px!important;margin:0!important;color:var(--fde-text-primary)!important}
.site-footer-widget-in .wp-block-heading{margin:0 0 14px!important;color:var(--fde-text-primary)!important;font-size:18px!important;font-weight:600!important}
.site-footer-widget-in .wp-block-archives,.site-footer-widget-in .wp-block-categories,.site-footer-widget-in .cat-item-none{color:var(--fde-text-secondary)!important;line-height:1.7!important}
.site-footer .footer-bottom,.footer-bottom{border-color:var(--fde-border)!important;color:var(--fde-text-secondary)!important}
.box,.b2-radius,.post-list-item,.login-box,.user-center,.user-w,.modal-content{border-radius:8px!important;border:1px solid var(--fde-border)!important;box-shadow:var(--fde-shadow)!important;background:#fff!important}
.button,.b2-button,button,input[type=submit]{border-radius:6px!important}.b2-button,.button-primary,input[type=submit]{background:var(--fde-brand)!important;border-color:var(--fde-brand)!important;color:#fff!important}.b2-button:hover,.button-primary:hover,input[type=submit]:hover{background:var(--fde-brand-hover)!important;border-color:var(--fde-brand-hover)!important}
input,select,textarea{border:1px solid var(--fde-border)!important;border-radius:6px!important;background:#fff!important;color:var(--fde-text-primary)!important}input:focus,select:focus,textarea:focus{border-color:var(--fde-brand)!important;box-shadow:0 0 0 3px rgba(0,82,217,.12)!important}
.fde-stripe-buy{margin:28px 0;padding:28px;border:1px solid var(--fde-border);border-radius:10px;background:#fff;box-shadow:var(--fde-shadow);color:var(--fde-text-primary)}
.fde-stripe-buy__head{margin-bottom:20px}.fde-stripe-buy__eyebrow{display:inline-block;color:var(--fde-brand);font-size:13px;font-weight:600}.fde-stripe-buy h2{margin:6px 0 8px;font-size:24px;color:var(--fde-text-primary)}.fde-stripe-buy__head p,.fde-stripe-note{margin:0;color:var(--fde-text-secondary)}
.fde-payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.fde-payment-method{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;min-height:76px;padding:14px 16px;border:1px solid var(--fde-border)!important;border-radius:8px!important;background:#fff!important;color:var(--fde-text-primary)!important;text-align:left;cursor:pointer}.fde-payment-method:hover{border-color:var(--fde-brand-hover)!important;background:#f8faff!important}.fde-payment-method.is-selected{border:2px solid var(--fde-brand)!important;background:#f2f3ff!important;padding:13px 15px}.fde-payment-method__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--fde-brand);color:#fff;font-size:17px;font-weight:700}.fde-payment-method strong,.fde-payment-method small{display:block}.fde-payment-method small{margin-top:4px;color:var(--fde-text-secondary)}.fde-payment-method i{color:var(--fde-brand);font-style:normal;font-size:13px;font-weight:600}.fde-checkout-button{width:100%;min-height:48px;border:1px solid var(--fde-brand)!important;border-radius:6px!important;background:var(--fde-brand)!important;color:#fff!important;font-size:16px;font-weight:600}.fde-checkout-button:hover{background:var(--fde-brand-hover)!important}.fde-checkout-button:active{background:var(--fde-brand-active)!important}.fde-checkout-button:disabled{opacity:.56;cursor:wait}.fde-stripe-msg{min-height:22px;margin:10px 0 0;color:var(--fde-error);font-weight:500}.fde-stripe-note{margin-top:8px;font-size:12px}
@media(max-width:600px){.site-footer-widget-in{grid-template-columns:1fr;padding:20px 12px!important}.fde-payment-methods{grid-template-columns:1fr}.fde-stripe-buy{margin:20px 0;padding:18px}.fde-payment-method{min-height:72px}.fde-stripe-buy h2{font-size:21px}}

/* FDE365 unified B2Pro surface */
.header,.header-banner,.site-header{background:var(--fde-paper)!important;border-bottom:1.5px solid var(--fde-line)!important;box-shadow:none!important}.header .top-menu a,.header .menu a{color:var(--fde-ink)!important;font-weight:700}.header .current-menu-item>a,.header a:hover{color:var(--fde-purple)!important}.header .current-menu-item>a:after{background:var(--fde-orange)!important}.site-footer,.footer{background:var(--fde-purple-2)!important;color:#f7f0e8!important;border-top:3px solid var(--fde-orange)}.site-footer a,.footer a{color:var(--fde-text-primary)!important}.site-footer .footer-bottom,.footer-bottom{border-color:rgba(255,255,255,.2)!important}.box,.b2-radius,.post-list-item,.login-box,.user-center,.user-w,.modal-content{border-radius:0!important;border:1px solid rgba(30,26,24,.45)!important;box-shadow:var(--fde-shadow)!important;background:var(--fde-paper)!important}.button,.b2-button,button,input[type=submit]{border-radius:0!important}.b2-button,.button-primary,input[type=submit]{background:var(--fde-purple)!important;border-color:var(--fde-line)!important;color:#fff!important}.b2-button:hover,.button-primary:hover,input[type=submit]:hover{background:var(--fde-orange)!important}.b2-pagenav{background:transparent!important;box-shadow:none!important;border:0!important}.b2-pagenav a,.b2-pagenav span{border:1px solid var(--fde-line)!important;border-radius:0!important;background:var(--fde-paper)!important;color:var(--fde-ink)!important}.b2-pagenav .current{background:var(--fde-purple)!important;color:#fff!important}.post-list-item .item-in{border:1.5px solid var(--fde-line)!important;background:var(--fde-paper)!important}.post-list-item h2 a,.post-title{color:var(--fde-ink)!important}.post-list-item .post-meta,.post-list-item .post-excerpt{color:var(--fde-muted)!important}input,select,textarea{border:1.5px solid var(--fde-line)!important;border-radius:0!important;background:#fffdf7!important;color:var(--fde-ink)!important}.user-center .user-info,.user-w{background:var(--fde-paper)!important}

/* FDE engineer directory */
.fde-directory-head{border:2px solid var(--fde-line);padding:clamp(24px,5vw,52px);background:var(--fde-paper);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));box-shadow:var(--fde-shadow)}.fde-directory-head h1{font-size:clamp(34px,6vw,64px);margin:12px 0}.fde-directory-head>p{max-width:760px;color:#514943;font-size:17px;line-height:1.7}.fde-engineer-filter{margin:28px 0;padding:20px;border:1.5px solid var(--fde-line);background:var(--fde-paper)}.fde-filter-row{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;padding:10px 0;border-bottom:1px solid rgba(30,26,24,.22)}.fde-filter-row:last-of-type{border-bottom:0}.fde-filter-label{font-weight:800;color:var(--fde-purple);padding-top:9px}.fde-filter-options{display:flex;gap:8px;flex-wrap:wrap}.fde-filter-chip{padding:8px 11px;border:1px solid var(--fde-line);background:white;font-weight:700}.fde-filter-chip.is-active,.fde-filter-chip:hover{background:var(--fde-purple);color:white!important}.fde-filter-row select{width:min(100%,360px);min-height:42px;padding:0 12px}.fde-filter-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:18px}.fde-filter-actions span{margin-left:auto;color:var(--fde-muted)}.fde-engineer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fde-engineer-card{overflow:hidden;border:1.5px solid var(--fde-line);background:var(--fde-paper);box-shadow:0 5px 0 var(--fde-line)}.fde-engineer-avatar{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:#ded4c7}.fde-engineer-avatar img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88)}.fde-avatar-placeholder{display:grid;place-items:center;width:100%;height:100%;font:900 56px ui-monospace,monospace;color:var(--fde-purple)}.fde-engineer-card-body{padding:16px}.fde-engineer-card-top{display:flex;justify-content:space-between;gap:8px}.fde-status-pill,.fde-verify-pill{display:inline-flex;padding:5px 8px;border:1px solid var(--fde-line);font-size:11px;font-weight:800}.fde-status-available{background:#e4f4e8;color:var(--fde-status)}.fde-verify-pill{background:#eee5f8;color:var(--fde-purple)}.fde-engineer-card h2{margin:14px 0 4px;font-size:23px}.fde-engineer-direction{color:var(--fde-purple);font-weight:800}.fde-engineer-meta{margin:13px 0}.fde-engineer-meta>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid rgba(30,26,24,.2)}.fde-engineer-meta dt{color:var(--fde-muted)}.fde-engineer-meta dd{font-weight:700;text-align:right}.fde-engineer-excerpt{min-height:58px;color:var(--fde-muted);line-height:1.55}.fde-engineer-card-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.fde-btn--small{min-height:38px;padding:0 13px;font-size:13px}.fde-text-link{color:var(--fde-purple)!important;font-weight:800}.fde-pagination{display:flex;justify-content:center;gap:7px;margin:30px 0}.fde-pagination .page-numbers{padding:9px 12px;border:1px solid var(--fde-line);background:var(--fde-paper)}.fde-pagination .current{background:var(--fde-purple);color:white}.fde-engineer-empty{text-align:center;padding:54px 22px;border:2px dashed var(--fde-line);background:var(--fde-paper)}.fde-engineer-empty .fde-actions{justify-content:center}

/* Engineer detail */
.fde-profile-hero{display:grid;grid-template-columns:minmax(220px,320px) 1fr minmax(220px,290px);gap:26px;align-items:stretch}.fde-profile-avatar{aspect-ratio:1/1;border:2px solid var(--fde-line);background:#ded4c7;overflow:hidden}.fde-profile-avatar img{width:100%;height:100%;object-fit:cover}.fde-profile-main,.fde-profile-contact,.fde-profile-content>section,.fde-profile-evidence{padding:24px;border:1.5px solid var(--fde-line);background:var(--fde-paper);box-shadow:var(--fde-shadow)}.fde-profile-main h1{font-size:clamp(36px,5vw,64px);margin:10px 0}.fde-profile-direction{font-size:19px;color:var(--fde-purple);font-weight:800}.fde-profile-badges{display:flex;gap:8px;margin:14px 0}.fde-profile-contact dl>div,.fde-profile-evidence dl>div{padding:11px 0;border-bottom:1px solid rgba(30,26,24,.2)}.fde-profile-contact dt,.fde-profile-evidence dt{color:var(--fde-muted)}.fde-profile-contact dd,.fde-profile-evidence dd{font-weight:800;margin:3px 0 0}.fde-profile-contact .fde-btn{width:100%;margin-top:18px}.fde-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;margin-top:24px}.fde-profile-content{display:grid;gap:22px}.fde-profile-content h2,.fde-profile-evidence h2{font-size:28px;border-bottom:2px solid var(--fde-line);padding-bottom:10px}.fde-disclaimer{padding:12px;background:#f6e8d9;border-left:4px solid var(--fde-orange);color:#6a421f}
@media(max-width:1020px){.fde-engineer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fde-profile-hero{grid-template-columns:220px 1fr}.fde-profile-contact{grid-column:1/-1}.fde-profile-layout{grid-template-columns:1fr}}
@media(max-width:720px){.header .top-menu,.header .menu-top,.header .nav-menu,.site-header-in .header-banner-left>.menu,.header-banner-left>.menu{display:none!important}.header .logo{max-width:130px}.fde-engineer-filter{padding:14px}.fde-directory-head{padding:25px 18px}.fde-directory-head h1{font-size:38px}.fde-directory-head .fde-actions{display:grid}.fde-directory-head .fde-actions .fde-btn{width:100%}}
@media(max-width:620px){.fde-filter-row{grid-template-columns:1fr}.fde-filter-label{padding-top:0}.fde-filter-actions span{width:100%;margin-left:0}.fde-engineer-grid{grid-template-columns:1fr}.fde-profile-hero{grid-template-columns:1fr}.fde-profile-avatar{max-width:300px}.fde-profile-main,.fde-profile-contact,.fde-profile-content>section,.fde-profile-evidence{padding:18px}}

/* Final cascade: TDesign surface wins over legacy child rules */
.site-footer,.footer{background:#fff!important;color:var(--fde-text-primary)!important;border-top:1px solid var(--fde-border)!important}.site-footer a,.footer a{color:var(--fde-text-primary)!important}.site-footer .footer-bottom,.footer-bottom{border-color:var(--fde-border)!important;color:var(--fde-text-secondary)!important}.site-footer-widget-in .widget{background:#fff!important;border:1px solid var(--fde-border)!important;border-radius:8px!important;box-shadow:none!important;color:var(--fde-text-primary)!important}.site-footer-widget-in .wp-block-heading{color:var(--fde-text-primary)!important}.site-footer-widget-in .wp-block-archives,.site-footer-widget-in .wp-block-categories,.site-footer-widget-in .cat-item-none{color:var(--fde-text-secondary)!important}
.fde-stripe-buy,.fde-stripe-buy button{box-sizing:border-box}.fde-stripe-buy .fde-payment-method{border-radius:8px!important}.fde-stripe-buy .fde-checkout-button{border-radius:6px!important;background:var(--fde-brand)!important;border-color:var(--fde-brand)!important}.fde-stripe-buy .fde-checkout-button:hover{background:var(--fde-brand-hover)!important}.fde-checkout-link{display:flex;align-items:center;justify-content:center;text-decoration:none!important}

