/** Shopify CDN: Minification failed

Line 25:15 Expected identifier but found whitespace
Line 25:17 Unexpected "{"
Line 25:27 Expected ":"
Line 29:12 Expected identifier but found whitespace
Line 29:14 Unexpected "{"
Line 29:24 Expected ":"
Line 31:13 Expected identifier but found whitespace
Line 31:15 Unexpected "{"
Line 31:25 Expected ":"
Line 33:15 Expected identifier but found whitespace
... and 38 more hidden warnings

**/
/**
 * NuTech Solutions — Premium Design System
 * Built on Shopify Horizon. Enterprise tech aesthetic.
 * Colors, type, surfaces, cards, CTAs, and motion tokens.
 */

:root {
  /* Brand palette — editable via Theme editor (NuTech Solutions settings group).
     Falls back to brand defaults when the setting is empty. */
  --nt-primary: {{ settings.nt_primary | default: '#0b5fff' }};
  --nt-primary-hover: color-mix(in srgb, var(--nt-primary) 82%, #000);
  --nt-primary-soft: color-mix(in srgb, var(--nt-primary) 8%, transparent);
  --nt-primary-glow: color-mix(in srgb, var(--nt-primary) 22%, transparent);
  --nt-navy: {{ settings.nt_navy | default: '#071a2e' }};
  --nt-navy-soft: color-mix(in srgb, var(--nt-navy) 70%, #000);
  --nt-black: {{ settings.nt_black | default: '#101010' }};
  --nt-white: #ffffff;
  --nt-gray-50: {{ settings.nt_gray | default: '#f6f7f9' }};
  --nt-gray-100: #eef0f4;
  --nt-gray-200: {{ settings.nt_border | default: '#e6e8ec' }};
  --nt-gray-400: #9aa3b2;
  --nt-gray-600: #5b6575;
  --nt-gray-800: #1f2937;
  --nt-success: {{ settings.nt_success | default: '#14ae5c' }};
  --nt-success-soft: color-mix(in srgb, var(--nt-success) 12%, transparent);
  --nt-warning: {{ settings.nt_warning | default: '#f59e0b' }};
  --nt-warning-soft: color-mix(in srgb, var(--nt-warning) 12%, transparent);
  --nt-danger: {{ settings.nt_danger | default: '#dc2626' }};
  --nt-danger-soft: color-mix(in srgb, var(--nt-danger) 12%, transparent);

  /* Surfaces & elevation */
  --nt-radius-sm: 8px;
  --nt-radius: 14px;
  --nt-radius-lg: 18px;
  --nt-radius-xl: 24px;
  --nt-radius-pill: 999px;
  --nt-shadow-xs: 0 1px 2px rgba(7, 26, 46, 0.04);
  --nt-shadow-sm: 0 2px 8px rgba(7, 26, 46, 0.06);
  --nt-shadow-md: 0 8px 24px rgba(7, 26, 46, 0.08);
  --nt-shadow-lg: 0 16px 40px rgba(7, 26, 46, 0.12);
  --nt-shadow-primary: 0 10px 28px rgba(11, 95, 255, 0.28);

  /* Motion */
  --nt-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --nt-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --nt-duration-fast: 150ms;
  --nt-duration: 250ms;
  --nt-duration-slow: 400ms;

  /* Layout */
  --nt-section-pad-y: clamp(3rem, 5vw, 5rem);
  --nt-section-pad-x: clamp(1rem, 3vw, 1.5rem);
  --nt-content-max: 1280px;
  --nt-gap: 1.25rem;
}

/* ─── Global refinements ─────────────────────────────────── */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--nt-primary-soft);
  color: var(--nt-navy);
}

/* Focus rings — accessible, brand-aligned */
:focus-visible {
  outline: 2px solid var(--nt-primary);
  outline-offset: 2px;
}

/* ─── Buttons ────────────────────────────────────────────── */

.button,
button.shopify-payment-button__button--unbranded,
.product-form-buttons .add-to-cart-button,
.quick-add__button,
.cart__checkout-button {
  border-radius: var(--nt-radius) !important;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition:
    background-color var(--nt-duration) var(--nt-ease),
    border-color var(--nt-duration) var(--nt-ease),
    color var(--nt-duration) var(--nt-ease),
    box-shadow var(--nt-duration) var(--nt-ease),
    transform var(--nt-duration-fast) var(--nt-ease);
}

.button:hover,
button.shopify-payment-button__button--unbranded:hover {
  transform: translateY(-1px);
}

.button:active {
  transform: translateY(0);
}

/* Primary CTA emphasis when palette uses accent */
.nutech-btn,
.nutech-btn--primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.875rem 1.5rem;
  background: var(--nt-primary);
  color: var(--nt-white);
  border: none;
  border-radius: var(--nt-radius);
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  box-shadow: var(--nt-shadow-primary);
  transition:
    background-color var(--nt-duration) var(--nt-ease),
    box-shadow var(--nt-duration) var(--nt-ease),
    transform var(--nt-duration-fast) var(--nt-ease);
}

.nutech-btn:hover {
  background: var(--nt-primary-hover);
  color: var(--nt-white);
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(11, 95, 255, 0.35);
}

.nutech-btn--secondary {
  background: transparent;
  color: var(--nt-white);
  border: 1.5px solid rgba(255, 255, 255, 0.45);
  box-shadow: none;
}

.nutech-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--nt-white);
  color: var(--nt-white);
  box-shadow: none;
}

.nutech-btn--ghost {
  background: var(--nt-white);
  color: var(--nt-navy);
  border: 1.5px solid var(--nt-gray-200);
  box-shadow: var(--nt-shadow-xs);
}

.nutech-btn--ghost:hover {
  border-color: var(--nt-primary);
  color: var(--nt-primary);
  background: var(--nt-white);
  box-shadow: var(--nt-shadow-sm);
}

.nutech-btn--sm {
  min-height: 40px;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: var(--nt-radius-sm);
}

/* ─── Product cards ──────────────────────────────────────── */

.product-card {
  border-radius: var(--nt-radius-lg);
  background: var(--nt-white);
  border: 1px solid var(--nt-gray-200);
  overflow: hidden;
  transition:
    border-color var(--nt-duration) var(--nt-ease),
    box-shadow var(--nt-duration) var(--nt-ease),
    transform var(--nt-duration) var(--nt-ease);
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card:hover {
    border-color: rgba(11, 95, 255, 0.35);
    box-shadow: var(--nt-shadow-md);
    transform: translateY(-3px);
  }
}

.product-card .card-gallery,
.product-card .product-card__image {
  border-radius: var(--nt-radius) var(--nt-radius) 0 0;
  background: var(--nt-gray-50);
}

/* Sale badges */
.badge,
.product-badges__badge,
.price-badge {
  border-radius: var(--nt-radius-pill) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  font-size: 0.6875rem;
  text-transform: uppercase;
}

/* ─── Collection cards ───────────────────────────────────── */

.collection-card {
  border-radius: var(--nt-radius-lg);
  overflow: hidden;
  transition:
    box-shadow var(--nt-duration) var(--nt-ease),
    transform var(--nt-duration) var(--nt-ease);
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .collection-card:hover {
    box-shadow: var(--nt-shadow-md);
    transform: translateY(-2px);
  }
}

/* ─── Announcement bar ───────────────────────────────────── */

.announcement-bar {
  background: var(--nt-navy) !important;
  color: var(--nt-white) !important;
  border-block-end: none !important;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.announcement-bar a {
  color: var(--nt-white);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ─── Header polish ──────────────────────────────────────── */

.header-section,
header-component {
  --header-bg: var(--nt-white);
}

#header-group {
  box-shadow: 0 1px 0 var(--nt-gray-200);
}

/* Sticky header glass */
header-component[data-sticky-state='active'] {
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
}

/* ─── Section utilities ──────────────────────────────────── */

.nutech-section {
  padding-block: var(--nt-section-pad-y);
  padding-inline: var(--nt-section-pad-x);
}

.nutech-section--flush {
  padding-block: 0;
}

.nutech-section--navy {
  background: var(--nt-navy);
  color: var(--nt-white);
}

.nutech-section--gray {
  background: var(--nt-gray-50);
}

.nutech-section--white {
  background: var(--nt-white);
}

.nutech-container {
  width: 100%;
  max-width: var(--nt-content-max);
  margin-inline: auto;
}

.nutech-section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.nutech-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.75rem;
  padding: 0.3rem 0.75rem;
  background: var(--nt-primary-soft);
  color: var(--nt-primary);
  border-radius: var(--nt-radius-pill);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.nutech-eyebrow--light {
  background: rgba(11, 95, 255, 0.18);
  color: #7eb0ff;
}

.nutech-heading {
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--nt-navy);
}

.nutech-heading--light {
  color: var(--nt-white);
}

.nutech-subheading {
  margin: 0.5rem 0 0;
  max-width: 36rem;
  color: var(--nt-gray-600);
  font-size: 1.0625rem;
  line-height: 1.55;
  font-weight: 400;
}

.nutech-subheading--light {
  color: rgba(255, 255, 255, 0.72);
}

.nutech-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--nt-primary);
  font-weight: 600;
  font-size: 0.9375rem;
  text-decoration: none;
  transition: gap var(--nt-duration) var(--nt-ease);
}

.nutech-link:hover {
  gap: 0.55rem;
  color: var(--nt-primary-hover);
}

.nutech-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ─── Cards (generic) ────────────────────────────────────── */

.nutech-card {
  background: var(--nt-white);
  border: 1px solid var(--nt-gray-200);
  border-radius: var(--nt-radius-lg);
  box-shadow: var(--nt-shadow-xs);
  transition:
    border-color var(--nt-duration) var(--nt-ease),
    box-shadow var(--nt-duration) var(--nt-ease),
    transform var(--nt-duration) var(--nt-ease);
}

.nutech-card:hover {
  border-color: rgba(11, 95, 255, 0.3);
  box-shadow: var(--nt-shadow-md);
  transform: translateY(-2px);
}

.nutech-card--dark {
  background: var(--nt-navy-soft);
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--nt-white);
}

.nutech-card--dark:hover {
  border-color: rgba(11, 95, 255, 0.5);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

/* ─── Trust / icon feature ───────────────────────────────── */

.nutech-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--nt-radius);
  background: var(--nt-primary-soft);
  color: var(--nt-primary);
  flex-shrink: 0;
}

.nutech-icon-wrap svg {
  width: 24px;
  height: 24px;
}

/* ─── Price styling ──────────────────────────────────────── */

.price,
.product-price {
  font-variant-numeric: tabular-nums;
}

.price__sale,
.price-item--sale {
  color: var(--nt-primary);
  font-weight: 700;
}

/* ─── Inputs ─────────────────────────────────────────────── */

input,
textarea,
select,
.field__input {
  border-radius: var(--nt-radius-sm) !important;
}

input:focus,
textarea:focus,
select:focus,
.field__input:focus {
  border-color: var(--nt-primary) !important;
  box-shadow: 0 0 0 3px var(--nt-primary-soft);
}

/* ─── Cart drawer polish ─────────────────────────────────── */

cart-drawer-component,
.cart-drawer {
  --drawer-radius: var(--nt-radius-lg);
}

/* ─── Footer ─────────────────────────────────────────────── */

footer {
  background: var(--nt-navy);
  color: rgba(255, 255, 255, 0.85);
}

footer a {
  transition: color var(--nt-duration-fast) var(--nt-ease);
}

footer a:hover {
  color: var(--nt-white);
}

/* ─── Stock / status chips ───────────────────────────────── */

.nutech-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.65rem;
  border-radius: var(--nt-radius-pill);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
}

.nutech-chip--success {
  background: var(--nt-success-soft);
  color: #0a7a40;
}

.nutech-chip--danger {
  background: var(--nt-danger-soft);
  color: #b91c1c;
}

.nutech-chip--warning {
  background: var(--nt-warning-soft);
  color: #b45309;
}

.nutech-chip--info {
  background: var(--nt-primary-soft);
  color: var(--nt-primary);
}

/* ─── Hero media fallback ────────────────────────────────── */

.nutech-hero__media-fallback {
  background:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(11, 95, 255, 0.35) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(11, 95, 255, 0.15) 0%, transparent 50%),
    linear-gradient(145deg, #071a2e 0%, #0c243d 45%, #101010 100%);
}

/* ─── Reduced motion ─────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .nutech-btn:hover,
  .product-card:hover,
  .nutech-card:hover {
    transform: none;
  }
}

/* ─── Utility ────────────────────────────────────────────── */

.nutech-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nutech-grid {
  display: grid;
  gap: var(--nt-gap);
}

@media (min-width: 750px) {
  .nutech-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .nutech-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .nutech-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 990px) {
  .nutech-grid--6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .nutech-grid--8 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1200px) {
  .nutech-grid--8 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ─── Product page polish ────────────────────────────────── */

.product-information,
.product-details {
  --product-radius: var(--nt-radius-lg);
}

.product-media-container,
.product-media,
.media-gallery__grid img,
.product-media img {
  border-radius: var(--nt-radius) !important;
}

/* Sticky ATC / buy area breathing room */
.buy-buttons-block,
.product-form-buttons {
  gap: 0.75rem;
}

/* Collection filters / facets */
.facets-block,
.facets,
.facets-drawer {
  --facet-radius: var(--nt-radius);
}

/* Search results cards */
.predictive-search-results__card {
  border-radius: var(--nt-radius);
}

/* Cart line polish */
.cart-items,
.cart-drawer__items {
  --cart-item-radius: var(--nt-radius);
}

/* Main content top spacing consistency */
.content-for-layout > .shopify-section:first-child {
  scroll-margin-top: var(--header-group-height, 0px);
}

/* Links in RTE */
.rte a {
  color: var(--nt-primary);
  text-underline-offset: 2px;
}

.rte a:hover {
  color: var(--nt-primary-hover);
}

/* Announcement bar text contrast on navy */
.announcement-bar,
.announcement-bar * {
  color: #ffffff !important;
}

/* Ensure primary buttons use brand blue when theme palette is set */
.button:not(.button-secondary):not(.button-unstyled):not(.link) {
  font-weight: 600;
}

/* ─── Theme-editor brand overrides ─────────────────────────── */
/* These map merchant-editable NuTech Brand settings (Settings > NuTech Brand,
   ids nt_*) onto the design-system CSS custom properties, so changing a color
   in the theme editor updates the whole storefront without touching code.
   snippets/nutech-brand-variables.liquid renders the same overrides inline in
   <head> and takes precedence; this block is the self-contained fallback. */
:root {
  --nt-primary: {{ settings.nt_primary | default: '#0B5FFF' }};
  --nt-navy: {{ settings.nt_navy | default: '#071A2E' }};
  --nt-black: {{ settings.nt_black | default: '#101010' }};
  --nt-gray-50: {{ settings.nt_light_gray | default: '#F6F7F9' }};
  --nt-gray-200: {{ settings.nt_border | default: '#E6E8EC' }};
  --nt-success: {{ settings.nt_success | default: '#14AE5C' }};
  --nt-warning: {{ settings.nt_warning | default: '#F59E0B' }};
  --nt-danger: {{ settings.nt_danger | default: '#DC2626' }};
}

/* Derived hover / soft variants computed from the editor colors */
:root {
  --nt-primary-hover: color-mix(in srgb, var(--nt-primary) 82%, #000 18%);
  --nt-primary-soft: color-mix(in srgb, var(--nt-primary) 8%, transparent);
  --nt-primary-glow: color-mix(in srgb, var(--nt-primary) 22%, transparent);
  --nt-success-soft: color-mix(in srgb, var(--nt-success) 12%, transparent);
  --nt-warning-soft: color-mix(in srgb, var(--nt-warning) 12%, transparent);
  --nt-danger-soft: color-mix(in srgb, var(--nt-danger) 12%, transparent);
  --nt-shadow-primary: 0 10px 28px color-mix(in srgb, var(--nt-primary) 28%, transparent);
  --nt-gray-100: color-mix(in srgb, var(--nt-gray-200) 50%, #fff 50%);
  --nt-gray-400: color-mix(in srgb, var(--nt-navy) 35%, #fff 65%);
  --nt-gray-600: color-mix(in srgb, var(--nt-navy) 40%, #9aa3b2 60%);
  --nt-gray-800: color-mix(in srgb, var(--nt-navy) 90%, #fff 10%);
  --nt-navy-soft: color-mix(in srgb, var(--nt-navy) 60%, #000 40%);
}

/* VAT note — used by nutech-vat-note snippet across PDP, collection, cart */
.nutech-vat-note {
  display: inline-block;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--nt-gray-600);
}

.tax-info,
.nutech-vat-note--inline {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
