/*
Theme Name: NBR Industrial
Theme URI: https://nbris.example/
Description: Lightweight, builder-friendly WordPress theme for NBR Industrial Solutions (Karachi) — a safety equipment supplier and servicer. Ships the NBR brand system (navy #1E2B5E, signal red #E22127, steel grey #6E7377, Poppins) and works cleanly with Elementor and Bricks. Built-in navy header/footer can be switched off in the Customizer when you build your own in a page builder.
Author: NBR
Version: 1.1.2
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nbr-industrial
Tags: business, portfolio, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, block-patterns, translation-ready
*/

/* =====================================================================
   NBR Industrial — design system
   Ported from the NBR / Hostinger Horizons export.
   All classes are prefixed .nbr- so they never collide with Elementor,
   Bricks, or other plugins.
   ===================================================================== */

:root{
  --nbr-navy:#1E2B5E;          /* primary — logo N/B, headings, header, footer */
  --nbr-navy-ink:#172247;      /* darker navy for shadows / hovers */
  --nbr-red:#E22127;           /* accent — logo R, buttons, links, highlights */
  --nbr-red-ink:#C21A1F;       /* red hover */
  --nbr-steel:#6E7377;         /* body / muted text — logo gear grey */
  --nbr-ink:#2B3244;           /* default body text */
  --nbr-bg:#FFFFFF;
  --nbr-mist:#F4F5F7;          /* alternate section background */
  --nbr-line:#E1E4E8;          /* hairlines / grid gaps */
  --nbr-radius:4px;
  --nbr-container:1280px;
  --nbr-pad:clamp(16px,5vw,32px);
  --nbr-section-y:clamp(56px,9vw,96px);
  --nbr-font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --nbr-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* ---------- base ---------- */
.nbr-scope,
.nbr-body{
  font-family:var(--nbr-font);
  color:var(--nbr-ink);
  line-height:1.65;
  font-size:16px;
}
body.nbr-body{background:var(--nbr-bg);margin:0}
.nbr-body img{max-width:100%;height:auto;display:block}
.nbr-body a{color:var(--nbr-red);text-decoration:none}
/* underline only inside long-form content, never on nav / cards / buttons */
.nbr-entry a,.nbr-post .nbr-entry a{text-decoration:underline}
.nbr-entry a:hover{text-decoration:none}
.nbr-body h1,.nbr-body h2,.nbr-body h3,.nbr-body h4{
  font-family:var(--nbr-font);color:var(--nbr-navy);
  font-weight:800;line-height:1.24;letter-spacing:-.01em;margin:0 0 .4em;
}
.nbr-body p{margin:0 0 1rem}
.nbr-body ul,.nbr-body ol{margin:0;padding:0;list-style:none}

/* ---------- layout ---------- */
.nbr-container{max-width:var(--nbr-container);margin-inline:auto;padding-inline:var(--nbr-pad)}
.nbr-container--narrow{max-width:820px}
.nbr-container--mid{max-width:1024px}
.nbr-section{padding-block:var(--nbr-section-y)}
.nbr-section--mist{background:var(--nbr-mist)}
.nbr-section--navy{background:var(--nbr-navy);color:#fff}
/* headings inside dark bands must stay light — beats `.nbr-body h1{color:navy}` */
.nbr-section--navy :is(h1,h2,h3,h4),
.nbr-hero :is(h1,h2,h3),
.nbr-pagehero :is(h1,h2,h3),
.nbr-cta :is(h1,h2,h3),
.nbr-footer :is(h1,h2,h3,h4){color:#fff}
.nbr-stack>*+*{margin-top:1rem}

/* ---------- type helpers ---------- */
.nbr-eyebrow{
  display:inline-block;font-size:.72rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--nbr-red);margin:0 0 1rem;
}
.nbr-section--navy .nbr-eyebrow{color:#fff}
.nbr-eyebrow--rule{border-left:2px solid var(--nbr-red);padding-left:.75rem;letter-spacing:.2em}
.nbr-h1{font-size:clamp(2.1rem,6vw,3.5rem);font-weight:800;line-height:1.16;letter-spacing:-.02em}
.nbr-h2{font-size:clamp(1.75rem,4vw,2.35rem);font-weight:800;line-height:1.22}
.nbr-h3{font-size:1.125rem;font-weight:700;line-height:1.35}
.nbr-lead{color:var(--nbr-steel);font-size:1.05rem;line-height:1.7;max-width:60ch}
.nbr-section--navy .nbr-lead{color:rgba(255,255,255,.78)}
.nbr-muted{color:var(--nbr-steel)}
.nbr-num{font-family:var(--nbr-mono);font-size:.85rem;font-weight:700;color:var(--nbr-red)}
.nbr-hr{display:block;width:48px;height:2px;background:var(--nbr-red);border:0;margin:1.25rem 0 0}

/* ---------- buttons ---------- */
.nbr-btn,a.nbr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:0 1.75rem;border-radius:var(--nbr-radius);
  font-family:var(--nbr-font);font-weight:600;font-size:1rem;line-height:1;
  border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;
  text-decoration:none;
}
.nbr-btn:hover{text-decoration:none}
.nbr-btn:active{transform:scale(.98)}
/* double-class + a.  keeps these ahead of the generic `.nbr-body a` colour */
.nbr-btn.nbr-btn--signal,a.nbr-btn--signal{background:var(--nbr-red);color:#fff;border-color:var(--nbr-red)}
.nbr-btn.nbr-btn--signal:hover,a.nbr-btn--signal:hover{background:var(--nbr-red-ink);border-color:var(--nbr-red-ink);color:#fff}
.nbr-btn.nbr-btn--navy,a.nbr-btn--navy{background:var(--nbr-navy);color:#fff;border-color:var(--nbr-navy)}
.nbr-btn.nbr-btn--navy:hover,a.nbr-btn--navy:hover{background:var(--nbr-navy-ink);color:#fff}
.nbr-btn.nbr-btn--outline,a.nbr-btn--outline{background:transparent;color:var(--nbr-navy);border-color:rgba(30,43,94,.3)}
.nbr-btn.nbr-btn--outline:hover,a.nbr-btn--outline:hover{background:var(--nbr-navy);color:#fff}
.nbr-btn.nbr-btn--ghost,a.nbr-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.nbr-btn.nbr-btn--ghost:hover,a.nbr-btn--ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.nbr-btn-row{display:flex;flex-wrap:wrap;gap:1rem}
.nbr-ico-inline{display:inline-flex;width:1.05em;height:1.05em;flex:none;vertical-align:-.15em}
.nbr-ico-inline svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- signature slant (from Horizons .clip-slant) ---------- */
.nbr-slant{clip-path:polygon(0 0,100% 3.5%,100% 100%,0 96.5%)}
.nbr-slant-soft{clip-path:polygon(0 0,100% 2%,100% 100%,0 98%)}

/* ---------- icons ---------- */
.nbr-ico{width:32px;height:32px;display:block;color:var(--nbr-red);flex:none}
.nbr-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nbr-ico--navy{color:var(--nbr-navy)}
.nbr-ico--lg{width:40px;height:40px}

/* ---------- hero ---------- */
.nbr-hero{position:relative;overflow:hidden;background:var(--nbr-navy);color:#fff;isolation:isolate}
.nbr-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:nbr-drift 24s ease-in-out infinite alternate}
.nbr-hero__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(30,43,94,.95) 0%,rgba(30,43,94,.78) 42%,rgba(30,43,94,.42) 100%)}
.nbr-hero__inner{max-width:var(--nbr-container);margin-inline:auto;padding:clamp(72px,12vw,140px) var(--nbr-pad)}
.nbr-hero__inner .nbr-max{max-width:640px}
.nbr-hero .nbr-red-word{color:var(--nbr-red)}
@keyframes nbr-drift{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.12) translateX(-1.5%)}}
@media(prefers-reduced-motion:reduce){.nbr-hero__img{animation:none}}

/* page hero (inner pages) */
.nbr-pagehero{position:relative;overflow:hidden;background:var(--nbr-navy);color:#fff;text-align:center}
.nbr-pagehero::before{content:"";position:absolute;inset:0;opacity:.07;background-image:repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.9) 46px 48px)}
.nbr-pagehero__inner{position:relative;max-width:900px;margin-inline:auto;padding:clamp(64px,10vw,120px) var(--nbr-pad)}
.nbr-crumb{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.nbr-crumb a{color:rgba(255,255,255,.6)}
.nbr-crumb a:hover{color:#fff;text-decoration:none}

/* ---------- generic grids ---------- */
.nbr-cols{display:grid;gap:2.5rem}
@media(min-width:768px){.nbr-cols--3{grid-template-columns:repeat(3,1fr)}.nbr-cols--2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nbr-cols--4{grid-template-columns:repeat(4,1fr)}}

.nbr-headrow{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:3rem}

/* trust / value blocks */
.nbr-trust{border-top:2px solid rgba(30,43,94,.1);padding-top:1.5rem}
.nbr-trust h3{margin-top:1rem}
.nbr-trust p{margin:.5rem 0 0;font-size:.9rem;color:var(--nbr-steel)}

/* ---------- product grid (10 icon cards) ---------- */
.nbr-prodgrid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--nbr-line);border:1px solid var(--nbr-line)}
@media(min-width:640px){.nbr-prodgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nbr-prodgrid{grid-template-columns:repeat(5,1fr)}}
.nbr-prod{display:flex;flex-direction:column;background:#fff;padding:1.5rem;transition:background .15s,color .15s}
.nbr-prod h3{font-size:.9rem;font-weight:700;margin:1rem 0 0;line-height:1.35}
.nbr-prod p{font-size:.78rem;color:var(--nbr-steel);margin:.5rem 0 0;line-height:1.55}
.nbr-prod:hover{background:var(--nbr-navy)}
.nbr-prod:hover h3{color:#fff}
.nbr-prod:hover p{color:rgba(255,255,255,.7)}
.nbr-prod:hover .nbr-ico{color:#fff}

/* products full grid (inner page, 3-col with lists) */
.nbr-catgrid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--nbr-line);border:1px solid var(--nbr-line)}
@media(min-width:640px){.nbr-catgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nbr-catgrid{grid-template-columns:repeat(3,1fr)}}
.nbr-cat{background:#fff;padding:2rem;display:flex;flex-direction:column}
.nbr-cat h2,.nbr-cat h3{font-size:1.05rem;margin:1.25rem 0 0}
.nbr-cat>p{font-size:.88rem;color:var(--nbr-steel);margin:.5rem 0 0}
.nbr-cat ul{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--nbr-line);display:flex;flex-direction:column;gap:.6rem}
.nbr-cat li{display:flex;gap:.6rem;font-size:.85rem;color:var(--nbr-steel)}
.nbr-cat li svg{width:16px;height:16px;flex:none;margin-top:.2rem;stroke:var(--nbr-red);stroke-width:2.5;fill:none}

/* ---------- services list (numbered) ---------- */
.nbr-svc{display:flex;flex-direction:column}
.nbr-svc li{border-top:1px solid var(--nbr-line)}
.nbr-svc li:first-child{border-top:0}
.nbr-svc a,.nbr-svc .nbr-svc__row{display:flex;gap:1.25rem;padding:1.25rem 0;align-items:flex-start}
.nbr-svc h3{font-size:1rem;margin:0}
.nbr-svc p{font-size:.88rem;color:var(--nbr-steel);margin:.25rem 0 0}

/* alternating media rows (services / solutions inner pages) */
.nbr-media-rows{display:flex;flex-direction:column;gap:clamp(48px,8vw,96px)}
.nbr-media-row{display:grid;gap:2rem;align-items:center}
@media(min-width:1024px){.nbr-media-row{grid-template-columns:1fr 1fr;gap:4rem}.nbr-media-row--flip>*:first-child{order:2}}
.nbr-media-row__media img,.nbr-media-row__media .nbr-ph{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.nbr-ph{background:var(--nbr-navy);display:flex;align-items:center;justify-content:center}
.nbr-ph .nbr-ico{width:72px;height:72px;color:var(--nbr-red)}

/* ---------- industries ---------- */
.nbr-indgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--nbr-line);border:1px solid var(--nbr-line)}
@media(min-width:1024px){.nbr-indgrid{grid-template-columns:repeat(4,1fr)}}
.nbr-ind{background:#fff;padding:2.5rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.nbr-ind h3{margin:1rem 0 0;font-size:1rem}
.nbr-ind .nbr-hr{margin:.75rem auto 0;width:32px}

/* ---------- process ---------- */
.nbr-steps{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:640px){.nbr-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nbr-steps{grid-template-columns:repeat(4,1fr)}}
.nbr-step{position:relative;border-top:2px solid rgba(30,43,94,.12);padding-top:1.5rem}
.nbr-step::before{content:"";position:absolute;top:-2px;left:0;width:40px;height:2px;background:var(--nbr-red)}
.nbr-step h3{margin:1rem 0 0;font-size:1rem}
.nbr-step p{font-size:.85rem;color:var(--nbr-steel);margin:.5rem 0 0}

/* ---------- FAQ (details/summary) ---------- */
.nbr-faq{max-width:820px;margin-inline:auto}
.nbr-faq details{border-bottom:1px solid var(--nbr-line)}
.nbr-faq summary{list-style:none;cursor:pointer;padding:1.15rem 2.25rem 1.15rem 0;position:relative;font-weight:600;color:var(--nbr-navy)}
.nbr-faq summary::-webkit-details-marker{display:none}
.nbr-faq summary::after{content:"";position:absolute;right:4px;top:1.35rem;width:9px;height:9px;border-right:2px solid var(--nbr-red);border-bottom:2px solid var(--nbr-red);transform:rotate(45deg);transition:transform .2s}
.nbr-faq details[open] summary::after{transform:rotate(-135deg)}
.nbr-faq details p{padding:0 0 1.2rem;color:var(--nbr-steel);font-size:.95rem}

/* ---------- CTA band ---------- */
.nbr-cta{background:var(--nbr-navy);color:#fff;text-align:center}
.nbr-cta__inner{max-width:900px;margin-inline:auto;padding:clamp(56px,9vw,96px) var(--nbr-pad);display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.nbr-cta h2{color:#fff}
.nbr-cta .nbr-lead{color:rgba(255,255,255,.75);text-align:center}

/* ---------- stats ---------- */
.nbr-stats{display:grid;grid-template-columns:1fr;gap:1px;background:var(--nbr-line);border:1px solid var(--nbr-line);text-align:center}
@media(min-width:640px){.nbr-stats{grid-template-columns:repeat(3,1fr)}}
.nbr-stat{background:#fff;padding:2.5rem 1.5rem}
.nbr-stat b{display:block;font-size:2.25rem;font-weight:800;color:var(--nbr-navy);letter-spacing:-.02em}
.nbr-stat span{font-size:.85rem;color:var(--nbr-steel)}

/* ---------- contact ---------- */
.nbr-contact-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.nbr-contact-grid{grid-template-columns:3fr 2fr;gap:4rem}}
.nbr-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}
.nbr-field label{font-weight:600;color:var(--nbr-navy);font-size:.9rem}
.nbr-field input,.nbr-field select,.nbr-field textarea{
  font:inherit;font-size:.95rem;padding:.7rem .8rem;border:1px solid var(--nbr-line);
  border-radius:var(--nbr-radius);background:#fff;color:var(--nbr-ink);min-height:44px;
}
.nbr-field textarea{min-height:140px;resize:vertical}
.nbr-field--2{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:640px){.nbr-field--2{grid-template-columns:1fr 1fr}}
.nbr-contact-list{display:flex;flex-direction:column;gap:1.25rem;font-size:.92rem;color:var(--nbr-steel)}
.nbr-contact-list li{display:flex;gap:.75rem}
.nbr-contact-list svg{width:20px;height:20px;flex:none;margin-top:.15rem;stroke:var(--nbr-red);stroke-width:2;fill:none}
.nbr-map{border:1px solid var(--nbr-line);overflow:hidden}
.nbr-map iframe{width:100%;height:288px;border:0;display:block}

/* =====================================================================
   Built-in site header / footer  (Customizer can switch these off)
   ===================================================================== */
.nbr-header{position:sticky;top:0;z-index:50;background:var(--nbr-navy);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nbr-header__bar{max-width:var(--nbr-container);margin-inline:auto;padding:0 var(--nbr-pad);height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nbr-logo{display:flex;align-items:center;gap:.65rem;color:#fff}
.nbr-logo:hover{text-decoration:none}
.nbr-logo__mark{width:40px;height:40px;background:var(--nbr-red);display:flex;align-items:center;justify-content:center;flex:none}
.nbr-logo__mark svg{width:22px;height:22px;stroke:#fff;stroke-width:2.2;fill:none}
.nbr-logo__text b{display:block;font-size:1.125rem;font-weight:800;letter-spacing:-.01em;line-height:1;color:#fff}
.nbr-logo__text span{display:block;font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:.15rem}
.nbr-logo img{max-height:44px;width:auto}
.nbr-nav{display:none;align-items:center;gap:1.75rem}
.nbr-nav a{color:rgba(255,255,255,.72);font-size:.9rem;font-weight:500}
.nbr-nav a:hover,.nbr-nav .current-menu-item>a,.nbr-nav .current_page_item>a{color:#fff;text-decoration:none}
.nbr-nav ul{display:flex;gap:1.75rem;margin:0;padding:0;list-style:none}
.nbr-header__cta{display:none;align-items:center;gap:1.25rem}
.nbr-header__phone{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.9);font-weight:600;font-size:.9rem}
.nbr-header__phone svg{width:16px;height:16px;stroke:var(--nbr-red);stroke-width:2.2;fill:none}
.nbr-burger{display:flex;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;color:#fff;cursor:pointer}
.nbr-burger svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}
@media(min-width:1024px){
  .nbr-nav{display:flex}
  .nbr-header__cta{display:flex}
  .nbr-burger{display:none}
}
.nbr-mobile{display:none;background:var(--nbr-navy);border-top:1px solid rgba(255,255,255,.1);padding:.5rem var(--nbr-pad) 1.25rem}
.nbr-mobile.is-open{display:block}
.nbr-mobile ul{list-style:none;margin:0;padding:0}
.nbr-mobile a{display:block;color:rgba(255,255,255,.75);padding:.75rem .25rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,.07)}
.nbr-mobile a:hover{color:#fff;text-decoration:none}
.nbr-mobile .nbr-btn{margin-top:1rem;width:100%}
@media(min-width:1024px){.nbr-mobile{display:none!important}}

.nbr-footer{background:var(--nbr-navy);color:#fff}
.nbr-footer__grid{max-width:var(--nbr-container);margin-inline:auto;padding:clamp(48px,8vw,72px) var(--nbr-pad);display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:640px){.nbr-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nbr-footer__grid{grid-template-columns:1.4fr 1fr 1.1fr 1.1fr}}
.nbr-footer h3{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 1.25rem}
.nbr-footer a{color:rgba(255,255,255,.8)}
.nbr-footer a:hover{color:#fff}
.nbr-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;font-size:.9rem}
.nbr-footer__blurb{font-size:.9rem;color:rgba(255,255,255,.7);line-height:1.7;margin-top:1.25rem}
.nbr-footer__row{display:flex;gap:.75rem;font-size:.9rem;color:rgba(255,255,255,.8)}
.nbr-footer__row svg{width:16px;height:16px;flex:none;margin-top:.2rem;stroke:var(--nbr-red);stroke-width:2.2;fill:none}
.nbr-footer__bar{border-top:1px solid rgba(255,255,255,.1)}
.nbr-footer__bar div{max-width:var(--nbr-container);margin-inline:auto;padding:1.5rem var(--nbr-pad);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.5)}

/* ---------- WP core / editor niceties ---------- */
.nbr-body .alignwide{max-width:1100px;margin-inline:auto}
.nbr-body .alignfull{max-width:none}
.nbr-body .wp-block-button__link{background:var(--nbr-red);border-radius:var(--nbr-radius);font-weight:600}
.nbr-body .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--nbr-navy);color:var(--nbr-navy)}
.nbr-post{max-width:820px;margin-inline:auto;padding-block:var(--nbr-section-y)}
.nbr-post h1{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:1rem}
.nbr-skip{position:absolute;left:-9999px}
.nbr-skip:focus{left:1rem;top:1rem;z-index:100;background:var(--nbr-red);color:#fff;padding:.6rem 1rem;border-radius:var(--nbr-radius)}
:where(.nbr-body) :focus-visible{outline:3px solid var(--nbr-red);outline-offset:2px}

@media(prefers-reduced-motion:reduce){
  .nbr-body *,.nbr-scope *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
