/*
Theme Name: Gigatech FSE
Theme URI: https://gigahost.co.za/
Author: Gigatech
Description: Custom block child theme for Gigatech managed IT, cybersecurity, backups and hardware services.
Template: twentytwentyfour
Version: 1.0.8
Text Domain: gigatech-fse
*/
:root{
  --gt-black:#000000;
  --gt-navy:#051d40;
  --gt-blue:#56aeff;
  --gt-blue-2:#7cc5ff;
  --gt-ink:#eaf4ff;
  --gt-muted:#aebdd1;
  --gt-card:rgba(5,29,64,.78);
  --gt-line:rgba(86,174,255,.22);
  --gt-shadow:0 24px 80px rgba(0,0,0,.35);
  --gt-radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#020817;color:var(--gt-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
body .wp-site-blocks{min-height:100vh;background:radial-gradient(circle at top left,rgba(86,174,255,.18),transparent 32rem),linear-gradient(180deg,#020817 0%,#061326 45%,#020817 100%)}
a{color:var(--gt-blue);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{color:#d8f0ff}.has-white-color a{color:#fff}.gt-main{margin-block-start:0}.gt-main>*{margin-block-start:0}.wp-block-post-content>*{margin-block-start:0}
.gt-site-header{position:sticky;top:0;z-index:1000;background:rgba(2,8,23,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(86,174,255,.16);box-shadow:0 10px 35px rgba(0,0,0,.24)}
.admin-bar .gt-site-header{top:32px}.gt-header-inner{padding:14px clamp(18px,4vw,52px)!important;max-width:1240px;margin-inline:auto}.gt-brand{gap:12px!important}.gt-brand .wp-block-site-logo img{border-radius:16px;filter:drop-shadow(0 10px 22px rgba(86,174,255,.28))}.gt-site-title a{color:#fff!important;font-weight:850;font-size:1.18rem;letter-spacing:.03em;text-decoration:none}.gt-nav a{color:#dceeff!important;font-weight:650}.gt-nav a:hover{color:var(--gt-blue)!important}.gt-nav .wp-block-navigation-item__content{padding:10px 4px}.gt-nav-cta a{background:linear-gradient(135deg,var(--gt-blue),#8bd0ff);color:#00152d!important;border-radius:999px;padding:10px 16px!important;box-shadow:0 10px 30px rgba(86,174,255,.25)}
.gt-section{padding:clamp(64px,8vw,112px) clamp(18px,4vw,52px);position:relative;overflow:hidden}.gt-section-narrow{padding:clamp(54px,7vw,90px) clamp(18px,4vw,52px)}.gt-container{width:min(1160px,100%);margin-inline:auto}.gt-hero{padding:clamp(72px,9vw,136px) clamp(18px,4vw,52px) clamp(64px,8vw,110px);position:relative;overflow:hidden;background:radial-gradient(circle at 76% 20%,rgba(86,174,255,.28),transparent 24rem),radial-gradient(circle at 20% 80%,rgba(86,174,255,.12),transparent 20rem)}.gt-hero:before{content:"";position:absolute;inset:auto -18% -28% 52%;height:620px;background:linear-gradient(135deg,rgba(86,174,255,.32),rgba(5,29,64,.05));border-radius:50%;filter:blur(2px);transform:rotate(-14deg)}.gt-hero-grid{position:relative;z-index:1;width:min(1160px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(300px,.87fr);gap:clamp(32px,6vw,74px);align-items:center}.gt-kicker{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border:1px solid var(--gt-line);border-radius:999px;background:rgba(86,174,255,.09);color:#cfeeff;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gt-kicker:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--gt-blue);box-shadow:0 0 20px var(--gt-blue)}.gt-hero h1,.gt-page-hero h1{margin:.28em 0 .22em;font-size:clamp(2.5rem,6vw,5.8rem);line-height:.96;letter-spacing:-.07em;color:#fff}.gt-page-hero h1{font-size:clamp(2.3rem,5vw,4.8rem)}.gt-gradient-text{background:linear-gradient(100deg,#fff 0%,#dff4ff 42%,var(--gt-blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.gt-lead{font-size:clamp(1.08rem,2vw,1.35rem);color:#c6d8eb;max-width:720px;margin:0 0 30px}.gt-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.gt-button,.gt-button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 20px;font-weight:850;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.gt-button{background:linear-gradient(135deg,var(--gt-blue),#9bd8ff);color:#00172f!important;box-shadow:0 18px 44px rgba(86,174,255,.31)}.gt-button:hover{transform:translateY(-2px);box-shadow:0 22px 58px rgba(86,174,255,.42);color:#00172f!important}.gt-button-secondary{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#eef8ff!important}.gt-button-secondary:hover{border-color:var(--gt-blue);transform:translateY(-2px)}.gt-hero-card,.gt-panel{border:1px solid var(--gt-line);background:linear-gradient(180deg,rgba(5,29,64,.86),rgba(2,8,23,.86));border-radius:var(--gt-radius);box-shadow:var(--gt-shadow);padding:clamp(24px,3vw,34px);position:relative;overflow:hidden}.gt-hero-card:before,.gt-panel:before{content:"";position:absolute;inset:-1px -1px auto auto;width:180px;height:180px;background:radial-gradient(circle,rgba(86,174,255,.32),transparent 62%);pointer-events:none}.gt-logo-orb{width:132px;height:132px;border-radius:34px;background:rgba(86,174,255,.08);border:1px solid var(--gt-line);display:grid;place-items:center;margin-bottom:22px}.gt-logo-orb img{width:92px;height:92px;object-fit:contain}.gt-check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.gt-check-list li{display:flex;gap:10px;color:#d7e7f6}.gt-check-list li:before{content:"✓";color:var(--gt-blue);font-weight:900}.gt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.gt-stat{min-width:0;overflow-wrap:anywhere;border:1px solid rgba(86,174,255,.18);background:rgba(255,255,255,.04);border-radius:20px;padding:18px}.gt-stat strong{display:block;font-size:1.55rem;color:#fff;line-height:1}.gt-stat span{font-size:.9rem;color:var(--gt-muted)}.gt-section-heading{max-width:780px;margin:0 auto 36px;text-align:center}.gt-section-heading.left{text-align:left;margin-left:0}.gt-section-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.045em;color:#fff;margin:.24em 0}.gt-section-heading p{color:#b9c9db;font-size:1.08rem}.gt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gt-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-card{border:1px solid rgba(86,174,255,.16);background:linear-gradient(180deg,rgba(5,29,64,.72),rgba(2,8,23,.84));border-radius:24px;padding:26px;box-shadow:0 18px 56px rgba(0,0,0,.2);transition:transform .22s ease,border-color .22s ease}.gt-card:hover{transform:translateY(-4px);border-color:rgba(86,174,255,.42)}.gt-card-icon{width:48px;height:48px;border-radius:16px;background:rgba(86,174,255,.12);display:grid;place-items:center;color:var(--gt-blue);font-size:1.45rem;margin-bottom:16px}.gt-card h3{color:#fff;font-size:1.25rem;margin:0 0 10px}.gt-card p{color:#b9c9db;margin:0}.gt-card a{font-weight:800;text-decoration:none}.gt-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,70px);align-items:center}.gt-band{background:linear-gradient(135deg,rgba(86,174,255,.14),rgba(5,29,64,.62));border-block:1px solid rgba(86,174,255,.16)}.gt-process{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gt-step{position:relative;border:1px solid rgba(86,174,255,.16);border-radius:22px;background:rgba(5,29,64,.66);padding:24px}.gt-step:before{counter-increment:step;content:"0" counter(step);display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--gt-blue);color:#00152d;font-weight:900;margin-bottom:16px}.gt-page-hero{padding:clamp(62px,8vw,116px) clamp(18px,4vw,52px);background:radial-gradient(circle at 75% 10%,rgba(86,174,255,.25),transparent 22rem),linear-gradient(180deg,#020817,#061326);border-bottom:1px solid rgba(86,174,255,.14)}.gt-page-hero .gt-container{max-width:1060px}.gt-service-list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}.gt-service-list li{padding:14px 16px;border:1px solid rgba(86,174,255,.15);border-radius:16px;background:rgba(255,255,255,.035);color:#d7e7f6}.gt-service-list li strong{color:#fff}.gt-cta{border:1px solid rgba(86,174,255,.28);background:radial-gradient(circle at top right,rgba(86,174,255,.25),transparent 24rem),linear-gradient(135deg,#051d40,#020817);border-radius:32px;padding:clamp(30px,5vw,58px);box-shadow:var(--gt-shadow)}.gt-contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:24px;align-items:start}.gt-contact-card{border:1px solid rgba(86,174,255,.18);background:rgba(5,29,64,.74);border-radius:24px;padding:24px}.gt-map iframe{width:100%;min-height:360px;border:0;border-radius:24px;filter:saturate(.85) contrast(1.05)}.wpcf7 form{display:grid;gap:14px}.wpcf7 label{display:grid;gap:7px;color:#d7e7f6;font-weight:700}.wpcf7 input,.wpcf7 textarea,.wpcf7 select{width:100%;border:1px solid rgba(86,174,255,.24);border-radius:16px;background:rgba(2,8,23,.78);color:#fff;padding:13px 14px;font:inherit}.wpcf7 textarea{min-height:130px}.wpcf7 input[type="submit"]{cursor:pointer;border:0;background:linear-gradient(135deg,var(--gt-blue),#9bd8ff);color:#00172f;font-weight:900;box-shadow:0 14px 34px rgba(86,174,255,.26)}.wpcf7 input[type="checkbox"]{width:auto;min-width:16px;height:16px;margin-top:5px;accent-color:var(--gt-blue)}.wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}.wpcf7 .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:10px;color:#d7e7f6;font-weight:700}.wpcf7 .wpcf7-acceptance label span{line-height:1.45}.wpcf7-not-valid-tip{color:#ffb4b4}.wpcf7 form .wpcf7-response-output{border-radius:16px;color:#fff}.tnp-subscription,.tnp-profile{max-width:none!important}.tnp-subscription form{display:flex;gap:10px;flex-wrap:wrap}.tnp-subscription input[type=email],.tnp-subscription input[type=text]{flex:1 1 230px;border:1px solid rgba(86,174,255,.24);border-radius:16px;background:rgba(2,8,23,.78);color:#fff;padding:13px 14px}.tnp-subscription input[type=submit]{border:0;border-radius:16px;background:var(--gt-blue);color:#00172f;font-weight:900;padding:13px 18px}.gt-site-footer{background:#000813;border-top:1px solid rgba(86,174,255,.14);padding:52px clamp(18px,4vw,52px) 84px!important;margin-block-start:0}.gt-footer-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}.gt-site-footer h3,.gt-site-footer h4{color:#fff;margin:0 0 12px}.gt-site-footer p,.gt-site-footer li{color:#aebdd1}.gt-site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.gt-site-footer a{text-decoration:none;font-weight:700}.gt-footer-bottom{max-width:1160px;margin:32px auto 0;padding-top:22px;border-top:1px solid rgba(86,174,255,.12);color:#8fa4bb;font-size:.92rem}.gt-floating-contact{position:fixed;right:18px;bottom:18px;z-index:1001;display:flex;gap:10px}.gt-floating-contact a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:999px;padding:12px 15px;font-weight:900;box-shadow:0 18px 42px rgba(0,0,0,.34)}.gt-floating-contact .call{background:#fff;color:#00172f}.gt-floating-contact .chat{background:linear-gradient(135deg,var(--gt-blue),#9bd8ff);color:#00172f}.gt-legal{max-width:900px}.gt-legal h2{color:#fff;margin-top:34px}.gt-legal p,.gt-legal li{color:#c1d1e3}.gt-breadcrumbish{color:#94b4d7;font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.82rem}.gt-placeholder-note{border:1px dashed rgba(86,174,255,.45);background:rgba(86,174,255,.08);border-radius:18px;padding:16px;color:#d7e7f6}.gt-blog-card{display:block;text-decoration:none;color:inherit}.gt-blog-card time{color:#9eb6ce;font-size:.9rem}.gt-logo-mark-bg{position:absolute;right:-80px;bottom:-80px;width:360px;opacity:.055;pointer-events:none}
@media (max-width:980px){.gt-hero-grid,.gt-split,.gt-contact-grid{grid-template-columns:1fr}.gt-grid,.gt-grid.two{grid-template-columns:1fr 1fr}.gt-process{grid-template-columns:1fr 1fr}.gt-footer-grid{grid-template-columns:1fr 1fr}.gt-stats{grid-template-columns:1fr 1fr 1fr}.gt-hero h1,.gt-page-hero h1{letter-spacing:-.045em}.gt-nav-cta a{padding:8px 12px!important}}
@media (max-width:680px){.admin-bar .gt-site-header{top:0}.gt-grid,.gt-grid.two,.gt-process,.gt-footer-grid,.gt-stats{grid-template-columns:1fr}.gt-section,.gt-hero,.gt-page-hero{padding-left:18px;padding-right:18px}.gt-hero h1,.gt-page-hero h1{font-size:clamp(2.35rem,15vw,3.45rem)}.gt-actions{display:grid}.gt-button,.gt-button-secondary{width:100%}.gt-floating-contact{left:12px;right:12px;bottom:12px}.gt-floating-contact a{flex:1;justify-content:center}.gt-site-footer{padding-bottom:96px!important}}

.gt-hero-card .gt-stats{grid-template-columns:1fr}.gt-hero-card .gt-stat{display:flex;align-items:center;gap:12px;padding:14px 16px}.gt-hero-card .gt-stat strong{font-size:1.28rem;min-width:72px}.gt-hero-card .gt-stat span{line-height:1.25}.gt-logo-orb img,.gt-brand .wp-block-site-logo img{background:transparent!important}

.gt-map-card{display:grid;grid-template-columns:.78fr 1.22fr;gap:22px;align-items:stretch;border:1px solid rgba(86,174,255,.18);background:linear-gradient(180deg,rgba(5,29,64,.82),rgba(2,8,23,.72));border-radius:28px;padding:clamp(22px,4vw,34px);box-shadow:var(--gt-shadow)}.gt-map-card h2{margin:.2em 0;color:#fff;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.gt-map-card p{color:#c1d1e3}.gt-map-card .gt-map iframe{min-height:330px}@media (max-width:900px){.gt-map-card{grid-template-columns:1fr}}

.gt-static-map{min-height:330px;position:relative;overflow:hidden;border:1px solid rgba(86,174,255,.2);border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(86,174,255,.22),rgba(5,29,64,.58) 32%,rgba(2,8,23,.82) 72%),linear-gradient(135deg,rgba(86,174,255,.1),rgba(5,29,64,.35));display:grid;place-items:center}.gt-static-map:before{content:"";position:absolute;inset:24px;border:1px dashed rgba(86,174,255,.24);border-radius:22px}.gt-map-ring{position:absolute;aspect-ratio:1;border-radius:50%;border:1px solid rgba(86,174,255,.34);box-shadow:0 0 40px rgba(86,174,255,.08) inset}.gt-map-ring.r1{width:110px}.gt-map-ring.r2{width:210px}.gt-map-ring.r3{width:310px;opacity:.55}.gt-map-pin{position:relative;z-index:2;width:70px;height:70px;border-radius:24px 24px 24px 6px;transform:rotate(-45deg);display:grid;place-items:center;background:linear-gradient(135deg,var(--gt-blue),#9bd8ff);color:#00172f;font-weight:950;box-shadow:0 18px 48px rgba(86,174,255,.32)}.gt-map-pin::first-letter{transform:rotate(45deg)}.gt-map-pin{font-size:0}.gt-map-pin:after{content:"G";font-size:1.45rem;transform:rotate(45deg)}.gt-static-map p{position:absolute;left:22px;bottom:18px;right:22px;z-index:2;margin:0;padding:14px 16px;border:1px solid rgba(86,174,255,.18);border-radius:18px;background:rgba(2,8,23,.72);backdrop-filter:blur(10px)}.gt-static-map strong{display:block;color:#fff;font-size:1.2rem}.gt-static-map span{color:#b9c9db}


/* 2026-07-10: Full-bleed front-end sections so the hero grid has enough room and the uptime card cannot overlap the headline. */
.wp-block-post-content .gt-hero,
.wp-block-post-content .gt-page-hero,
.wp-block-post-content .gt-section,
.wp-block-post-content .gt-section-narrow{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
.gt-hero-grid{column-gap:clamp(64px,7vw,120px)}
.gt-hero-card{justify-self:end;max-width:420px;width:100%}
@media (max-width:1080px){
  .gt-hero-grid{grid-template-columns:1fr;max-width:760px;gap:32px}
  .gt-hero-card{justify-self:start;max-width:560px}
}



/* Keep fixed call/WhatsApp CTAs off desktop so they do not cover the hero card; mobile keeps the bottom quick-action bar. */
@media (min-width:981px){.gt-floating-contact{display:none}}



/* 2026-07-10: Slightly loosen primary navigation spacing for readability. */
.gt-nav .wp-block-navigation__container{gap:clamp(8px,1vw,14px)}
.gt-nav .wp-block-navigation-item__content{padding:10px 8px}
.gt-nav-cta a{padding:10px 18px!important}
@media (max-width:680px){.gt-nav .wp-block-navigation-item__content{padding:10px 4px}.gt-nav-cta a{padding:8px 12px!important}}



/* 2026-07-10: Blog listing title sizing and wrapping refinement. */
body.blog .wp-block-query.gt-section{
  max-width:min(1120px, calc(100vw - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.blog .wp-block-post-template.gt-grid{
  max-width:100% !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(20px,2vw,28px);
}
body.blog .wp-block-post-template .wp-block-post{
  padding:0;
}
body.blog .wp-block-post-title{
  font-size:clamp(1.45rem,2vw,1.8rem) !important;
  line-height:1.14 !important;
  letter-spacing:-.02em;
  margin:0 0 .65rem !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
body.blog .wp-block-post-title a{
  display:block;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
@media (max-width:900px){
  body.blog .wp-block-post-template.gt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  body.blog .wp-block-query.gt-section{max-width:calc(100vw - 28px) !important;padding-left:18px;padding-right:18px;}
  body.blog .wp-block-post-template.gt-grid{grid-template-columns:1fr;}
  body.blog .wp-block-post-title{font-size:1.45rem !important;}
}



/* 2026-07-10: Home services grid supports the added business email hosting card cleanly. */
.gt-services-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
@media (min-width:1100px){.gt-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}



/* 2026-07-10: Dedicated services overview grid. */
.gt-services-overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:stretch}
@media (min-width:1180px){.gt-services-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.gt-services-overview-grid .gt-card{display:flex;flex-direction:column}
.gt-services-overview-grid .gt-card p:last-child{margin-top:auto}

