/* Shared components used on several pages. Page-specific styles stay in each page's <style>. */

/* Certification badges (Microsoft Partner, ISO). Our own design: ISO does not allow its logo on company sites. */
.zt-badges { display: flex; flex-wrap: wrap; gap: 12px; }
.zt-badge { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 18px 8px 12px; border: 1.5px solid #CECCBF; border-radius: 14px; background: #FFFFFF; color: #014122; line-height: 1.25; text-decoration: none; }
.zt-badge .ico { width: 34px; height: 34px; flex: none; border-radius: 999px; background: #BFF4BC; display: flex; align-items: center; justify-content: center; }
.zt-badge .ico svg { width: 20px; height: 20px; }
.zt-badge strong { display: block; font-size: 15px; font-weight: 700; }
.zt-badge small { display: block; font-size: 13px; color: #3F6150; }
.zt-badge--dark { background: transparent; border-color: #2E6146; color: #FFFFFF; }
.zt-badge--dark .ico { background: #74E86D; }
.zt-badge--dark small { color: #CECCBF; }
.zt-badge--sm { min-height: 40px; padding: 4px 14px 4px 6px; border-radius: 999px; gap: 8px; }
.zt-badge--sm .ico { width: 28px; height: 28px; }
.zt-badge--sm .ico svg { width: 16px; height: 16px; }
.zt-badge--sm strong { font-size: 13px; }
.zt-badge--sm small { display: none; }

/* Client logo wall (/projects/ by industry, /industries/ per section). Logos sized to the same visual area. */
.zt-wall { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.zt-wall li { height: 96px; display: flex; align-items: center; justify-content: center; padding: 12px; background: #FFFFFF; border: 1px solid #E7E5DF; border-radius: 16px; transition: border-color .25s ease, box-shadow .25s ease; }
.zt-wall li:hover { border-color: #74E86D; box-shadow: 0 10px 28px rgba(1, 65, 34, .08); }
.zt-wall img { max-width: 100%; height: auto; filter: grayscale(1) brightness(.72) contrast(1.15); opacity: .85; transition: filter .3s ease, opacity .3s ease; }
.zt-wall li:hover img { filter: none; opacity: 1; }
.zt-wall .txt { font-weight: 700; font-size: 18px; color: #3F6150; }
.zt-wall--sm { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; }
.zt-wall--sm li { height: 76px; border-radius: 14px; }
.zt-wall-group { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 24px; align-items: start; padding: 26px 0; border-top: 1px solid #CECCBF; }
.zt-wall-group h3 { font-size: 20px; line-height: 28px; font-weight: 700; }
.zt-wall-group a { font-size: 14px; font-weight: 700; }
@media (max-width: 760px) { .zt-wall-group { grid-template-columns: 1fr; gap: 14px; } .zt-wall { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); } }

/* ISO certification seals with certificate details */
.zt-seal { width: 104px; height: 104px; flex: none; filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .12)); transition: transform .4s cubic-bezier(.34, 1.56, .64, 1); }
.zt-cert:hover .zt-seal { transform: rotate(-8deg) scale(1.05); }
