/*
Theme Name: Gurutech Suppliers
Theme URI: https://gurutech.co.ke
Author: Gurutech Suppliers Ltd
Description: Custom lightweight WordPress theme preserving the Gurutech website design.
Version: 1.4.1
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: gurutech
*/

html, body, #root { min-height: 100%; }
body { margin: 0; }

:root { --gt-blue:#0b2f6b; --gt-gold:#f2a000; --gt-ink:#172033; --gt-light:#f5f7fb; }
body { color:var(--gt-ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
.gt-site-header { background:#fff; border-bottom:1px solid #e7eaf0; position:relative; z-index:10; }
.gt-container { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.gt-header-inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.gt-brand img { display:block; width:auto; height:68px; max-width:220px; object-fit:contain; }
.gt-menu { display:flex; flex-wrap:wrap; gap:22px; margin:0; padding:0; list-style:none; }
.gt-menu a { color:var(--gt-blue); font-weight:700; text-decoration:none; }
.gt-menu a:hover { color:var(--gt-gold); }
.gt-content { min-height:55vh; }
.gt-content > article > .entry-content { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.gt-hero { margin:0 calc(50% - 50vw); padding:110px max(20px,calc((100vw - 1180px)/2)); color:#fff; background:linear-gradient(115deg,rgba(5,25,60,.96),rgba(11,47,107,.84)),url('assets/gurutech-logo.png') center/contain no-repeat; }
.gt-hero h1,.gt-page-intro h1 { max-width:850px; font-size:clamp(2.25rem,5vw,4.7rem); line-height:1.08; margin:.25em 0; }
.gt-hero p { max-width:760px; font-size:1.12rem; }
.gt-eyebrow { text-transform:uppercase; letter-spacing:.16em; color:#ffd064; font-weight:800; }
.gt-button { display:inline-block; padding:13px 22px; margin:8px 8px 8px 0; border:2px solid var(--gt-gold); background:var(--gt-gold); color:#111!important; font-weight:800; text-decoration:none; border-radius:4px; }
.gt-button-outline { color:#fff!important; background:transparent; border-color:#fff; }
.gt-page-intro { margin:0 calc(50% - 50vw) 50px; padding:70px max(20px,calc((100vw - 1180px)/2)); color:#fff; background:linear-gradient(120deg,var(--gt-blue),#071d43); }
.gt-section { padding:55px 0; }
.gt-section h2 { color:var(--gt-blue); font-size:clamp(1.8rem,3vw,2.7rem); }
.gt-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:25px 0 45px; }
.gt-card { overflow:hidden; border:1px solid #e1e6ef; border-radius:8px; background:#fff; box-shadow:0 8px 28px rgba(10,36,80,.08); }
.gt-card img { width:100%; height:220px; display:block; object-fit:cover; }
.gt-card-body { padding:22px; }
.gt-card h3 { margin:0 0 8px; color:var(--gt-blue); }
.gt-faq-list details { margin:14px 0; padding:18px 20px; border:1px solid #dfe5ef; border-radius:6px; }
.gt-faq-list summary { cursor:pointer; color:var(--gt-blue); font-weight:800; }
.gt-home-container { margin-inline:calc(50% - 50vw); }
.gt-stats-section { padding:0; color:#fff; background:#082e6d; border-top:1px solid rgba(255,255,255,.14); }
.gt-stats-grid { display:grid; width:100%; max-width:none; grid-template-columns:repeat(4,minmax(0,1fr)); }
.gt-stat { position:relative; display:flex; flex-direction:column; min-height:230px; justify-content:center; padding:0 clamp(28px,3vw,48px); border-right:1px solid rgba(255,255,255,.65); }
.gt-stat:last-child { border-right:0; }
.gt-stat-index { margin-bottom:22px; color:#ffc000; font-family:monospace; font-size:.82rem; letter-spacing:.14em; }
.gt-stat strong { color:#fff; font-size:clamp(2.2rem,3.8vw,3.25rem); line-height:1; }
.gt-stat > span:last-child { max-width:220px; margin-top:18px; color:#8fa7d0; font-size:1.05rem; line-height:1.45; text-transform:uppercase; }
.gt-partners-section { overflow:hidden; padding:96px 0 58px; text-align:center; background:#f6f8fb; }
.gt-partners-heading { margin:0 20px 58px; color:#123d78; font-family:monospace; font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; }
.gt-partners-marquee { overflow:hidden; width:100%; -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); }
.gt-partners-track { display:flex; width:max-content; animation:gt-partners-scroll 28s linear infinite; will-change:transform; }
.gt-partners-group { display:flex; flex-shrink:0; align-items:center; }
.gt-partner-name { min-width:max(280px,24vw); padding:0 38px; color:#c9cdd2; font-size:clamp(1.65rem,3vw,2.5rem); font-weight:900; line-height:1.2; text-transform:uppercase; white-space:nowrap; }
.gt-partners-marquee:hover .gt-partners-track { animation-play-state:paused; }
@keyframes gt-partners-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce){.gt-partners-track{animation-play-state:paused}}
.gt-site-footer { margin-top:60px; padding:50px 0 24px; color:#d9e3f4; background:#071d43; }
.gt-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; }
.gt-site-footer a { color:#fff; }
.gt-social-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.gt-social-links a { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:0 13px; border:1px solid rgba(255,255,255,.35); border-radius:4px; text-decoration:none; font-weight:700; }
.gt-social-links a:hover { color:#111; background:var(--gt-gold); border-color:var(--gt-gold); }
.gt-copyright { margin-top:35px; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); }
@media(max-width:800px){.gt-header-inner{align-items:flex-start;flex-direction:column;padding:14px 0}.gt-menu{gap:12px 18px}.gt-card-grid,.gt-footer-grid{grid-template-columns:1fr}.gt-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-stat{min-height:200px}.gt-stat:nth-child(2){border-right:0}.gt-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.65)}.gt-hero{padding-top:70px;padding-bottom:70px}}
@media(max-width:480px){.gt-stats-grid,.gt-partners-grid{grid-template-columns:1fr}.gt-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
