/*
Theme Name: TE PIN Corporate
Theme URI: https://tepintrading.com/
Author: TE PIN TRADING CO., LTD.
Description: Custom corporate theme for TE PIN TRADING, designed for B2B food ingredients and additives.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: tepin-corporate
*/
:root{
  --ink:#153126;--ink2:#486057;--green:#195b40;--green2:#2b7657;--pale:#e6f0e9;
  --cream:#f7f4ec;--white:#fff;--line:rgba(21,49,38,.12);--gold:#b48b4c;
  --shadow:0 18px 55px rgba(16,52,38,.10);--radius:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{background:#102d21;color:rgba(255,255,255,.80);font-size:13px;border-top:3px solid #63d83c}.topbar .container{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar a{color:#fff}.nav-shell{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.985);backdrop-filter:blur(18px);border-bottom:1px solid rgba(21,49,38,.09);box-shadow:0 7px 28px rgba(16,52,38,.045)}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand-logo{width:390px;height:86px;object-fit:contain;object-position:left center}.nav-links{display:flex;align-items:center;gap:31px;font-size:14.5px;font-weight:720;letter-spacing:.07em;color:#223b31;white-space:nowrap}.nav-links>a:not(.nav-cta){position:relative;padding:34px 0 31px;transition:color .2s ease}.nav-links>a:not(.nav-cta)::after{content:"";position:absolute;left:50%;bottom:20px;width:0;height:2px;border-radius:2px;background:var(--green);transform:translateX(-50%);transition:width .22s ease}.nav-links>a:not(.nav-cta):hover,.nav-links>a:not(.nav-cta).active{color:var(--green)}.nav-links>a:not(.nav-cta):hover::after,.nav-links>a:not(.nav-cta).active::after{width:100%}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s ease}.nav-cta{min-height:44px;padding:0 19px;border-radius:12px;letter-spacing:.06em;font-size:14px}.nav-cta,.btn-primary{background:var(--green);color:white}.nav-cta:hover,.btn-primary:hover{background:#124831;transform:translateY(-1px)}.btn-secondary{background:rgba(255,255,255,.74);border-color:rgba(21,49,38,.25);color:var(--ink)}.btn-secondary:hover{border-color:var(--green);color:var(--green)}.btn-small{min-height:40px;padding:0 16px;font-size:13px}.menu-btn{display:none;border:0;background:none;font-size:26px;color:var(--ink)}
.hero{position:relative;min-height:610px;background-image:linear-gradient(90deg,rgba(247,244,236,.02),rgba(247,244,236,.10)),url("assets/tepin_hero_food.jpg");background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 74%,rgba(247,244,236,.56) 100%);pointer-events:none}.hero-inner{position:relative;z-index:2;width:min(760px,75%);margin:auto;text-align:center;padding:64px 24px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.eyebrow::before{content:"";width:24px;height:2px;background:var(--green)}.hero h1{font-size:clamp(44px,5.4vw,72px);line-height:1.06;letter-spacing:-.05em;margin:14px 0 18px;text-shadow:0 1px 0 rgba(255,255,255,.4)}.hero h1 span{color:var(--green)}.hero p{font-size:18px;color:#39534a;margin:0 auto;max-width:650px}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.stats{margin-top:-28px;position:relative;z-index:4}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(16,52,38,.07);border-radius:22px;overflow:hidden}.stat{padding:23px 22px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:21px}.stat span{font-size:12px;color:var(--ink2)}
.section{padding:96px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:38px}.section-title{font-size:clamp(32px,4vw,50px);line-height:1.16;letter-spacing:-.03em;margin:10px 0 0}.section-copy{max-width:560px;color:var(--ink2)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{position:relative;text-align:left;min-height:265px;border:1px solid var(--line);border-radius:var(--radius);padding:27px;background:#fff;color:var(--ink);cursor:pointer;transition:.22s ease;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(25,91,64,.30)}.product-card:focus-visible{outline:3px solid rgba(25,91,64,.22);outline-offset:3px}.product-no{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--green)}.product-card h3{font-size:25px;margin:15px 0 9px}.product-card p{font-size:14px;color:var(--ink2);margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tag{font-size:11px;font-weight:750;background:var(--pale);color:var(--green);padding:5px 9px;border-radius:999px}.product-count{position:absolute;right:24px;bottom:22px;font-size:12px;font-weight:850;color:var(--green)}.product-arrow{position:absolute;right:24px;top:24px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:18px;transition:.2s}.product-card:hover .product-arrow{background:var(--green);color:white;transform:translateX(2px)}
.feature-wrap{background:#102d21;color:white;border-radius:34px;padding:56px;position:relative;overflow:hidden}.feature-wrap::after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid rgba(255,255,255,.10);right:-210px;top:-220px;box-shadow:0 0 0 65px rgba(255,255,255,.022),0 0 0 130px rgba(255,255,255,.015)}.feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;position:relative;z-index:2}.feature-grid h2{font-size:clamp(34px,4vw,50px);line-height:1.12;margin:10px 0 14px}.feature-grid p{color:rgba(255,255,255,.70)}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.feature-item{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:20px;padding:21px}.feature-item strong{display:block;margin-bottom:5px}.feature-item span{color:rgba(255,255,255,.66);font-size:13px}
#partners{background:linear-gradient(180deg,#eef4f0 0%,#f7f4ec 100%);border-top:1px solid rgba(21,49,38,.08);border-bottom:1px solid rgba(21,49,38,.08)}#partners .section-head{align-items:center}#partners .section-copy{max-width:520px}.partner-wall{background:rgba(255,255,255,.88);border:1px solid rgba(21,49,38,.11);border-radius:30px;padding:18px 42px 26px;box-shadow:0 24px 65px rgba(16,52,38,.07)}.partner-wall-kicker{text-align:center;font-size:11px;font-weight:800;letter-spacing:.23em;color:#7d9088;text-transform:uppercase;padding:6px 0 12px}.partner-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid rgba(21,49,38,.08)}.partner-logo-card{position:relative;min-height:255px;padding:34px 46px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center}.partner-logo-card:first-child{border-right:1px solid rgba(21,49,38,.10)}.partner-logo-card img{display:block;width:auto;max-width:88%;height:132px;object-fit:contain;margin:0 auto 22px;filter:none;opacity:1;visibility:visible}.partner-logo-card.reka img{height:128px;max-width:92%}.partner-logo-card.tianli img{height:140px;max-width:82%}.partner-logo-card strong{display:block;font-size:15px;letter-spacing:.08em;text-align:center;color:var(--ink)}.partner-logo-card span{margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#82928c;text-align:center}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}.about-photo{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.about-photo img{width:100%;height:520px;object-fit:cover}.about-copy h2{font-size:clamp(34px,4vw,52px);line-height:1.14;margin:10px 0 18px}.about-copy p{color:var(--ink2)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:27px 0}.check{display:flex;gap:8px;font-weight:750}.check::before{content:"✓";color:var(--green)}
.cta{padding:0 0 100px}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:32px;background:linear-gradient(135deg,#e1eee7,#f2eadc);border:1px solid var(--line);border-radius:30px;padding:50px}.cta-box h2{font-size:clamp(30px,4vw,44px);margin:0 0 7px}.cta-box p{margin:0;color:var(--ink2)}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px}.contact-panel,.form-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px}.contact-panel h2,.form-panel h2{margin-top:0;font-size:29px}.contact-line{padding:16px 0;border-bottom:1px solid var(--line)}.contact-line:last-child{border-bottom:0}.contact-line span{display:block;font-size:11px;color:var(--ink2)}.contact-line strong{display:block;margin-top:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(21,49,38,.16);background:#fbfbf8;border-radius:13px;padding:12px 13px;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(25,91,64,.08)}.field textarea{min-height:120px;resize:vertical}
footer{background:#10271f;color:#fff;padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:1.45fr .72fr .86fr;gap:46px}.footer-logo-wrap{display:inline-flex;padding:0;background:transparent;border-radius:0}.footer-logo{width:300px;height:86px;object-fit:contain;object-position:left center}.footer-copy{color:rgba(255,255,255,.64);max-width:460px;font-size:14px}.footer-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.42);margin-bottom:12px}.footer-links{display:grid;gap:7px;color:rgba(255,255,255,.77);font-size:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.10);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.42);font-size:12px}
/* Product detail / admin preview */
.modal-backdrop{position:fixed;inset:0;background:rgba(8,26,19,.62);z-index:90;display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(6px)}.modal-backdrop.open{display:flex}.product-modal{width:min(900px,100%);max-height:min(86vh,900px);overflow:auto;background:#fbfaf6;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.4)}.modal-head{position:sticky;top:0;z-index:3;display:flex;align-items:start;justify-content:space-between;gap:24px;padding:26px 28px 20px;background:rgba(251,250,246,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.modal-head h2{margin:4px 0 2px;font-size:32px}.modal-head p{margin:0;color:var(--ink2);font-size:14px}.modal-close{border:0;background:#ecefe9;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:22px;color:var(--ink)}.modal-body{padding:26px 28px 30px}.admin-note{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border-radius:15px;background:#eef4ef;border:1px solid rgba(25,91,64,.12);font-size:12px;color:#3f5b50;margin-bottom:18px}.product-list{display:grid;gap:10px}.product-row{display:grid;grid-template-columns:1.2fr .8fr auto;gap:16px;align-items:center;padding:15px 16px;background:white;border:1px solid var(--line);border-radius:16px}.product-row strong{display:block}.product-row small{display:block;color:var(--ink2);margin-top:2px}.product-row-meta{font-size:12px;color:var(--ink2)}.delete-product{width:34px;height:34px;border:1px solid rgba(148,69,55,.18);background:#fff7f4;color:#9c493e;border-radius:10px;cursor:pointer}.empty-products{padding:28px;text-align:center;color:var(--ink2);border:1px dashed rgba(21,49,38,.20);border-radius:16px;background:#fff}.add-form{display:none;margin-top:18px;padding:20px;background:white;border:1px solid var(--line);border-radius:18px}.add-form.open{display:block}.add-form h3{margin:0 0 14px}.add-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-form .field input,.add-form .field textarea{background:#fbfaf6}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.local-save-note{font-size:11px;color:#826b3c;margin-top:10px}.modal-backdrop *{scrollbar-width:thin}
@media(max-width:1080px){.brand-logo{width:325px;height:76px}.nav-links{gap:17px;font-size:13.5px;letter-spacing:.04em}.nav-cta{padding:0 15px}.partner-logo-card{padding-left:26px;padding-right:26px}}@media(max-width:980px){.brand-logo{width:300px;height:70px}.nav-links{gap:14px}.stats-grid{grid-template-columns:repeat(3,1fr)}.stat:nth-child(3){border-right:0}.product-grid{grid-template-columns:repeat(2,1fr)}.feature-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.about-photo img{height:440px}.partner-logo-grid{grid-template-columns:1fr 1fr}.partner-wall{padding-left:24px;padding-right:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.topbar .container{flex-direction:column;align-items:flex-start;padding:7px 0;gap:1px}.nav{min-height:82px}.brand-logo{width:280px;height:64px}.menu-btn{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 20px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(16,52,38,.08);flex-direction:column;align-items:stretch;gap:4px}.nav-links.open{display:flex}.nav-links>a:not(.nav-cta){padding:10px 4px}.nav-links>a:not(.nav-cta)::after{display:none}.nav-cta{margin-top:8px;border-radius:10px}.hero{min-height:590px;background-position:center}.hero-inner{width:100%;padding:56px 20px}.hero h1{font-size:clamp(40px,12vw,58px)}.hero p{font-size:16px}.stats{margin-top:-18px}.stats-grid{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(odd){border-right:1px solid var(--line)}.stat:nth-child(even){border-right:0}.stat:last-child{grid-column:1/-1;border-bottom:0}.section{padding:76px 0}.section-head{display:block}.section-copy{margin-top:14px}.product-grid{grid-template-columns:1fr}.feature-wrap{padding:34px 24px;border-radius:26px}.feature-list{grid-template-columns:1fr}.partner-wall{padding:12px 18px 18px;border-radius:22px}.partner-wall-kicker{font-size:10px}.partner-logo-grid{grid-template-columns:1fr;border-top:0}.partner-logo-card{min-height:190px;padding:26px 14px;border-top:1px solid rgba(21,49,38,.08)}.partner-logo-card:first-child{border-right:0}.partner-logo-card img,.partner-logo-card.reka img{height:92px;max-width:86%}.partner-logo-card.tianli img{height:104px}.about-photo img{height:340px}.checks{grid-template-columns:1fr}.cta-box{display:block;padding:36px 26px}.cta-box .btn{margin-top:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.product-row{grid-template-columns:1fr auto}.product-row-meta{grid-column:1/-1;grid-row:2}.add-form-grid{grid-template-columns:1fr}.admin-note{align-items:flex-start;flex-direction:column}.modal-backdrop{padding:10px}.product-modal{border-radius:20px;max-height:92vh}.modal-head,.modal-body{padding-left:19px;padding-right:19px}}
@media(max-width:460px){.container{width:min(100% - 28px,1180px)}.brand-logo{width:235px;height:56px;max-width:78vw}.hero-actions .btn{width:100%}.stats-grid{grid-template-columns:1fr}.stat,.stat:nth-child(odd),.stat:nth-child(even){border-right:0}.stat:last-child{grid-column:auto}.footer-logo{width:255px;height:74px}}
