/*
Theme Name:   Sigma Engineers
Theme URI:    https://www.sigmaengineers.co.in/
Description:  Child theme of Neve for Sigma Engineers, Ahmedabad. Sigma design system: brand palette derived from the company logo (#0090E0), Archivo / IBM Plex typography, ratings-plate components and the division catalogue.
Author:       Aliansoftware
Author URI:   https://www.aliansoftware.net/
Template:     neve
Version:      1.0.1
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  neve-sigma
*/

/* Backgrounds are written as background-color, never the shorthand: some
   child-theme tooling rewrites shorthands and destroys var() references. */

/* ============================ 1. TOKENS ============================ */
:root{
  --sig-brand:#0090E0;
  --sig-cta:#0072B3;
  --sig-ink-brand:#00679F;
  --sig-soft:#E4F3FC;
  --sig-chassis:#081520;
  --sig-chassis-2:#0F2130;
  --sig-chassis-3:#17303F;
  --sig-chassis-line:#1E3B4D;
  --sig-chassis-ink:#E6F0F6;
  --sig-chassis-muted:#8CA6B8;
  --sig-paper:#F1F5F8;
  --sig-surface:#FFFFFF;
  --sig-surface-2:#E5EEF4;
  --sig-ink:#0B1922;
  --sig-ink-2:#35505F;
  --sig-muted:#5E7686;
  --sig-line:#D2DFE8;
  --sig-line-strong:#B2C4D1;
  --sig-well:#F7FAFC;
  --sig-well-line:#DFE8EE;
  --sig-maxw:1180px;
  --sig-r:3px;
  --sig-r-lg:6px;
  --sig-lift:0 2px 4px rgba(11,25,34,.08), 0 18px 40px -16px rgba(11,25,34,.28);
  --sig-display:"Archivo","Arial Narrow",Helvetica,sans-serif;
  --sig-body:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --sig-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}

/* ============================ 2. BASE ============================ */
body{
  font-family:var(--sig-body);
  color:var(--sig-ink);
  background-color:var(--sig-paper);
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.wp-block-heading{
  font-family:var(--sig-display);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.022em;
  text-wrap:balance;
  color:var(--sig-ink);
}
a{color:var(--sig-ink-brand)}
a:hover{color:var(--sig-brand)}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible{outline:2.5px solid var(--sig-brand);outline-offset:3px}
html,body{overflow-x:clip}
.wp-block-column{min-width:0}

/* ====================== 3. HEADER + BUSBAR ====================== */
.hfg_header .header--row-inner,
.hfg_header .header--row{
  background-color:var(--sig-chassis);
  border-bottom:1px solid var(--sig-chassis-line);
}
.hfg_header .nav-ul li > a{color:var(--sig-chassis-muted);font-size:.875rem;font-weight:500}
.hfg_header .nav-ul li > a:hover,
.hfg_header .nav-ul li.current-menu-item > a,
.hfg_header .nav-ul li.current_page_item > a{color:var(--sig-brand)}
.hfg_header .site-logo img{max-height:42px;width:auto}
.hfg_header .nv-nav-search svg,.hfg_header .navbar-toggle svg{fill:var(--sig-chassis-muted)}
.hfg_header.is-sticky{top:env(safe-area-inset-top,0px)}

.sig-busbar{height:3px;background-color:var(--sig-chassis-line);position:relative;overflow:hidden}
.sig-busbar::after{
  content:"";
  position:absolute;
  inset-block:0;
  left:0;
  width:22%;
  background-image:linear-gradient(90deg,rgba(0,144,224,0),rgba(0,144,224,1),rgba(0,144,224,0));
  animation:sig-flow 5.5s linear infinite;
}
@keyframes sig-flow{0%{transform:translateX(-120%)}100%{transform:translateX(560%)}}
@media (prefers-reduced-motion:reduce){.sig-busbar::after{animation:none;opacity:.5;width:100%}}

/* ============================ 4. SECTIONS ============================
   The pages use Neve's full-width template, so each section paints edge to
   edge and constrains its own children rather than relying on a container. */
.sig-section{padding-block:clamp(52px,7vw,88px);padding-inline:20px;position:relative}
.sig-section > *{max-width:var(--sig-maxw);margin-inline:auto}
.sig-section--tight{padding-block:clamp(40px,5vw,60px)}
.sig-section--alt{background-color:var(--sig-surface-2)}
.sig-section--chassis{background-color:var(--sig-chassis);color:var(--sig-chassis-ink)}
.sig-section--chassis h1,.sig-section--chassis h2,.sig-section--chassis h3{color:#ffffff}
.sig-section--chassis p,.sig-section--chassis li{color:var(--sig-chassis-muted)}
.sig-section--chassis a:not(.wp-block-button__link):not(.sig-btn){color:var(--sig-brand)}
.sig-section--chassis::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  background-image:linear-gradient(rgba(30,59,77,1) 1px,rgba(0,0,0,0) 1px),linear-gradient(90deg,rgba(30,59,77,1) 1px,rgba(0,0,0,0) 1px);
  background-size:68px 68px;
  -webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 0%,#000 10%,transparent 72%);
  mask-image:radial-gradient(ellipse 85% 70% at 50% 0%,#000 10%,transparent 72%);
}
.sig-section--chassis > *{position:relative;z-index:1}
@media (max-width:600px){.sig-section{padding-inline:16px}}

/* ============================ 5. EYEBROW ============================ */
.sig-eyebrow{
  font-family:var(--sig-mono);
  font-size:.688rem;
  font-weight:500;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--sig-ink-brand);
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
}
.sig-eyebrow::before{content:"";width:16px;height:2px;background-color:var(--sig-brand);flex:none}
.sig-section--chassis .sig-eyebrow{color:var(--sig-brand)}

/* ============================ 6. BUTTONS ============================ */
.wp-block-button__link,.sig-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-family:var(--sig-display);
  font-weight:700;
  font-size:.875rem;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:var(--sig-r);
  padding:13px 22px;
  border:1.5px solid transparent;
  transition:background-color .16s,border-color .16s,color .16s;
  cursor:pointer;
}
.wp-block-button__link,.sig-btn--brand{background-color:var(--sig-cta);color:#ffffff;border-color:var(--sig-cta)}
.wp-block-button__link:hover,.sig-btn--brand:hover{background-color:var(--sig-brand);border-color:var(--sig-brand);color:#ffffff}
.is-style-outline .wp-block-button__link,.sig-btn--outline{background-color:transparent;color:var(--sig-ink);border-color:var(--sig-line-strong)}
.is-style-outline .wp-block-button__link:hover,.sig-btn--outline:hover{border-color:var(--sig-ink);background-color:var(--sig-surface)}
.sig-section--chassis .is-style-outline .wp-block-button__link{color:var(--sig-chassis-ink);border-color:var(--sig-chassis-line)}
.sig-section--chassis .is-style-outline .wp-block-button__link:hover{border-color:var(--sig-chassis-muted);background-color:rgba(255,255,255,.06)}
.sig-btn--wa{background-color:#1F8E4A;color:#ffffff;border-color:#1F8E4A}
.sig-btn--wa:hover{background-color:#25A455;border-color:#25A455;color:#ffffff}
.sig-btn--sm{padding:9px 14px;font-size:.75rem}

/* ======================== 7. CAPABILITY PLATE ======================== */
.sig-plate{
  background-color:var(--sig-chassis-2);
  border:1px solid var(--sig-chassis-line);
  border-radius:var(--sig-r-lg);
  overflow:hidden;
  box-shadow:0 26px 60px -30px rgba(0,0,0,.9);
}
.sig-plate__hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  background-color:var(--sig-chassis-3);
  border-bottom:1px solid var(--sig-chassis-line);
  font-family:var(--sig-mono);
  font-size:.688rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sig-chassis-ink);
}
.sig-plate dl{margin:0}
.sig-prow{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:13px 16px;
  border-bottom:1px solid var(--sig-chassis-line);
  margin:0;
}
.sig-prow:last-child{border-bottom:0}
.sig-prow dt{font-size:.813rem;color:var(--sig-chassis-muted);margin:0}
.sig-prow dd{
  margin:0;
  font-family:var(--sig-mono);
  font-weight:600;
  font-size:1rem;
  color:var(--sig-brand);
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.sig-prow dd small{
  display:block;
  font-size:.625rem;
  color:var(--sig-chassis-muted);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:400;
  margin-top:2px;
}

/* ========================= 8. DIVISION CARDS =========================
   Every grid track uses minmax(0,...): the default min-width:auto plus a
   wide intrinsic product image pushes the layout past the viewport. */
.sig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(278px,100%),1fr));gap:18px}
.sig-card{
  min-width:0;
  background-color:var(--sig-surface);
  border:1px solid var(--sig-line);
  border-radius:var(--sig-r-lg);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.sig-card:hover{border-color:var(--sig-line-strong);box-shadow:var(--sig-lift);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.sig-card:hover{transform:none}}
.sig-well{
  background-color:var(--sig-well);
  border-bottom:1px solid var(--sig-well-line);
  aspect-ratio:16/9;
  max-width:100%;
  display:grid;
  place-items:center;
  padding:16px;
  position:relative;
}
.sig-well a{display:grid;place-items:center;max-width:100%;max-height:100%;line-height:0}
.sig-well img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.sig-code{
  position:absolute;
  top:9px;
  left:9px;
  z-index:2;
  font-family:var(--sig-mono);
  font-size:.625rem;
  font-weight:600;
  letter-spacing:.12em;
  color:#0B1922;
  background-color:rgba(255,255,255,.88);
  border:1px solid var(--sig-well-line);
  padding:3px 7px;
  border-radius:2px;
}
.sig-card__bd{padding:18px;display:flex;flex-direction:column;gap:11px;flex:1}
.sig-card__bd h3{font-size:1.06rem;margin:0}
.sig-card__bd h3 a{color:var(--sig-ink);text-decoration:none}
.sig-card__bd h3 a:hover{color:var(--sig-ink-brand)}
.sig-card__bd p{color:var(--sig-muted);font-size:.875rem;margin:0}
.sig-card__ft{display:flex;gap:8px;padding:0 18px 18px}
.sig-card__ft .sig-btn{flex:1;padding:10px 12px;font-size:.75rem}
.sig-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.sig-chip{
  font-family:var(--sig-mono);
  font-size:.625rem;
  letter-spacing:.06em;
  padding:4px 8px;
  border-radius:2px;
  background-color:var(--sig-soft);
  color:var(--sig-ink-brand);
}
.sig-spec{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.sig-spec li{position:relative;padding-left:18px;font-size:.875rem;color:var(--sig-ink-2);line-height:1.5}
.sig-spec li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border:1.5px solid var(--sig-brand);border-radius:50%}
.sig-lead{font-size:1.06rem;color:var(--sig-ink-2)}

/* ======================= 9. TRACKS, SECTORS, BRANDS ======================= */
.sig-tracks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:1px;
  background-color:var(--sig-line);
  border:1px solid var(--sig-line);
  border-radius:var(--sig-r-lg);
  overflow:hidden;
}
.sig-track{min-width:0;background-color:var(--sig-surface);padding:clamp(24px,3.4vw,34px)}
.sig-track h3{font-size:1.2rem;margin:10px 0 12px}
.sig-sectors{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background-color:var(--sig-chassis-line);
  border:1px solid var(--sig-chassis-line);
  border-radius:var(--sig-r-lg);
  overflow:hidden;
}
@media (max-width:1000px){.sig-sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.sig-sectors{grid-template-columns:1fr}}
.sig-sector{background-color:var(--sig-chassis-2);padding:22px 18px;display:flex;flex-direction:column;gap:7px}
.sig-sector:hover{background-color:var(--sig-chassis-3)}
.sig-sector b{font-family:var(--sig-display);font-size:.969rem;color:#ffffff;font-weight:700}
.sig-sector span{font-size:.813rem;color:var(--sig-chassis-muted);line-height:1.5}
.sig-sector i{font-family:var(--sig-mono);font-style:normal;font-size:.625rem;letter-spacing:.14em;color:var(--sig-brand)}
.sig-brands{display:flex;flex-wrap:wrap;gap:9px}
.sig-brandchip{
  font-family:var(--sig-display);
  font-weight:700;
  font-size:.875rem;
  padding:11px 17px;
  border-radius:var(--sig-r);
  background-color:var(--sig-surface);
  border:1px solid var(--sig-line);
  color:var(--sig-ink-2);
  transition:border-color .16s,color .16s;
}
.sig-brandchip:hover{border-color:var(--sig-brand);color:var(--sig-ink)}

/* ========================= 10. ENQUIRY FORM ========================= */
.sig-form{margin-top:18px}
.sig-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
@media (max-width:520px){.sig-form__row{grid-template-columns:1fr}}
.sig-field{display:grid;gap:6px;margin:0 0 15px}
.sig-field label{font-family:var(--sig-mono);font-size:.688rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sig-muted)}
.sig-field input,.sig-field select,.sig-field textarea{
  font-family:var(--sig-body);
  font-size:.938rem;
  padding:11px 13px;
  border:1px solid var(--sig-line-strong);
  border-radius:var(--sig-r);
  background-color:var(--sig-paper);
  color:var(--sig-ink);
  width:100%;
  transition:border-color .15s,box-shadow .15s;
}
.sig-field textarea{resize:vertical;min-height:120px}
.sig-field input:focus,.sig-field select:focus,.sig-field textarea:focus{
  outline:none;border-color:var(--sig-brand);box-shadow:0 0 0 3px var(--sig-soft);
}
.sig-formnote{font-size:.813rem;color:var(--sig-muted);margin-top:10px}
.sig-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sig-note{border-radius:var(--sig-r);padding:14px 16px;font-size:.938rem;margin-bottom:18px;border:1px solid transparent}
.sig-note--ok{background-color:var(--sig-soft);border-color:var(--sig-brand);color:var(--sig-ink)}
.sig-note--bad{background-color:#FDEDEC;border-color:#C0392B;color:#7B241C}

/* ======================= 11. FLOATING ACTIONS ======================= */
.sig-fab{
  position:fixed;
  right:16px;
  bottom:calc(16px + env(safe-area-inset-bottom,0px));
  z-index:900;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.sig-fab a{
  width:50px;height:50px;border-radius:50%;
  display:grid;place-items:center;
  box-shadow:0 6px 20px -4px rgba(0,0,0,.4);
  transition:transform .16s;
}
.sig-fab a:hover{transform:scale(1.07)}
.sig-fab svg{width:24px;height:24px;display:block}
.sig-fab__wa{background-color:#25A455}
.sig-fab__call{background-color:var(--sig-cta)}

/* ============================ 12. FOOTER ============================ */
.site-footer,.site-footer .footer--row-inner{background-color:var(--sig-chassis);color:var(--sig-chassis-muted)}
.site-footer a{color:var(--sig-chassis-muted);text-decoration:none}
.site-footer a:hover{color:var(--sig-brand)}
.site-footer p{color:var(--sig-chassis-muted);font-size:.875rem}

/* ============================ 13. RESPONSIVE ============================ */
@media (max-width:782px){
  .sig-section{padding-block:clamp(40px,8vw,56px)}
  .sig-plate{margin-top:28px}
}
@media (max-width:600px){
  .sig-fab a{width:46px;height:46px}
  .sig-fab svg{width:22px;height:22px}
  .sig-card__ft{flex-direction:column}
}

/* ====================== 14. PRINT - quotes get filed ====================== */
@media print{
  .hfg_header,.site-footer,.sig-fab,.sig-busbar{display:none}
  body{background-color:#ffffff;color:#000000;font-size:11pt}
  .sig-section{padding-block:12pt}
  .sig-section--chassis{background-color:#ffffff;color:#000000}
  .sig-section--chassis h1,.sig-section--chassis h2,.sig-section--chassis p{color:#000000}
  .sig-section--chassis::before{display:none}
  .sig-card{break-inside:avoid;border:1px solid #999999}
}


/* ==================== 15. NEVE CUSTOMIZER OVERRIDES ====================
   Neve writes Customizer colours as inline CSS after the theme stylesheet,
   so these few properties need the extra weight to land. Kept to the
   minimum set that Neve actually controls. */
.hfg_header .nav-ul li > a,
.hfg_header .builder-item--primary-menu .nav-ul li > a{
  color:var(--sig-chassis-muted) !important;
}
.hfg_header .nav-ul li > a:hover,
.hfg_header .nav-ul li.current-menu-item > a,
.hfg_header .nav-ul li.current_page_item > a,
.hfg_header .nav-ul li.current-menu-ancestor > a{
  color:var(--sig-brand) !important;
}
.hfg_header .navbar-toggle svg,
.hfg_header .nv-nav-search svg,
.hfg_header .icon-bar{fill:var(--sig-chassis-ink) !important;background-color:var(--sig-chassis-ink)}
.hfg_header .nv-nav-search svg{background-color:transparent}

/* button text must never inherit a link colour */
.wp-block-button__link,
.sig-btn--brand,
.sig-btn--wa{color:#ffffff !important}
.is-style-outline .wp-block-button__link,
.sig-btn--outline{color:var(--sig-ink) !important}
.sig-section--chassis .is-style-outline .wp-block-button__link{color:var(--sig-chassis-ink) !important}
.sig-card__ft .sig-btn--brand{color:#ffffff !important}

/* the logo is a transparent PNG now; make sure nothing paints behind it */
.hfg_header .site-logo,
.hfg_header .site-logo img{background-color:transparent}


/* ==================== 16. HEADER LAYOUT ====================
   Neve's builder already places the logo desktop-left and the menu
   desktop-right, but the row was not resolving as a flex row: the logo
   drifted toward centre and the menu wrapped onto a second line.
   Desktop only - Neve's mobile header is left as it is.
   The container matches the 1180px content width used by .sig-section,
   so the logo aligns with the page copy below it. */
@media (min-width:961px){
  .hfg_header .header-main-inner .container{
    max-width:1180px;
    padding-inline:20px;
  }
  .hfg_header .header-main-inner .row--wrapper{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:28px;
    width:100%;
  }
  .hfg_header .header-main-inner .builder-item{
    padding-inline:0;
    max-width:none;
    margin-block:6px;
  }
  .hfg_header .header-main-inner .builder-item.desktop-left{
    flex:0 0 auto;
    width:auto;
    margin-right:auto;
  }
  .hfg_header .header-main-inner .builder-item.desktop-right{
    flex:0 0 auto;
    width:auto;
    display:flex;
    justify-content:flex-end;
    align-items:center;
  }
  .hfg_header .header-main-inner .builder-item--logo,
  .hfg_header .header-main-inner .builder-item--primary-menu,
  .hfg_header .header-main-inner .nv-nav-wrap{width:auto;flex:0 0 auto}
  .hfg_header .header-main-inner .row--wrapper{margin-inline:0}
  .hfg_header .header-main-inner .builder-item--logo{
    display:flex;
    justify-content:flex-start;
    align-items:center;
  }
  .hfg_header .nv-nav-wrap,
  .hfg_header .nav-menu-primary{display:flex;align-items:center}
  .hfg_header .nav-ul{
    flex-wrap:nowrap;
    align-items:center;
  }
  .hfg_header .nav-ul > li{white-space:nowrap}
  .hfg_header .nav-ul > li > a{white-space:nowrap;padding-block:8px}
}


/* Neve gives .builder-item an explicit width and the Bootstrap row a
   negative inline margin; both need overriding for the logo to shrink to
   its content and the menu to stay inside the container. */
@media (min-width:961px){
  .hfg_header .header-main-inner .row--wrapper{
    margin-inline:0 !important;
    justify-content:space-between;
  }
  .hfg_header .header-main-inner .builder-item.desktop-left,
  .hfg_header .header-main-inner .builder-item.desktop-right{
    width:auto !important;
    flex:0 0 auto !important;
    max-width:none !important;
  }
  .hfg_header .header-main-inner .builder-item.desktop-left{margin-right:auto !important}
  .hfg_header .header-main-inner .builder-item--logo,
  .hfg_header .header-main-inner .builder-item--primary-menu{width:auto !important}
}


/* ==================== 17. AAYEKA PRODUCT TILES ====================
   Cutout product photography on white. Each shot is contained in a fixed
   4:3 well so four very different source ratios read as one set, with the
   caption on its own strip rather than overlaid on the product. */
.sig-shots{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.sig-shot{
  margin:0;
  min-width:0;
  background-color:var(--sig-well);
  border:1px solid var(--sig-well-line);
  border-radius:var(--sig-r-lg);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.sig-shot__img{
  position:relative;
  aspect-ratio:4/3;
  max-width:100%;
  min-height:0;
  overflow:hidden;
}
/* absolute + inset:0 + margin:auto keeps the shot inside the ratio box:
   an intrinsically tall image would otherwise stretch the box open. */
.sig-shot__img img{
  position:absolute;
  inset:0;
  margin:auto;
  max-width:calc(100% - 34px);
  max-height:calc(100% - 34px);
  width:auto;
  height:auto;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.sig-shot figcaption{
  font-family:var(--sig-mono);
  font-size:.625rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sig-muted);
  text-align:center;
  padding:9px 12px 11px;
  border-top:1px solid var(--sig-well-line);
  background-color:var(--sig-surface);
  line-height:1.4;
}
@media (max-width:480px){
  .sig-shots{gap:10px}
  .sig-shot__img img{max-width:calc(100% - 22px);max-height:calc(100% - 22px)}
}
