.cert-view-all{display:flex;align-items:center;gap:14px;width:100%;border:2px dashed #8499AC;background:#fbfcfd;border-radius:10px;padding:20px 28px;margin-top:40px;cursor:pointer;font-size:18px;font-weight:700;color:#16324f;}
.cert-view-all:hover{background:#f2f5f8;border-color:#16324f;}
.cert-view-all img{max-height:36px;max-width:60px;object-fit:contain;}
.cert-groups{margin-top:32px;}
.cert-group+.cert-group{margin-top:48px;}
.cert-group-label{font-size:16px;font-weight:700;color:#8a8f98;margin-bottom:20px;text-transform:uppercase;letter-spacing:.06em;}
.cert-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:768px){.cert-badges{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.cert-badges{grid-template-columns:1fr;}}
.cert-badge{border:2px solid #16324f;background:#eef2f7;border-radius:10px;padding:16px 18px;cursor:pointer;text-align:center;transition:.2s;display:flex;flex-direction:column;align-items:center;justify-content:center;height:170px;box-sizing:border-box;overflow:hidden;}
.cert-badge:hover{border-color:#2f9e78;background:#e3f3ea;}
.cert-badge.active{background:#16324f;border-color:#16324f;}
.cert-badge.active .badge-name{color:#fff;}
.cert-badge.active .badge-caption{color:#bcd3e6;}
.badge-img{width:170px;height:85px;object-fit:contain;margin-bottom:0;flex:0 0 auto;}
.badge-name{display:block;font-size:30px;font-weight:700;color:#16324f;letter-spacing:.02em;}
.badge-caption{display:block;font-size:14px;color:#8a8f98;margin-top:10px;line-height:1.4;}

.cert-badge.is-gallery{border:2px dashed #8499AC;background:#fbfcfd;}
.cert-badge.is-gallery:hover{border-color:#16324f;background:#f2f5f8;}
.cert-badge.is-gallery .badge-img{width:120px;height:60px;}
.cert-badge.is-gallery .badge-name{font-size:40px;color:#16324f;line-height:1.3;padding:0 10px;}
.cert-badge.is-gallery .badge-caption{color:#8499AC;}

.cert-product-panel{margin-top:48px;background:#f6f8fb;border-radius:14px;padding:44px;}
.panel-title{font-size:22px;font-weight:700;color:#16324f;margin:0 0 6px;}
.panel-sub{font-size:14px;color:#8a8f98;margin:0 0 26px;}
.no-products{font-size:15px;color:#8a8f98;}
.cert-product-trigger{all:unset;display:block;width:100%;cursor:pointer;}

.cert-single-panel{margin-top:48px;background:#f6f8fb;border-radius:14px;padding:44px;}
.cert-single-title{font-size:22px;font-weight:700;color:#16324f;margin:0 0 24px;}
.cert-single-body{display:flex;gap:36px;flex-wrap:wrap;align-items:flex-start;}
.cert-single-img{position:relative;flex:0 0 auto;width:220px;}
.cert-single-img img{width:220px;height:auto;border:1px solid #d7dbe2;border-radius:8px;background:#fff;display:block;}
.cert-single-enlarge{display:none;position:absolute;top:0;left:100%;margin-left:20px;width:auto;max-height:63vh;border:1px solid #d7dbe2;border-radius:10px;background:#fff;padding:16px;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:100;}
.cert-single-img:hover .cert-single-enlarge{display:block;}
.cert-single-enlarge img{width:auto;height:100%;max-height:63vh;max-width:390px;object-fit:contain;display:block;border:none;}
.cert-single-info{flex:1;min-width:220px;}
.cert-single-caption{font-size:15px;color:#8a8f98;margin:0 0 22px;line-height:1.5;}
.cert-single-actions{display:flex;flex-direction:column;gap:12px;max-width:280px;}
.cert-single-empty{font-size:15px;color:#8a8f98;line-height:1.6;}

.cert-detail-panel{margin-top:48px;background:#f6f8fb;border-radius:14px;padding:44px;}
.cert-detail-back{border:none;background:none;color:#16324f;font-size:14px;font-weight:700;cursor:pointer;padding:0;margin-bottom:24px;}
.cert-detail-back:hover{text-decoration:underline;}
.cert-detail-body{display:flex;gap:36px;flex-wrap:wrap;align-items:flex-start;}
.cert-detail-img{flex:0 0 auto;}
.cert-detail-img img{width:160px;height:auto;border:1px solid #d7dbe2;border-radius:8px;background:#fff;}
.cert-detail-info{flex:1;min-width:220px;}
.cert-detail-product{font-size:20px;font-weight:700;color:#16324f;margin:0 0 20px;}
.cert-detail-actions{display:flex;flex-direction:column;gap:12px;max-width:280px;}
.btn-cert-action{display:block;text-align:center;padding:14px 18px;border-radius:8px;border:1px solid #16324f;color:#16324f;font-weight:700;font-size:15px;text-decoration:none;}
.btn-cert-action:hover{background:#eef2f7;}
.btn-cert-primary{background:#16324f;color:#fff;border-color:#16324f;}
.btn-cert-primary:hover{background:#0f2338;}

.cert-gallery-modal{position:fixed;inset:0;background:rgba(10,20,30,.6);display:flex;align-items:center;justify-content:center;z-index:999;padding:24px;}
.cert-gallery-inner{background:#fff;border-radius:14px;padding:36px;max-width:900px;width:100%;max-height:80vh;overflow-y:auto;position:relative;}
.cert-gallery-title{font-size:20px;font-weight:700;color:#16324f;margin:0 0 24px;}
.cert-gallery-close{position:absolute;top:20px;right:24px;border:none;background:none;font-size:28px;line-height:1;cursor:pointer;color:#8a8f98;}
.cert-gallery-close:hover{color:#16324f;}
.cert-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;}
.cert-gallery-item img{width:100%;max-width:160px;height:auto;border:1px solid #d7dbe2;border-radius:8px;background:#fff;}
.cert-gallery-item p{font-size:13px;color:#3c4450;margin:8px 0 0;text-align:center;}

.ip-section{margin-top:80px;}
.ip-section h3{font-size:26px;}
.ip-summary{color:#2f9e78;font-weight:700;font-size:17px;margin:10px 0 32px;}
.ip-accordion{border:1px solid #d7dbe2;border-radius:14px;overflow:hidden;}
.ip-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:#f6f8fb;border:none;border-top:1px solid #d7dbe2;padding:22px 28px;font-size:18px;font-weight:700;color:#16324f;cursor:pointer;text-align:left;}
.ip-accordion .ip-toggle:first-child{border-top:none;}
.ip-toggle:hover{background:#eef2f7;}
.ip-toggle .chevron{width:10px;height:10px;border-right:2px solid #16324f;border-bottom:2px solid #16324f;transform:rotate(45deg);transition:transform .2s;}
.ip-toggle.open .chevron{transform:rotate(225deg);}
.ip-panel{display:none;padding:0 28px 28px;background:#fff;}
.ip-table{width:100%;border-collapse:collapse;font-size:15px;}
.ip-table th{text-align:left;color:#8a8f98;font-weight:600;padding:12px 10px;border-bottom:1px solid #d7dbe2;}
.ip-table td{padding:14px 10px;border-bottom:1px solid #eceef1;}
.ip-table tr:nth-child(even) td{background:#fafbfc;}
.ip-table tr:last-child td{border-bottom:none;}

.esg-section{margin-top:80px;margin-bottom:80px;}
.esg-section h3{font-size:26px;}
.esg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:22px;}
.esg-card{border-radius:14px;padding:32px;}
.esg-env{background:#e7f5ee;}
.esg-social{background:#e8f0fb;}
.esg-gov{background:#eef1f5;}
.esg-label{font-weight:700;font-size:18px;margin-bottom:12px;}
.esg-env .esg-label{color:#1f7a52;}
.esg-social .esg-label{color:#1a5aa6;}
.esg-gov .esg-label{color:#16324f;}
.esg-desc{font-size:15px;color:#3c4450;line-height:1.5;}
.mouse-thumb-preview{position:absolute;display:none;width:220px;height:220px;border:1px solid #d7dbe2;border-radius:8px;background:#fff;padding:6px;box-shadow:0 6px 16px rgba(0,0,0,.15);z-index:999;pointer-events:none;}
.mouse-thumb-preview img{width:100%;height:100%;object-fit:contain;}

.cert-detail-img{position:relative;width:160px;}
.cert-download-btn{position:absolute;right:6px;bottom:6px;background:#16324f;color:#fff;font-size:12px;font-weight:700;padding:6px 10px;border-radius:6px;text-decoration:none;z-index:10;}
.cert-download-btn:hover{background:#0f2338;}
.cert-enlarge{display:none;position:absolute;top:0;left:100%;margin-left:20px;width:auto;max-height:63vh;border:1px solid #d7dbe2;border-radius:10px;background:#fff;padding:16px;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:100;}
.cert-detail-img:hover .cert-enlarge{display:block;}
.cert-enlarge img{width:auto;height:100%;max-height:63vh;max-width:390px;object-fit:contain;display:block;}

.cert-product-list .product-item .thumb{margin-bottom:6px;}
.cert-product-list .product-item .text .cate{display:block;font-size:11px;color:#9aa0a8;font-weight:400;}
.cert-product-list .product-item .text .subject{font-size:25px;font-weight:700;color:#16324f;margin:4px 0 0;}
.cert-product-list .product-item .text .summary{display:none;}