:root {
  --nit-bg: #007d7b;
  --nit-window: #faf9f6;
  --nit-blue: #000080;
  --nit-gray: #808080;
  --nit-text: #071821;
  --nit-amber: #ffa103;
  --nit-gb-green: #86c06c;
  --nit-gb-light: #e0f8cf;

  --font-ui: "JetBrains Mono", "Courier New", monospace;
  --font-pixel: "Press Start 2P", monospace;
  --font-brand: "Bauhaus 93", Arial, sans-serif;
  --font-gb: "Pixel It Gameboy Font", monospace;

  --outer-border: 3px solid #0f2430;
  --inner-border: 3px solid #233847;
  --shadow-ui: inset 1px 1px 0 rgba(250,249,246,.45), inset -1px -1px 0 rgba(0,0,0,.18);
}

* { box-sizing: border-box; }
html { margin: 0; }
body {
  margin: 0;
  background: var(--nit-bg);
  color: var(--nit-text);
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.6;
}

a { color: var(--nit-blue); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }

img { max-width: 100%; height: auto; }

.site-shell {
  width: min(1280px, calc(100% - 20px));
  margin: 12px auto;
}

.shell-panel {
  border: var(--outer-border);
  background: #c9c9c9;
  box-shadow: var(--shadow-ui);
}

.shell-panel--blue {
  background: var(--nit-blue);
  color: #faf9f6;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.18), inset -1px -1px 0 rgba(0,0,0,.45);
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  min-height: 42px;
}
.topbar__brand {
  min-width: 0;
}
.topbar__brand-link,
.topbar__brand-link:visited {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  color: #faf9f6;
  text-decoration: none;
  min-width: 0;
}
.topbar__brand-link:hover,
.topbar__brand-link:focus {
  text-decoration: none;
}
.topbar__brand-text {
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 14px;
  text-transform: uppercase;
  line-height: 1.35;
  padding-left: 4px;
  white-space: normal;
  word-break: break-word;
}
.topbar__clock {
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 12px;
}
.topbar__logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.topbar__logo .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.topbar .custom-logo { max-height: 44px; width: auto; display: block; }

.shell-grid {
  display: grid;
  grid-template-columns: 1fr 278px;
  gap: 18px;
  margin-top: 16px;
}

.shell-main { grid-column: 1; grid-row: 1; }
.shell-sidebar { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 16px; }
.shell-widget {
  border: var(--outer-border);
  background: #bfbfbf;
}
.module-title {
  margin: 0;
  padding: 10px 10px 8px;
  background: var(--nit-blue);
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.module-content,
.widget_text,
.widget_block,
.widget_recent_entries,
.widget_categories,
.widget_archive,
.widget_meta,
.widget_nav_menu,
.widget_product_categories {
  padding: 12px 10px;
}
.module-content p:first-child { margin-top: 0; }
.module-content p:last-child { margin-bottom: 0; }
.module-content--links a {
  display: block;
  margin: 0 0 7px;
}

.shell-menu,
.shell-menu ul,
.page_item_has_children > ul,
.menu {
  list-style: none;
  margin: 0;
  padding: 8px;
}
.shell-menu li,
.menu li,
.wp-page-menu li {
  margin: 0 0 8px;
}
.shell-menu a,
.menu a,
.wp-page-menu a {
  display: block;
  padding: 11px 12px;
  border: 3px solid #1d2b38;
  background: var(--nit-blue);
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 12px;
  text-transform: uppercase;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.25), inset -1px -1px 0 rgba(0,0,0,.38);
}
.shell-menu .current-menu-item > a,
.shell-menu .current_page_item > a,
.menu .current-menu-item > a,
.wp-page-menu .current_page_item > a {
  background: #d9e0e8;
  color: var(--nit-text);
}


/* Primary menu: submenus open only for the selected branch or explicit toggle */
.shell-menu li,
.menu li,
.wp-page-menu li {
  position: relative;
}

.shell-menu li.menu-item-has-children > ul,
.shell-menu li.page_item_has_children > ul,
.menu li.menu-item-has-children > ul,
.wp-page-menu li.page_item_has_children > ul {
  display: none;
  margin: 8px 0 0;
  padding: 0 0 0 12px;
}

.shell-menu li.current-menu-ancestor > ul,
.shell-menu li.current-menu-parent > ul,
.shell-menu li.current_page_ancestor > ul,
.shell-menu li.current_page_parent > ul,
.shell-menu li.current_page_item > ul,
.shell-menu li.submenu-open > ul,
.menu li.current-menu-ancestor > ul,
.menu li.current-menu-parent > ul,
.menu li.submenu-open > ul,
.wp-page-menu li.current_page_ancestor > ul,
.wp-page-menu li.current_page_parent > ul,
.wp-page-menu li.current_page_item > ul,
.wp-page-menu li.submenu-open > ul {
  display: block;
}

.shell-menu ul li,
.menu ul li,
.wp-page-menu ul li {
  margin: 0 0 6px;
}

.shell-menu ul a,
.menu ul a,
.wp-page-menu ul a {
  margin-left: 16px;
  padding: 9px 12px;
  background: #000080;
  border-width: 2px;
  text-align: left;
  font-size: 11px;
  position: relative;
  color: #faf9f6;
}

.shell-menu ul a::before,
.menu ul a::before,
.wp-page-menu ul a::before {
  content: '';
}

.shell-menu li.menu-item-has-children > a,
.shell-menu li.page_item_has_children > a,
.menu li.menu-item-has-children > a,
.wp-page-menu li.page_item_has_children > a {
  padding-right: 34px;
}

.shell-menu .submenu-toggle,
.menu .submenu-toggle,
.wp-page-menu .submenu-toggle {
  position: absolute;
  top: 11px;
  right: 12px;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  appearance: none !important;
  color: var(--nit-amber) !important;
  font-family: var(--font-pixel) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer;
  z-index: 3;
}

.shell-menu .submenu-toggle:hover,
.shell-menu .submenu-toggle:focus,
.menu .submenu-toggle:hover,
.menu .submenu-toggle:focus,
.wp-page-menu .submenu-toggle:hover,
.wp-page-menu .submenu-toggle:focus {
  color: var(--nit-amber) !important;
  text-decoration: none !important;
  outline: none !important;
}

.shell-menu .submenu-toggle .submenu-toggle__icon,
.menu .submenu-toggle .submenu-toggle__icon,
.wp-page-menu .submenu-toggle .submenu-toggle__icon {
  display: block;
  width: auto;
  height: auto;
  line-height: 1;
}

.shell-menu li.submenu-open > .submenu-toggle .submenu-toggle__icon::before,
.shell-menu li.current-menu-ancestor > .submenu-toggle .submenu-toggle__icon::before,
.shell-menu li.current-menu-parent > .submenu-toggle .submenu-toggle__icon::before,
.shell-menu li.current_page_ancestor > .submenu-toggle .submenu-toggle__icon::before,
.shell-menu li.current_page_parent > .submenu-toggle .submenu-toggle__icon::before,
.shell-menu li.current_page_item > .submenu-toggle .submenu-toggle__icon::before,
.menu li.submenu-open > .submenu-toggle .submenu-toggle__icon::before,
.menu li.current-menu-ancestor > .submenu-toggle .submenu-toggle__icon::before,
.menu li.current-menu-parent > .submenu-toggle .submenu-toggle__icon::before,
.wp-page-menu li.submenu-open > .submenu-toggle .submenu-toggle__icon::before,
.wp-page-menu li.current_page_ancestor > .submenu-toggle .submenu-toggle__icon::before,
.wp-page-menu li.current_page_parent > .submenu-toggle .submenu-toggle__icon::before,
.wp-page-menu li.current_page_item > .submenu-toggle .submenu-toggle__icon::before {
  content: '–';
}

.shell-menu .submenu-toggle .submenu-toggle__icon::before,
.menu .submenu-toggle .submenu-toggle__icon::before,
.wp-page-menu .submenu-toggle .submenu-toggle__icon::before {
  content: '+';
}

.shell-menu ul .current-menu-item > a,
.shell-menu ul .current_page_item > a,
.menu ul .current-menu-item > a,
.wp-page-menu ul .current_page_item > a {
  background: #d9e0e8;
  color: var(--nit-text);
}

.shell-search-form,
.shell-newsletter {
  padding: 8px;
}
.shell-search-field,
.shell-newsletter input,
.woocommerce form .input-text,
.select2-container--default .select2-selection--single,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"] {
  width: 100%;
  border: 3px solid #1d2b38;
  background: #e5e5e5;
  color: var(--nit-text);
  padding: 11px 10px;
  font-family: var(--font-ui);
  font-size: 15px;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.4), inset -1px -1px 0 rgba(0,0,0,.12);
}

button,
input[type="submit"],
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border: 3px solid #071821 !important;
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  padding: 12px 14px !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
  border-radius: 0 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.25), inset -1px -1px 0 rgba(0,0,0,.38);
}
button:hover,
input[type="submit"]:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  filter: brightness(1.07);
}

.shell-main { min-width: 0; }
.content-window {
  background: #bfbfbf;
}
.content-window__title {
  padding: 12px 14px;
  font-family: var(--font-pixel);
  font-size: 12px;
  text-transform: uppercase;
}
.content-window__body {
  margin: 8px;
  min-height: 600px;
  background: #d9d9dc;
  border: var(--inner-border);
  padding: 22px;
}

.shell-empty-state {
  font-family: var(--font-ui);
  font-weight: 500;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.shell-entry,
.shell-single,
.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce-cart-form,
.woocommerce .cart-collaterals,
.woocommerce-account .woocommerce,
.woocommerce-checkout form.checkout,
.woocommerce table.shop_table,
.comment-body {
  border: 3px solid #1d2b38;
  background: var(--nit-window);
  padding: 18px;
  margin-bottom: 18px;
}

.shell-entry__title,
.entry-title,
.product_title,
.woocommerce-loop-product__title {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.25;
}
.shell-entry__title a,
.entry-title a { color: var(--nit-text); }
.shell-entry__meta,
.shell-single__meta,
.archive-description,
.woocommerce-result-count,
.woocommerce-breadcrumb,
.comment-metadata,
.logged-in-as,
.comment-notes,
.woocommerce table.shop_table th {
  color: #4a5460;
  font-size: 14px;
}

.post-list-shell {
  display: grid;
  gap: 16px;
}

.page-shell-body > *:first-child,
.shell-single__content > *:first-child,
.shell-page-content > *:first-child { margin-top: 0; }
.page-shell-body > *:last-child,
.shell-single__content > *:last-child,
.shell-page-content > *:last-child { margin-bottom: 0; }

h1, h2, h3, h4, h5, h6 {
  color: var(--nit-text);
  font-family: var(--font-ui);
}

pre, code, kbd, samp {
  font-family: var(--font-ui);
  background: #d4d4d4;
}

blockquote {
  margin: 1.2em 0;
  padding: 12px 16px;
  border-left: 5px solid var(--nit-blue);
  background: rgba(250,249,246,.45);
}

table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  border: 2px solid #1d2b38;
  padding: 10px;
}
th { background: #d0d6db; }

.shell-pagination,
.nav-links {
  margin-top: 18px;
}
.nav-links .page-numbers {
  display: inline-block;
  margin-right: 8px;
  padding: 8px 10px;
  border: 2px solid #1d2b38;
  background: var(--nit-window);
}
.nav-links .current {
  background: var(--nit-blue);
  color: #faf9f6;
}

.shell-statusbar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding: 11px 10px;
  font-family: var(--font-ui);
  text-transform: uppercase;
}

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

/* Gutenberg */
.wp-block-group,
.wp-block-cover,
.wp-block-columns,
.wp-block-media-text,
.wp-block-quote,
.wp-block-table,
.wp-block-pullquote {
  margin-bottom: 1.5rem;
}
.wp-block-button__link { text-decoration: none; }

/* WooCommerce */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none !important;
  width: 100% !important;
}
.woocommerce .quantity .qty {
  max-width: 90px;
}
.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 16px !important;
}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: start !important;
  float: none !important;
  clear: none !important;
  width: 260px !important;
  max-width: 260px !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: stretch !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-MyAccount-navigation li { margin-bottom: 8px; }
.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 10px 12px;
  border: 3px solid #1d2b38;
  background: var(--nit-blue);
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 12px;
  text-transform: uppercase;
}
.woocommerce-MyAccount-navigation .is-active a {
  background: #d9e0e8;
  color: var(--nit-text);
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border: 3px solid #1d2b38;
  background: #eef2f6;
  padding: 14px 16px 14px 48px !important;
}

/* Widgets */
.widget ul {
  list-style: none;
  margin: 0;
  padding: 12px 10px;
}
.widget ul li { margin-bottom: 8px; }
.widget_calendar table { margin: 12px 10px; width: calc(100% - 20px); }

/* Mobile */
@media (max-width: 980px) {
  .shell-grid {
    grid-template-columns: 1fr;
  }
  .shell-main,
  .shell-sidebar {
    grid-column: auto;
    grid-row: auto;
  }
  .content-window__body {
    min-height: 420px;
  }
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 640px) {
  .site-shell {
    width: calc(100% - 10px);
    margin: 5px auto;
  }
  .topbar,
  .shell-statusbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .topbar__brand-text,
  .topbar__clock,
  .module-title,
  .content-window__title,
  .shell-menu a,
  .menu a,
  .wp-page-menu a,
  button,
  input[type="submit"],
  .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce-MyAccount-navigation a {
    font-size: 10px !important;
  }
  .content-window__body {
    padding: 14px;
  }
  .shell-entry__title,
  .entry-title,
  .product_title,
  .woocommerce-loop-product__title {
    font-size: 20px;
  }
}


.topbar__meta {
  display: flex;
  align-items: center;
  gap: 18px;
}

.topbar__brand-link {
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 24px;
  min-width: 0;
}
.topbar__social {
  display: flex;
  align-items: center;
}
.topbar-social-menu {
  list-style: none;
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 0;
}
.topbar-social-menu li { margin: 0; }
.topbar-social-menu a,
.topbar-social-menu a:visited {
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 11px;
  text-transform: uppercase;
  text-decoration: none;
}
.topbar-social-menu a:hover,
.topbar-social-menu a:focus {
  color: var(--nit-amber);
  text-decoration: none;
}

.content-window__title {
  display: block;
  padding: 12px 14px;
}
.shell-breadcrumbs {
  color: #d7d7ea;
  font-family: var(--font-pixel);
  font-size: 12px;
  line-height: 1.45;
  text-transform: uppercase;
  text-align: left;
}
.shell-breadcrumbs a,
.shell-breadcrumbs a:visited {
  color: #faf9f6;
}
.shell-breadcrumbs .crumb-sep,
.shell-breadcrumbs .separator {
  color: var(--nit-amber);
}

.shell-statusbar {
  align-items: center;
}
.shell-statusbar__left-group {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}
.shell-statusbar__menu {
  min-width: 0;
}
.status-menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
}
.status-menu li { margin: 0; }
.status-menu a,
.status-menu a:visited {
  color: var(--nit-text);
  text-decoration: none;
}
.status-menu a:hover,
.status-menu a:focus {
  color: var(--nit-blue);
  text-decoration: underline;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.woocommerce-Price-amount,
.price {
  color: var(--nit-blue) !important;
  font-weight: 700;
}

.woocommerce span.onsale,
.woocommerce-error,
.required,
.star-rating span::before,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before,
.woocommerce a.remove {
  color: var(--nit-amber) !important;
}
.woocommerce span.onsale {
  background: var(--nit-amber) !important;
  color: var(--nit-text) !important;
  border-radius: 0 !important;
}
.woocommerce-error {
  border-color: var(--nit-amber) !important;
}
.woocommerce a.remove:hover {
  background: var(--nit-amber) !important;
  color: var(--nit-text) !important;
}

@media (max-width: 980px) {
  .content-window__title {
    flex-direction: column;
    align-items: flex-start;
  }
  .shell-breadcrumbs {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .topbar__meta,
  .shell-statusbar__left-group,
  .topbar-social-menu,
  .status-menu {
    flex-wrap: wrap;
  }
}

.widget_product_categories .count,
.product-categories .count,
.wc-block-product-categories-list-item-count {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  margin-left: 0.35em;
  border: 0 !important;
  box-shadow: none !important;
}


/* Brand lockup fix v1.7.2 */
.topbar__brand {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1 1 auto;
}
.topbar__brand-link,
.topbar__brand-link:visited {
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 0;
  min-width: 0;
}
.topbar__logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.topbar__brand-text {
  display: block;
  min-width: 0;
  padding-left: 0;
  margin-left: 20px;
}
@media (max-width: 640px) {
  .topbar__brand-link,
  .topbar__brand-link:visited {
    gap: 0;
  }
  .topbar__brand-text {
    padding-left: 0;
    margin-left: 20px;
  }
  .topbar__clock {
    display: none;
  }
}


/* Brand text link fix v1.7.5 */
.topbar__brand-link,
.topbar__brand-link:visited,
.topbar__brand-link:hover,
.topbar__brand-link:focus,
.topbar__brand-link:active {
  text-decoration: none !important;
}


/* Video controls tune v1.7.6 */
.wp-video .mejs-container .mejs-controls,
.mejs-container .mejs-controls {
  background: var(--nit-blue) !important;
}

.wp-video .mejs-container .mejs-controls .mejs-button button,
.mejs-container .mejs-controls .mejs-button button {
  color: #faf9f6 !important;
}

.wp-video .mejs-container .mejs-controls .mejs-time,
.mejs-container .mejs-controls .mejs-time,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-current,
.mejs-container .mejs-controls .mejs-time-rail .mejs-time-current {
  color: #faf9f6 !important;
}

.wp-video .mejs-container .mejs-controls .mejs-button button::before,
.mejs-container .mejs-controls .mejs-button button::before,
.wp-video .mejs-container .mejs-controls svg,
.mejs-container .mejs-controls svg,
.wp-video .mejs-container .mejs-controls svg *,
.mejs-container .mejs-controls svg * {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: #faf9f6 !important;
}


/* NOW IN TIME OS media and icon fixes v1.7.6 */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product a img,
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img,
.nit-product-media,
.nit-product-video {
  display: block;
  width: 100%;
}

.woocommerce ul.products li.product a img,
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img,
.nit-product-media,
.nit-product-video {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  overflow: hidden;
  background: #d9d9dc;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-button__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55em;
}

.woocommerce a.button svg,
.woocommerce button.button svg,
.woocommerce input.button svg,
.wc-block-components-button svg,
.wc-block-cart__submit-button svg,
.wc-block-components-button__button svg,
.woocommerce a.button i,
.woocommerce button.button i,
.woocommerce input.button i,
.wc-block-components-button i {
  width: 1em;
  height: 1em;
  flex: 0 0 1em;
  vertical-align: middle;
  fill: currentColor;
  stroke: currentColor;
}

.woocommerce a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.mejs-container .mejs-controls .mejs-button > button,
.wp-video .mejs-container .mejs-controls .mejs-button > button {
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  background-color: transparent !important;
  min-width: 32px !important;
  width: 32px !important;
  height: 32px !important;
  opacity: 1 !important;
  color: #faf9f6 !important;
}

.mejs-container .mejs-controls .mejs-button button,
.wp-video .mejs-container .mejs-controls .mejs-button button {
  background-size: 16px 16px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.mejs__controls .mejs__button > button,
.mejs__controls .mejs__button > button:hover,
.mejs__controls .mejs__button > button:focus {
  opacity: 1 !important;
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-total,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-total {
  background: rgba(250,249,246,.25) !important;
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-loaded,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-loaded {
  background: rgba(250,249,246,.45) !important;
}

.mejs-container .mejs-controls .mejs-time-rail .mejs-time-current,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-current {
  background: #faf9f6 !important;
}


/* NOW IN TIME OS cart icon alignment fix v1.7.6 */
.woocommerce a.remove,
.woocommerce-page a.remove,
.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata__description a.remove {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

.woocommerce a.remove svg,
.woocommerce-page a.remove svg,
.woocommerce a.remove i,
.woocommerce-page a.remove i,
.woocommerce a.remove span,
.woocommerce-page a.remove span,
.wc-block-cart-item__remove-link svg,
.wc-block-cart-item__remove-link i,
.wc-block-cart-item__remove-link span {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  flex: 0 0 18px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.woocommerce a.remove::before,
.woocommerce a.remove::after,
.woocommerce-page a.remove::before,
.woocommerce-page a.remove::after,
.wc-block-cart-item__remove-link::before,
.wc-block-cart-item__remove-link::after {
  line-height: 1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}


.wp-video,
.wp-video-shortcode,
.mejs-container,
.mejs__container,
.mejs-container video,
.mejs__container video {
  width: 100% !important;
  max-width: 100% !important;
}

.nit-product-media .wp-video,
.nit-product-media .mejs-container,
.nit-product-media .mejs__container {
  aspect-ratio: 4 / 3;
  background: #d9d9dc;
}

.nit-product-media .mejs-container,
.nit-product-media .mejs__container {
  height: auto !important;
}

.nit-product-media .mejs-layers,
.nit-product-media .mejs__layers,
.nit-product-media .mejs-mediaelement,
.nit-product-media .mejs__mediaelement,
.nit-product-media .mejs-container video,
.nit-product-media .mejs__container video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* Product image quality and gallery width fix v1.7.6 */
.woocommerce div.product div.images {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 18px !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .wp-post-image,
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  width: 100% !important;
  max-width: none !important;
}

.woocommerce div.product div.images .flex-viewport {
  margin: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block !important;
}

.woocommerce div.product div.images .wp-post-image,
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img.wp-post-image,
.woocommerce div.product div.images img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover !important;
  object-position: center center !important;
  background: #d9d9dc;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 10px;
  width: 100%;
  margin: 12px 0 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover !important;
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .attachment-nowintime-4x3-md {
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 4 / 3;
  object-fit: cover !important;
  object-position: center center !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: block;
  width: 100%;
}


/* v1.7.6 actual Woo product gallery fix */
.woocommerce div.product div.images .woocommerce-product-gallery {
  min-width: 0 !important;
}

.woocommerce div.product div.images .flex-viewport {
  width: 100% !important;
  overflow: hidden !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  left: auto !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child) {
  display: block !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img,
.woocommerce div.product div.images .flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
}

/* v1.7.6 amber and system blue polish */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:visited,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:focus,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:active {
  color: var(--nit-amber) !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after {
  border-color: var(--nit-amber) !important;
}

.woocommerce .quantity .minus,
.woocommerce .quantity .plus,
.woocommerce-page .quantity .minus,
.woocommerce-page .quantity .plus,
.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__button--minus,
.wc-block-components-quantity-selector__button--plus {
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  border-color: #5f63a9 !important;
  box-shadow: inset 0 0 0 1px rgba(250,249,246,.18) !important;
  opacity: 1 !important;
}

.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover,
.woocommerce-page .quantity .minus:hover,
.woocommerce-page .quantity .plus:hover,
.wc-block-components-quantity-selector__button:hover,
.wc-block-components-quantity-selector__button--minus:hover,
.wc-block-components-quantity-selector__button--plus:hover,
.woocommerce .quantity .minus:focus,
.woocommerce .quantity .plus:focus,
.woocommerce-page .quantity .minus:focus,
.woocommerce-page .quantity .plus:focus,
.wc-block-components-quantity-selector__button:focus,
.wc-block-components-quantity-selector__button--minus:focus,
.wc-block-components-quantity-selector__button--plus:focus {
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  border-color: var(--nit-amber) !important;
}

.woocommerce .quantity .minus *,
.woocommerce .quantity .plus *,
.woocommerce-page .quantity .minus *,
.woocommerce-page .quantity .plus *,
.wc-block-components-quantity-selector__button *,
.wc-block-components-quantity-selector__button--minus *,
.wc-block-components-quantity-selector__button--plus * {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: #faf9f6 !important;
}

.woocommerce .quantity,
.wc-block-components-quantity-selector {
  accent-color: var(--nit-blue) !important;
}

.woocommerce div.product .stock,
.woocommerce div.product p.stock,
.woocommerce div.product span.stock,
.woocommerce div.product .out-of-stock,
.woocommerce ul.products li.product .outofstock,
.woocommerce ul.products li.product .stock,
.stock.out-of-stock,
.stock.in-stock,
.outofstock,
.out-of-stock,
.woocommerce-error,
.woocommerce .woocommerce-error,
.woocommerce form .form-row.woocommerce-invalid label,
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea,
.woocommerce .required,
.required,
.woocommerce-message[role="alert"],
.wc-block-components-notice-banner.is-error,
.wc-block-components-validation-error,
.wc-block-components-error,
.wc-block-components-text-input.is-error input,
.wc-block-components-combobox.is-error input {
  color: var(--nit-amber) !important;
  border-color: var(--nit-amber) !important;
}

.woocommerce div.product .stock a,
.woocommerce div.product .out-of-stock a,
.woocommerce div.product p.stock a,
.woocommerce div.product span.stock a,
.outofstock a,
.out-of-stock a {
  color: var(--nit-amber) !important;
}

/* Permanent count badge override */
.woocommerce .count {
    background: none !important;
    color: #071821 !important;
}


/* v3.8.6 align product loop buttons to card bottom */
.woocommerce ul.products li.product {
  height: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin-bottom: 0.55rem;
}

.woocommerce ul.products li.product .price {
  display: block;
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .wc-forward {
  margin-top: auto !important;
  align-self: stretch;
}


/* v3.8.8 unified shop button labels */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.single-product .single_add_to_cart_button {
  text-transform: uppercase;
}

/* v3.8.8 blog/search/category archives use 3-column card grid */
.post-grid-shell {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.shell-entry--card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.shell-entry__thumb {
  display: block;
  margin-bottom: 14px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #d4d4d4;
  border: 2px solid #1d2b38;
}

.shell-entry__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.shell-entry__body {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.shell-entry--card .shell-entry__title {
  font-size: 20px;
  line-height: 1.35;
  margin-bottom: 10px;
}

.shell-entry--card .shell-entry__excerpt {
  font-size: 15px;
  line-height: 1.6;
}

.shell-entry--card .shell-entry__excerpt > *:first-child {
  margin-top: 0;
}

.shell-entry--card .shell-entry__excerpt > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .post-grid-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .post-grid-shell {
    grid-template-columns: 1fr;
  }
}


/* v3.9.1 compact reassurance strip */
.shell-trust-strip {
  margin-top: 12px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: #d8d8db;
}

.shell-trust-strip__items,
.shell-trust-strip__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.shell-trust-strip__item,
.shell-trust-strip__actions a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border: 2px solid #1d2b38;
  background: #faf9f6;
  color: var(--nit-text);
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
}

.shell-trust-strip__item::before {
  content: '■';
  color: var(--nit-amber);
  margin-right: 8px;
  font-size: 10px;
}

.shell-trust-strip__actions a {
  background: var(--nit-blue);
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 11px;
  text-transform: uppercase;
}

.shell-trust-strip__actions a:hover,
.shell-trust-strip__actions a:focus {
  color: var(--nit-amber);
  text-decoration: underline;
}

/* v3.9.1 product listing clarity */
.nit-loop-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}

.nit-loop-badge {
  display: inline-block;
  padding: 4px 6px;
  border: 2px solid #1d2b38;
  background: #d4d4d4;
  color: var(--nit-text);
  font-family: var(--font-ui);
  font-size: 11px;
  line-height: 1.1;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 3.3em;
}

/* v3.9.1 product page reassurance */
.nit-product-summary-box {
  margin: 14px 0 18px;
  border: 3px solid #1d2b38;
  background: #d4d4d4;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.45), inset -1px -1px 0 rgba(0,0,0,.12);
}

.nit-product-summary-box__title {
  margin: 0;
  padding: 10px 12px;
  background: var(--nit-blue);
  color: #faf9f6;
  font-family: var(--font-pixel);
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
}

.nit-product-summary-box__grid {
  margin: 0;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.nit-product-summary-box__row {
  display: grid;
  grid-template-columns: minmax(110px, 140px) minmax(0, 1fr);
  gap: 8px 12px;
  align-items: start;
}

.nit-product-summary-box__row dt {
  margin: 0;
  color: #44505c;
  font-weight: 700;
}

.nit-product-summary-box__row dd {
  margin: 0;
}

.nit-product-contact-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 2px solid #1d2b38;
  background: #faf9f6;
  color: var(--nit-text);
  font-size: 14px;
}

.nit-product-contact-note a,
.nit-product-contact-note a:visited {
  color: var(--nit-blue);
}

@media (max-width: 980px) {
  .shell-trust-strip {
    flex-direction: column;
    align-items: stretch;
  }

  .nit-product-summary-box__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* v3.9.2 header trustline and product reassurance refinements */
.topbar__brand-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.topbar__trustline {
  margin-top: 4px;
  color: var(--nit-amber);
  font-family: var(--font-pixel);
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.nit-product-secure-note {
  margin: 10px 0 0;
  padding: 0;
  color: var(--nit-text);
  font-family: var(--font-ui);
  font-size: 14px;
}

.nit-product-secure-note::before {
  content: '■';
  color: var(--nit-amber);
  margin-right: 8px;
  font-size: 10px;
}

.single-product .product .single_add_to_cart_button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce div.product a.button,
.woocommerce div.product button.button,
.woocommerce div.product input.button {
  min-width: 11.5em;
}

@media (max-width: 700px) {
  .topbar__trustline {
    font-size: 9px;
  }
}


/* v3.9.4 product trust and details refinements */
.topbar__trustline {
  margin-left: 20px;
}

.single-product div.product p.price,
.single-product div.product span.price {
  display: inline-block;
  vertical-align: middle;
  margin-right: 14px;
}

.nit-product-secure-note {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin: 0 0 0 2px;
  padding: 0;
  color: var(--nit-text);
  font-family: var(--font-ui);
  font-size: 13px;
  white-space: nowrap;
}

.nit-product-contact-note a,
.nit-product-contact-note a:visited {
  color: var(--nit-blue);
}

.nit-product-additional-info-intro {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 2px solid #1d2b38;
  background: #faf9f6;
  color: var(--nit-text);
  font-size: 14px;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  vertical-align: top;
}

@media (max-width: 700px) {
  .topbar__trustline {
    margin-left: 20px;
  }

  .single-product div.product p.price,
  .single-product div.product span.price,
  .nit-product-secure-note {
    display: block;
    margin-right: 0;
  }

  .nit-product-secure-note {
    margin-top: 6px;
  }
}


/* v3.9.11 login and store notice refinements */
.woocommerce-account .u-columns,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  width: 100% !important;
  max-width: none !important;
}

.woocommerce-account .u-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after {
  display: none !important;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .col-1,
.woocommerce-account .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  min-width: 0 !important;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  min-height: 100%;
}

.woocommerce-store-notice,
p.demo_store {
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 3px solid #071821 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: #bfbfbf !important;
  color: #071821 !important;
  font-family: var(--font-ui) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-align: center !important;
  box-shadow: inset 1px 1px 0 #faf9f6, inset -1px -1px 0 #8c8c8c !important;
}

.woocommerce-store-notice a,
p.demo_store a {
  color: var(--nit-blue) !important;
  text-decoration: underline !important;
}

.admin-bar .woocommerce-store-notice,
.admin-bar p.demo_store {
  top: 32px !important;
}

@media (max-width: 782px) {
  .admin-bar .woocommerce-store-notice,
  .admin-bar p.demo_store {
    top: 46px !important;
  }
}

@media (max-width: 980px) {
  .woocommerce-account .u-columns {
    grid-template-columns: 1fr !important;
  }
}


/* v3.9.12 stronger My Account auth layout */
body.woocommerce-account:not(.logged-in) .site-main .woocommerce,
body.woocommerce-account:not(.logged-in) .entry-content .woocommerce,
body.woocommerce-account:not(.logged-in) .woocommerce {
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
  flex: 1 1 420px !important;
  width: calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
  min-width: 320px !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.register .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce form.login p,
body.woocommerce-account:not(.logged-in) .woocommerce form.register p {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login input,
body.woocommerce-account:not(.logged-in) .woocommerce form.register input,
body.woocommerce-account:not(.logged-in) .woocommerce form.login select,
body.woocommerce-account:not(.logged-in) .woocommerce form.register select,
body.woocommerce-account:not(.logged-in) .woocommerce form.login textarea,
body.woocommerce-account:not(.logged-in) .woocommerce form.register textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login .password-input,
body.woocommerce-account:not(.logged-in) .woocommerce form.register .password-input {
  width: 100% !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}


/* v3.9.13 My Account auth layout final fix */
body.woocommerce-account:not(.logged-in) .content-window__body {
  min-height: 0 !important;
  height: auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce .col-2,
body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 783px) {
  body.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: initial !important;
  }
}

@media (max-width: 782px) {
  body.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: initial !important;
  }
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
  margin: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .button,
body.woocommerce-account:not(.logged-in) .woocommerce button,
body.woocommerce-account:not(.logged-in) .woocommerce input[type="submit"] {
  max-width: 100% !important;
}


/* v3.9.14 My Account auth columns true full-width fix */
body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns#customer_login {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login > *,
body.woocommerce-account:not(.logged-in) #customer_login form.register > *,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login > *,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register > * {
  max-width: 100% !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .form-row,
body.woocommerce-account:not(.logged-in) #customer_login p,
body.woocommerce-account:not(.logged-in) #customer_login .clear,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-account:not(.logged-in) #customer_login select,
body.woocommerce-account:not(.logged-in) #customer_login textarea,
body.woocommerce-account:not(.logged-in) #customer_login .password-input {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container-block,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-button,
body.woocommerce-account:not(.logged-in) #customer_login .google-login,
body.woocommerce-account:not(.logged-in) #customer_login .social-login {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 782px) {
  body.woocommerce-account:not(.logged-in) #customer_login,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-columns#customer_login {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}


/* v3.9.15 My Account login/register hard override */
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  flex: 1 1 0 !important;
  width: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 0 !important;
  background: #e3e3e3 !important;
  border: 2px solid #4e5a66 !important;
  box-shadow: inset 1px 1px 0 #faf9f6, inset -1px -1px 0 #8c8c8c !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .form-row,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set p,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-row {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set select,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set textarea,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container-block,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
    flex-wrap: wrap !important;
    gap: 18px !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}


/* v3.9.16 My Account definitive layout override */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-items: start !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  display: block !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set .woocommerce-form-register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login p,
body.woocommerce-account:not(.logged-in) #customer_login .form-row,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) #customer_login p {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login select,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login textarea,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .password-input,
body.woocommerce-account:not(.logged-in) #customer_login input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-account:not(.logged-in) #customer_login select,
body.woocommerce-account:not(.logged-in) #customer_login textarea,
body.woocommerce-account:not(.logged-in) #customer_login .password-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .nsl-container,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .nsl-container-block,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .nsl-button,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container-block,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}


/* v3.9.17 My Account login hard fix */
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  display: inline-block !important;
  vertical-align: top !important;
  width: calc(50% - 16px) !important;
  max-width: calc(50% - 16px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1 {
  margin-right: 32px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container-block,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register {
  border-radius: 0 !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;
  }
}


/* v3.9.18 My Account definitive auth layout */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 18px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  align-items: start !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set h2 {
  margin: 0 0 14px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .form-row,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set p {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set input:not([type="checkbox"]):not([type="radio"]),
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set select,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container-block,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input input {
  width: 100% !important;
  padding-right: 48px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 2px solid #1d2b38 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::after,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::before {
  color: #faf9f6 !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}


/* v3.9.19 My Account auth overflow fix */
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  flex: 0 1 calc(50% - 12px) !important;
  width: calc(50% - 12px) !important;
  max-width: calc(50% - 12px) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
    display: block !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    overflow: visible !important;
  }
}


/* v3.9.20 My Account auth final layout fix */
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 36px !important;
  row-gap: 0 !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 28px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set button[name="login"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set button[name="register"] {
  align-self: flex-start !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set p.form-row-last,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set p.woocommerce-form-row--last,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set p.form-row-wide.woocommerce-LostPassword,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set p.woocommerce-form-login__rememberme {
  clear: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .form-row:last-of-type,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .form-row:last-of-type {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .woocommerce-form-login__rememberme span,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .woocommerce-form-login__rememberme span {
  display: inline !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 56px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input input {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  width: 100% !important;
  padding-right: 58px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 56px !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid #1d2b38 !important;
  border-left-width: 2px !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.18), inset -1px -1px 0 rgba(0,0,0,.38) !important;
  z-index: 2 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::before,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::after,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input * {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: #faf9f6 !important;
  opacity: 1 !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 20px !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v3.9.21 My Account auth polish */
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 36px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  width: 100% !important;
  max-width: 100% !important;
  min-height: auto !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input input {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  padding-right: 58px !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 56px !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid #1d2b38 !important;
  border-left: 2px solid #1d2b38 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  text-shadow: none !important;
  transform: none !important;
  inset: 0 0 auto auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::before,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::after,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input .dashicons,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input svg,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input path {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: #faf9f6 !important;
  opacity: 1 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .form-row:last-of-type,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .form-row:last-of-type,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login p.form-row:last-of-type,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login p.form-row:last-of-type {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set button[name="login"] {
  flex: 0 0 auto !important;
  order: 1 !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set label.woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
  order: 2 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__rememberme input[type="checkbox"] {
  margin: 0 !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .form-row:last-of-type,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .form-row:last-of-type,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login p.form-row:last-of-type,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login p.form-row:last-of-type {
    flex-wrap: wrap !important;
  }
}


/* v3.9.22 My Account auth usability fixes */
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-container-block,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button-default,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button-google,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .nsl-button-google[data-plugin="nsl"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set [class*="nsl-button"] {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  display: inline-flex !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set input[type="text"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set input[type="email"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set input[type="password"] {
  height: 56px !important;
  min-height: 56px !important;
  line-height: 1.2 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input input {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  padding-right: 58px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #1d2b38 !important;
  background: #000080 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  width: 20px !important;
  height: 20px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 20px 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23faf9f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.94 10.94 0 0 1 12 20c-5 0-9.27-3.11-11-8 1.01-2.86 2.89-5.08 5.26-6.43'/%3E%3Cpath d='M1 1l22 22'/%3E%3Cpath d='M9.9 4.24A10.94 10.94 0 0 1 12 4c5 0 9.27 3.11 11 8a11.05 11.05 0 0 1-4.08 5.44'/%3E%3Cpath d='M14.12 14.12a3 3 0 1 1-4.24-4.24'/%3E%3C/svg%3E") !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::after,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input .dashicons,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input svg,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input path,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input span {
  display: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login p.form-row:last-of-type,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login p.form-row:last-of-type {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set button[name="login"] {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set label.woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 0 6px !important;
  white-space: nowrap !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__rememberme input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login__rememberme span {
  display: inline !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register .woocommerce-form__label-for-checkbox,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register .woocommerce-form__label-for-checkbox,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register label.woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register .woocommerce-form__label-for-checkbox span,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register .woocommerce-form__label-for-checkbox span {
  display: inline !important;
  margin: 0 !important;
}


/* v3.9.24 Final My Account auth layout cleanup */
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-2 {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set .woocommerce-form-register {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set .form-row,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set p {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Make both auth cards equal height on desktop */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1 form,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2 form,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-1 form,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-2 form {
  height: 100% !important;
}

/* Password field and toggle */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .password-input input {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding-right: 62px !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .show-password-input {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #000080 !important;
  border-left: 2px solid #1d2b38 !important;
  box-sizing: border-box !important;
  text-indent: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .show-password-input::before,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .show-password-input::after,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .show-password-input span,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .show-password-input svg,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .show-password-input i {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: #faf9f6 !important;
  opacity: 1 !important;
}

/* Consistent field heights */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login input:not([type="checkbox"]):not([type="radio"]):not(.show-password-input),
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login select,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login textarea {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
}

/* Login submit row spacing and alignment */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login p.form-row:last-of-type,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-form-login__submit {
  margin-top: 20px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .form-row.form-row-wide:has(.woocommerce-form-login__submit),
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login p:has(.woocommerce-form-login__submit) {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .woocommerce-form-login__submit {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  flex: 0 1 auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme .woocommerce-form__input-checkbox,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme span {
  margin: 0 !important;
  display: inline-block !important;
}

/* Newsletter checkbox stays inline */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register .woocommerce-form__label,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register label.checkbox,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register p label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register input[type="checkbox"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* Google login placed below lost password and centered */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login {
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login > .nsl-container,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login > .nsl-container-block,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login > div.nsl-container,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login > div.nsl-container-block {
  order: 99 !important;
  width: 100% !important;
  margin-top: 22px !important;
  display: flex !important;
  justify-content: center !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-LostPassword,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .lost_password {
  order: 98 !important;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login > .nsl-container .nsl-button,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login > .nsl-container-block .nsl-button {
  width: auto !important;
  max-width: 100% !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1.col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2.col-2,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-1,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-2 {
    display: block !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1 form,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2 form,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-1 form,
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-2 form {
    height: auto !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .form-row.form-row-wide:has(.woocommerce-form-login__submit),
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login p:has(.woocommerce-form-login__submit) {
    flex-wrap: wrap !important;
    row-gap: 12px !important;
  }
}


/* v3.9.25 My Account final auth layout fix */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set > .col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2.col-2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set > .col-2 {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input {
  display: flex !important;
  align-items: stretch !important;
  position: relative !important;
  width: 100% !important;
  min-height: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .password-input input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding-right: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border-left: 2px solid #1d2b38 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::before,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input::after,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input svg,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .show-password-input i {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: #faf9f6 !important;
  opacity: 1 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .form-row:last-of-type {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .form-row:last-of-type,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .form-row:last-of-type {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .form-row:last-of-type button,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .form-row:last-of-type button {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login label[for*="remember"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login label[for*="remember"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  flex: 0 1 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login .woocommerce-form-login__rememberme input,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login .woocommerce-form-login__rememberme input,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-login label[for*="remember"] input,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.login label[for*="remember"] input {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register .woocommerce-form-row:has(input[type="checkbox"]),
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register p:has(input[type="checkbox"]),
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register .woocommerce-form-row:has(input[type="checkbox"]),
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register p:has(input[type="checkbox"]) {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register .woocommerce-form-row:has(input[type="checkbox"]) input[type="checkbox"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register p:has(input[type="checkbox"]) input[type="checkbox"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register .woocommerce-form-row:has(input[type="checkbox"]) input[type="checkbox"],
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register p:has(input[type="checkbox"]) input[type="checkbox"] {
  margin: 4px 0 0 0 !important;
  flex: 0 0 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register .woocommerce-form-row:has(input[type="checkbox"]) label,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register p:has(input[type="checkbox"]) label,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register .woocommerce-form-row:has(input[type="checkbox"]) span,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set .woocommerce-form-register p:has(input[type="checkbox"]) span,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register .woocommerce-form-row:has(input[type="checkbox"]) label,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register p:has(input[type="checkbox"]) label,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register .woocommerce-form-row:has(input[type="checkbox"]) span,
body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set form.register p:has(input[type="checkbox"]) span {
  display: inline !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
}

@media (max-width: 980px) {
  body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) #customer_login.u-columns.col2-set {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* v3.9.26 My Account checkbox alignment final override */
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login p:has(button[name="login"]),
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .form-row:has(button[name="login"]),
body.woocommerce-account:not(.logged-in) #customer_login form.login p:has(button[name="login"]),
body.woocommerce-account:not(.logged-in) #customer_login form.login .form-row:has(button[name="login"]) {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login button[name="login"],
body.woocommerce-account:not(.logged-in) #customer_login form.login button[name="login"] {
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login label[for*="remember"],
body.woocommerce-account:not(.logged-in) #customer_login form.login label[for*="remember"] {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: 8px !important;
  margin: 0 !important;
  width: max-content !important;
  max-width: max-content !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme .woocommerce-form__input-checkbox,
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme .woocommerce-form__input-checkbox,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme input[type="checkbox"],
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme input[type="checkbox"] {
  margin: 0 !important;
  width: 16px !important;
  height: 16px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme span,
body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme span {
  display: inline !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register p:has(input[type="checkbox"]),
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]),
body.woocommerce-account:not(.logged-in) #customer_login form.register p:has(input[type="checkbox"]),
body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) {
  display: grid !important;
  grid-template-columns: max-content minmax(0,1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  column-gap: 10px !important;
  row-gap: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register p:has(input[type="checkbox"]) > input[type="checkbox"],
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) > input[type="checkbox"],
body.woocommerce-account:not(.logged-in) #customer_login form.register p:has(input[type="checkbox"]) > input[type="checkbox"],
body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) > input[type="checkbox"] {
  margin: 5px 0 0 0 !important;
  width: 16px !important;
  height: 16px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register p:has(input[type="checkbox"]) > label,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) > label,
body.woocommerce-account:not(.logged-in) #customer_login form.register p:has(input[type="checkbox"]) > label,
body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) > label {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register p:has(input[type="checkbox"]) > label span,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) > label span,
body.woocommerce-account:not(.logged-in) #customer_login form.register p:has(input[type="checkbox"]) > label span,
body.woocommerce-account:not(.logged-in) #customer_login form.register .woocommerce-form-row:has(input[type="checkbox"]) > label span {
  display: inline !important;
  margin: 0 !important;
}

/* v3.9.28 product variations / attributes layout */
.single-product form.cart {
  margin-top: 12px;
}

.single-product form.cart .variations {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  margin: 0 0 14px !important;
}

.single-product form.cart .variations tbody,
.single-product form.cart .variations tr {
  display: block;
  width: 100%;
}

.single-product form.cart .variations tr {
  background: #c7c7cb;
  border: 3px solid #1d2b38;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.35), inset -1px -1px 0 rgba(0,0,0,.18);
  padding: 12px 14px;
}

.single-product form.cart .variations th,
.single-product form.cart .variations td {
  display: block;
  width: 100% !important;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  text-align: left;
  vertical-align: top;
}

.single-product form.cart .variations th {
  margin-bottom: 8px;
}

.single-product form.cart .variations th label {
  display: block;
  color: var(--nit-text);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.single-product form.cart .variations td.value {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.single-product form.cart .variations select {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 8px 40px 8px 10px !important;
  border: 3px solid #071821 !important;
  background-color: #e5e5e5 !important;
  color: var(--nit-text) !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  border-radius: 0 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.4), inset -1px -1px 0 rgba(0,0,0,.12) !important;
  -webkit-appearance: none;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #071821 50%), linear-gradient(135deg, #071821 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.single-product form.cart .variations select:focus {
  outline: none;
  border-color: var(--nit-amber) !important;
}

.single-product form.cart .variations .reset_variations {
  flex: 0 0 auto;
  color: var(--nit-blue) !important;
  font-family: var(--font-ui);
  font-size: 14px;
  text-decoration: underline;
  white-space: nowrap;
}

.single-product form.cart .variations .reset_variations:hover,
.single-product form.cart .variations .reset_variations:focus {
  color: var(--nit-amber) !important;
}

.single-product div.product .single_variation_wrap {
  margin-top: 12px;
}

@media (min-width: 781px) {
  .single-product form.cart .variations tr {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    column-gap: 18px;
    align-items: center;
  }

  .single-product form.cart .variations th {
    margin-bottom: 0;
    align-self: center;
  }
}

@media (max-width: 780px) {
  .single-product form.cart .variations tr {
    padding: 10px 12px;
  }

  .single-product form.cart .variations td.value {
    display: block;
  }

  .single-product form.cart .variations .reset_variations {
    display: inline-block;
    margin-top: 8px;
  }
}


/* Shop ordering dropdown */
.woocommerce .woocommerce-ordering {
  margin: 0 0 16px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  min-width: 240px;
  height: 40px;
  padding: 8px 40px 8px 12px;
  border: 3px solid #071821 !important;
  border-radius: 0 !important;
  background-color: #d9d9dc !important;
  color: var(--nit-text) !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.4), inset -1px -1px 0 rgba(0,0,0,.12) !important;
  -webkit-appearance: none;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #071821 50%), linear-gradient(135deg, #071821 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.woocommerce .woocommerce-ordering select:focus,
.woocommerce-page .woocommerce-ordering select:focus {
  outline: none;
  border-color: var(--nit-amber) !important;
}

/* v3.9.31 product gallery videos in normal carousel */
.woocommerce div.product div.images .woocommerce-product-gallery__image--video {
  display: block;
  width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image--video video {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #bfbfbf;
  border: 0;
}

.woocommerce div.product div.images .flex-control-thumbs li:has(img[src*="placeholder"]),
.woocommerce div.product div.images .flex-control-thumbs li:has(img[src*="woocommerce-placeholder"]) {
  display: block;
}

/* v3.9.42 home featured products block aligned to shop cards */
.home .wp-block-woocommerce-product-collection {
  margin-top: 0;
}

.home .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-sizing: border-box !important;
  padding: 14px !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-image a {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #bfbfbf !important;
  border: 0 !important;
  box-shadow: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-name {
  display: block !important;
  margin: 0 0 12px !important;
  color: #071821 !important;
  text-decoration: none !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.home .wp-block-woocommerce-product-collection .price {
  margin: 0 0 14px !important;
  color: #0000aa !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-rating,
.home .wp-block-woocommerce-product-collection .star-rating,
.home .wp-block-woocommerce-product-collection .nit-product-badges,
.home .wp-block-woocommerce-product-collection .product-badges {
  margin: 0 0 10px !important;
  text-align: left !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button {
  margin-top: auto !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-button button,
.home .wp-block-woocommerce-product-collection a.wp-block-button__link,
.home .wp-block-woocommerce-product-collection .add_to_cart_button,
.home .wp-block-woocommerce-product-collection .product_type_variable,
.home .wp-block-woocommerce-product-collection .product_type_simple,
.home .wp-block-woocommerce-product-collection .product_type_grouped {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 10px 14px !important;
  background: #0000aa !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  box-sizing: border-box !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button a:hover,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-button button:hover,
.home .wp-block-woocommerce-product-collection a.wp-block-button__link:hover,
.home .wp-block-woocommerce-product-collection .add_to_cart_button:hover,
.home .wp-block-woocommerce-product-collection .product_type_variable:hover,
.home .wp-block-woocommerce-product-collection .product_type_simple:hover,
.home .wp-block-woocommerce-product-collection .product_type_grouped:hover {
  color: #ffb000 !important;
  text-decoration: underline !important;
}

@media (max-width: 1200px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }

  .home .wp-block-woocommerce-product-collection .wc-block-components-product-name {
    font-size: 16px !important;
  }
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection {
  margin-top: 0;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-sizing: border-box !important;
  padding: 14px !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image a {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #bfbfbf !important;
  border: 0 !important;
  box-shadow: none !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
  display: block !important;
  margin: 0 0 12px !important;
  color: #071821 !important;
  text-decoration: none !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .price {
  margin: 0 0 14px !important;
  color: #0000aa !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-rating,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .star-rating,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .nit-product-badges,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product-badges {
  margin: 0 0 10px !important;
  text-align: left !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button {
  margin-top: auto !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection a.wp-block-button__link,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .add_to_cart_button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_variable,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_simple,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_grouped {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 10px 14px !important;
  background: #0000aa !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  box-sizing: border-box !important;
}

.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button a:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button button:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection a.wp-block-button__link:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .add_to_cart_button:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_variable:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_simple:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_grouped:hover {
  color: #ffb000 !important;
  text-decoration: underline !important;
}

@media (max-width: 1200px) {
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }

  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
    font-size: 16px !important;
  }
}

/* v3.9.46 palette normalization and featured product cleanup */
:root {
  --nit-bg: #007d7b;
  --nit-window: #faf9f6;
  --nit-blue: #000080;
  --nit-gray: #808080;
  --nit-text: #071821;
  --nit-amber: #ffa103;
  --nit-gb-green: #86c06c;
  --nit-gb-light: #e0f8cf;
  --outer-border: 3px solid #071821;
  --inner-border: 3px solid #071821;
  --shadow-ui: none;
}

body {
  background: var(--nit-bg);
  color: var(--nit-text);
}

.site-shell,
.content-window,
.content-window__body,
.shell-panel,
.shell-widget,
.entry-card,
.site-main > article,
.site-main > section,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce div.product,
.woocommerce .woocommerce-tabs,
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce .cross-sells,
.woocommerce .cart-collaterals,
.woocommerce .shop_table,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product,
.home .wp-block-woocommerce-product-collection .wc-block-product {
  background: #bfbfbf;
  border-color: #071821;
  color: #071821;
  box-shadow: none;
}

.shell-panel--blue,
.topbar,
.content-window__title,
.shell-widget__title,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce-tabs .tabs li,
.wc-block-components-product-button a,
.wc-block-components-product-button button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-cart__submit-button,
.wc-block-components-button__button {
  background: #000080;
  color: #faf9f6;
  border-color: #071821;
  box-shadow: none;
}

.shell-panel--blue a,
.topbar a,
.content-window__title a,
.shell-widget__title a {
  color: #faf9f6;
}

button,
input[type="submit"],
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-product-button a,
.wc-block-components-product-button button {
  background: #000080;
  color: #faf9f6;
  border: 3px solid #071821;
  box-shadow: none;
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-product-button a:hover,
.wc-block-components-product-button button:hover {
  color: #ffa103;
  text-decoration: underline;
}

.shell-newsletter input,
.woocommerce form .input-text,
.woocommerce select,
.select2-container--default .select2-selection--single,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
select {
  background: #faf9f6;
  color: #071821;
  border-color: #071821;
  box-shadow: none;
}

label,
.woocommerce table.shop_attributes th,
.woocommerce table.variations th,
.woocommerce .product_meta,
.woocommerce .posted_in,
.woocommerce .sku_wrapper,
.woocommerce .tagged_as,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.entry-meta,
.widget-title,
.content-window__meta,
.wc-block-components-product-price__regular,
.wc-block-components-product-price__value.is-discounted {
  color: #808080;
}

a,
a:visited {
  color: #000080;
}

a:hover,
a:focus {
  color: #ffa103;
}

/* Featured products: home + about/static pages */
.home .wp-block-woocommerce-product-collection .wc-block-product-template,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-product,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding: 14px !important;
  min-width: 0 !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-image img,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  background: #faf9f6 !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-name,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #071821 !important;
  margin: 0 0 10px !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.home .wp-block-woocommerce-product-collection .price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .price {
  color: #000080 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  text-align: left !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-rating,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-rating,
.home .wp-block-woocommerce-product-collection .star-rating,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .star-rating,
.home .wp-block-woocommerce-product-collection .nit-product-badges,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .nit-product-badges,
.home .wp-block-woocommerce-product-collection .product-badges,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product-badges {
  margin: 0 0 10px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button {
  margin-top: auto !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-button button,
.home .wp-block-woocommerce-product-collection a.wp-block-button__link,
.home .wp-block-woocommerce-product-collection .add_to_cart_button,
.home .wp-block-woocommerce-product-collection .product_type_variable,
.home .wp-block-woocommerce-product-collection .product_type_simple,
.home .wp-block-woocommerce-product-collection .product_type_grouped,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection a.wp-block-button__link,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .add_to_cart_button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_variable,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_simple,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_grouped {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 10px 14px !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
}

@media (max-width: 1200px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }

  .home .wp-block-woocommerce-product-collection .wc-block-components-product-name,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
    font-size: 14px !important;
  }
}


/* v3.9.47 featured products cleanup + palette hardening */
:root {
  --nit-bg: #007d7b;
  --nit-window: #faf9f6;
  --nit-blue: #000080;
  --nit-gray: #808080;
  --nit-text: #071821;
  --nit-amber: #ffa103;
  --nit-gb-green: #86c06c;
  --nit-gb-light: #e0f8cf;
  --outer-border: 3px solid #071821;
  --inner-border: 3px solid #071821;
  --shadow-ui: none;
}

.shell-panel,
.shell-widget,
.content-window,
.content-window__body,
.entry-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce div.product,
.woocommerce .woocommerce-tabs,
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce .cross-sells,
.woocommerce .cart-collaterals,
.woocommerce .shop_table,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.site-main > article,
.site-main > section {
  background: #bfbfbf !important;
  border-color: #071821 !important;
  box-shadow: none !important;
  color: #071821 !important;
}

.shell-panel--blue,
.topbar,
.content-window__title,
.module-title,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce-tabs .tabs li {
  background: #000080 !important;
  color: #faf9f6 !important;
  border-color: #071821 !important;
  box-shadow: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-product-template,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-product,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  padding: 14px !important;
  box-shadow: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-image img,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  background: #faf9f6 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-name,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
  display: block !important;
  margin: 0 0 10px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #071821 !important;
  text-align: left !important;
  text-decoration: none !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.home .wp-block-woocommerce-product-collection .price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .price {
  margin: 0 0 12px !important;
  color: #000080 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button {
  margin-top: auto !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button > :not(a):not(button),
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button > :not(a):not(button) {
  display: none !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-button button,
.home .wp-block-woocommerce-product-collection a.wp-block-button__link,
.home .wp-block-woocommerce-product-collection .add_to_cart_button,
.home .wp-block-woocommerce-product-collection .product_type_variable,
.home .wp-block-woocommerce-product-collection .product_type_simple,
.home .wp-block-woocommerce-product-collection .product_type_grouped,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button a,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection a.wp-block-button__link,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .add_to_cart_button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_variable,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_simple,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_grouped {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  box-sizing: border-box !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button a:hover,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-button button:hover,
.home .wp-block-woocommerce-product-collection a.wp-block-button__link:hover,
.home .wp-block-woocommerce-product-collection .add_to_cart_button:hover,
.home .wp-block-woocommerce-product-collection .product_type_variable:hover,
.home .wp-block-woocommerce-product-collection .product_type_simple:hover,
.home .wp-block-woocommerce-product-collection .product_type_grouped:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button a:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button button:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection a.wp-block-button__link:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .add_to_cart_button:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_variable:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_simple:hover,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .product_type_grouped:hover {
  color: #ffa103 !important;
  text-decoration: underline !important;
}

@media (max-width: 1200px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .home .wp-block-woocommerce-product-collection .wc-block-product-template,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }

  .home .wp-block-woocommerce-product-collection .wc-block-components-product-name,
  .page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
    font-size: 12px !important;
  }
}


/* v3.9.48: force white text on system blue surfaces */
.shell-panel--blue,
.shell-panel--blue *,
.module-title,
.module-title *,
.shell-menu a,
.shell-menu a *,
.menu a,
.menu a *,
.wp-page-menu a,
.wp-page-menu a *,
.shell-menu ul a,
.shell-menu ul a *,
.menu ul a,
.menu ul a *,
.wp-page-menu ul a,
.wp-page-menu ul a *,
.topbar,
.topbar *,
button,
.button,
input[type="button"],
input[type="submit"],
.single_add_to_cart_button,
.add_to_cart_button,
.product_type_simple,
.product_type_variable,
.product_type_grouped,
.wc-block-components-product-button a,
.wc-block-components-product-button button,
.wp-block-button__link {
  color: #faf9f6;
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.product_type_simple:hover,
.product_type_variable:hover,
.product_type_grouped:hover,
.wc-block-components-product-button a:hover,
.wc-block-components-product-button button:hover,
.wp-block-button__link:hover {
  color: #faf9f6;
}

button svg,
.button svg,
.single_add_to_cart_button svg,
.add_to_cart_button svg,
.product_type_simple svg,
.product_type_variable svg,
.product_type_grouped svg,
.wc-block-components-product-button a svg,
.wc-block-components-product-button button svg,
.wp-block-button__link svg {
  fill: #faf9f6;
  color: #faf9f6;
}

/* v3.9.50 product tabs styled like theme buttons */
body,
.site-shell,
.shell-grid,
.shell-sidebar,
.shell-main,
.content-area,
.site-main,
.site-content {
  background: #007d7b !important;
}

/* keep panels/windows grey while gaps remain teal */
.shell-panel,
.shell-widget,
.content-window,
.content-window__body,
.entry-card,
.site-main > article,
.site-main > section,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce div.product,
.woocommerce .woocommerce-tabs,
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce .cross-sells,
.woocommerce .cart-collaterals,
.woocommerce .shop_table,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info {
  background: #bfbfbf !important;
}

/* product tabs styled like theme buttons */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs .panel {
  background: #bfbfbf !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-tabs .tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-tabs .tabs li.active {
  margin: 0 !important;
  padding: 0 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs .tabs li::before,
.woocommerce-tabs .tabs li::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-tabs .tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs .tabs li.active a {
  display: block !important;
  padding: 12px 16px !important;
  color: #faf9f6 !important;
  text-decoration: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a,
.woocommerce-tabs .tabs li:hover a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce-tabs .tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover,
.woocommerce-tabs .tabs li.active a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs .tabs li.active a {
  color: #ffa103 !important;
  text-decoration: underline !important;
}

/* v3.9.51 header blue, single-product frame cleanup, background customizer compatibility */
.topbar,
header.topbar.shell-panel,
header.topbar.shell-panel--blue,
.site-shell > header.topbar {
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
}

.topbar a,
.topbar__brand-text,
.topbar__clock,
.topbar__meta,
.topbar__meta a {
  color: #faf9f6 !important;
}

/* Let dynamic background CSS control the shell surface cleanly */
.site-shell,
.shell-grid,
.shell-sidebar,
.shell-main,
.content-area,
.site-main,
.site-content {
  background: transparent;
}

/* Single product should not add an extra framed panel inside the content window */
.single-product.woocommerce div.product,
.single-product .woocommerce div.product,
.single-product .site-main > article.product,
.single-product .site-main > section.product {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product .woocommerce div.product > .product,
.single-product div.product .summary,
.single-product div.product .images,
.single-product div.product .woocommerce-product-gallery {
  box-shadow: none !important;
}

/* Keep actual product sub-panels readable */
.single-product .woocommerce div.product .woocommerce-tabs,
.single-product .woocommerce div.product .related.products,
.single-product .woocommerce div.product .upsells.products,
.single-product .woocommerce div.product .cross-sells,
.single-product .woocommerce div.product .nit-product-summary-box,
.single-product .woocommerce div.product form.cart,
.single-product .woocommerce div.product .product_meta {
  background: #bfbfbf !important;
}


/* v3.9.52 background source cleanup, product section headings, navigation vs CTA alignment */
.shell-menu a,
.menu a,
.wp-page-menu a,
.woocommerce-MyAccount-navigation a,
.shell-statusbar__menu a {
  text-align: left !important;
}

button,
input[type="submit"],
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.add_to_cart_button,
.product_type_simple,
.product_type_variable,
.product_type_grouped,
.wc-block-components-product-button a,
.wc-block-components-product-button button,
.wc-block-cart__submit-button,
.wc-block-components-button__button,
.nit-quote-button,
a.button {
  text-align: center !important;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2,
.single-product .cross-sells > h2,
.single-product section.related.products > h2,
.single-product section.upsells.products > h2,
.single-product section.cross-sells > h2 {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.18), inset -1px -1px 0 rgba(0,0,0,.45) !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.single-product .related.products,
.single-product .upsells.products,
.single-product .cross-sells,
.single-product section.related.products,
.single-product section.upsells.products,
.single-product section.cross-sells {
  padding: 12px !important;
}


/* v3.9.53 background layer cleanup, section headings, button alignment */
.shell-menu a,
.menu a,
.wp-page-menu a,
.woocommerce-MyAccount-navigation a,
.shell-statusbar__menu a {
  text-align: left !important;
  justify-content: flex-start !important;
}

button,
input[type="submit"],
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.add_to_cart_button,
.product_type_simple,
.product_type_variable,
.product_type_grouped,
.wc-block-components-product-button a,
.wc-block-components-product-button button,
.wc-block-cart__submit-button,
.wc-block-components-button__button,
.nit-quote-button,
a.button {
  text-align: center !important;
}

.wp-block-button,
.cart,
.single_variation_wrap,
.woocommerce-variation-add-to-cart,
.product .summary form.cart,
.woocommerce div.product form.cart,
.woocommerce .cart .button,
.woocommerce .actions .button,
.woocommerce .checkout-button,
.woocommerce .return-to-shop .button,
.wc-block-components-product-button,
.wc-block-cart__submit {
  text-align: center !important;
}


/* v3.9.54 single product section bars and framed panels */
.single-product .related.products,
.single-product .upsells.products,
.single-product .cross-sells,
.single-product section.related.products,
.single-product section.upsells.products,
.single-product section.cross-sells {
  border: 3px solid #1d2b38 !important;
  background: #d4d4d4 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.45), inset -1px -1px 0 rgba(0,0,0,.12) !important;
  padding: 0 12px 12px !important;
  margin: 20px 0 !important;
}

.single-product .related.products > h2,
.single-product .upsells.products > h2,
.single-product .cross-sells > h2,
.single-product section.related.products > h2,
.single-product section.upsells.products > h2,
.single-product section.cross-sells > h2 {
  display: block !important;
  width: calc(100% + 24px) !important;
  max-width: none !important;
  margin: -3px -12px 12px !important;
  padding: 10px 12px !important;
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  border: 3px solid #1d2b38 !important;
  box-shadow: none !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.single-product .related.products > h2 + *,
.single-product .upsells.products > h2 + *,
.single-product .cross-sells > h2 + *,
.single-product section.related.products > h2 + *,
.single-product section.upsells.products > h2 + *,
.single-product section.cross-sells > h2 + * {
  margin-top: 0 !important;
}

.single-product .woocommerce div.product .woocommerce-tabs {
  margin: 18px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--nit-blue) !important;
  border: 3px solid #1d2b38 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.18), inset -1px -1px 0 rgba(0,0,0,.45) !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  position: relative !important;
  flex: 1 1 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li + li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: #1d2b38 !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  text-align: center !important;
  color: #faf9f6 !important;
  text-decoration: none !important;
  font-family: var(--font-pixel) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  background: rgba(255,255,255,.14) !important;
  color: #ffd24a !important;
  box-shadow: inset 0 3px 0 rgba(250,249,246,.16), inset 0 -3px 0 rgba(0,0,0,.28) !important;
}

.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover {
  color: #ffd24a !important;
  text-decoration: none !important;
  background: rgba(255,255,255,.08) !important;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card__title {
  display: block !important;
  width: 100% !important;
  margin: 0 0 0 !important;
  padding: 10px 12px !important;
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  border: 3px solid #1d2b38 !important;
  box-shadow: none !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card__body {
  margin: -3px 0 0 !important;
  padding: 14px 14px 16px !important;
  border: 3px solid #1d2b38 !important;
  background: #d4d4d4 !important;
  box-shadow: inset 1px 1px 0 rgba(250,249,246,.45), inset -1px -1px 0 rgba(0,0,0,.12) !important;
}


/* v3.9.57 blue-surface text legibility + table cards */
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-navigation a:visited,
.woocommerce-account .woocommerce-MyAccount-navigation a span,
.woocommerce-account .woocommerce-MyAccount-navigation a strong,
.woocommerce-account .woocommerce-MyAccount-navigation a em,
.woocommerce-account .woocommerce-MyAccount-navigation a small,
.woocommerce-account .woocommerce-MyAccount-navigation a .count,
.shell-panel--blue,
.shell-panel--blue *,
.module-title,
.module-title *,
.content-window__title,
.content-window__title *,
.topbar,
.topbar *,
.woocommerce .related.products > h2,
.woocommerce .related.products > h2 *,
.woocommerce .upsells.products > h2,
.woocommerce .upsells.products > h2 *,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li *,
.woocommerce-tabs .tabs li,
.woocommerce-tabs .tabs li *,
.woocommerce a.button,
.woocommerce a.button *,
.woocommerce button.button,
.woocommerce button.button *,
.woocommerce input.button,
.button,
.button *,
button,
button *,
input[type="button"],
input[type="submit"],
.wc-block-components-product-button a,
.wc-block-components-product-button a *,
.wc-block-components-product-button button,
.wc-block-components-product-button button *,
.wp-block-button__link,
.wp-block-button__link * {
  color: #faf9f6 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover *,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus *,
.shell-panel--blue a:hover,
.shell-panel--blue a:focus,
.module-title a:hover,
.module-title a:focus,
.content-window__title a:hover,
.content-window__title a:focus,
.topbar a:hover,
.topbar a:focus,
.woocommerce .related.products > h2 a:hover,
.woocommerce .related.products > h2 a:focus,
.woocommerce .upsells.products > h2 a:hover,
.woocommerce .upsells.products > h2 a:focus,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus,
.woocommerce-tabs .tabs li a:hover,
.woocommerce-tabs .tabs li a:focus,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce a.button:hover *,
.woocommerce a.button:focus *,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.button:hover,
.button:focus,
button:hover,
button:focus,
.wc-block-components-product-button a:hover,
.wc-block-components-product-button a:focus,
.wc-block-components-product-button button:hover,
.wc-block-components-product-button button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  color: #ffa103 !important;
}

.woocommerce .shop_table,
.woocommerce table.shop_table,
.woocommerce table.shop_attributes,
.woocommerce table.variations,
.woocommerce-page table.shop_table,
.woocommerce-page table.shop_attributes,
.woocommerce-page table.variations,
.shop_table,
.shop_attributes {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.woocommerce .shop_table thead th,
.woocommerce table.shop_table thead th,
.woocommerce table.shop_attributes th,
.woocommerce table.variations th,
.woocommerce-page table.shop_table thead th,
.shop_table thead th,
.shop_attributes th {
  background: #d9e0e8 !important;
  color: #071821 !important;
  border-right: 3px solid #071821 !important;
  border-bottom: 3px solid #071821 !important;
  padding: 12px 14px !important;
}

.woocommerce .shop_table thead th:last-child,
.woocommerce table.shop_attributes th:last-child,
.woocommerce table.variations th:last-child,
.woocommerce-page table.shop_table thead th:last-child,
.shop_table thead th:last-child,
.shop_attributes th:last-child {
  border-right: 0 !important;
}

.woocommerce .shop_table tbody td,
.woocommerce .shop_table tfoot td,
.woocommerce .shop_table tfoot th,
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_attributes td,
.woocommerce table.shop_attributes th,
.woocommerce table.variations td,
.woocommerce table.variations th,
.woocommerce-page table.shop_table tbody td,
.woocommerce-page table.shop_table tfoot td,
.woocommerce-page table.shop_table tfoot th,
.shop_table tbody td,
.shop_table tfoot td,
.shop_table tfoot th,
.shop_attributes td,
.shop_attributes th {
  background: #bfbfbf !important;
  color: #071821 !important;
  border-right: 3px solid #071821 !important;
  border-bottom: 3px solid #071821 !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

.woocommerce .shop_table tbody tr:last-child td,
.woocommerce .shop_table tfoot tr:last-child td,
.woocommerce .shop_table tfoot tr:last-child th,
.woocommerce table.shop_table tbody tr:last-child td,
.woocommerce table.shop_table tfoot tr:last-child td,
.woocommerce table.shop_table tfoot tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td,
.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.variations tr:last-child td,
.woocommerce table.variations tr:last-child th,
.woocommerce-page table.shop_table tbody tr:last-child td,
.woocommerce-page table.shop_table tfoot tr:last-child td,
.woocommerce-page table.shop_table tfoot tr:last-child th,
.shop_table tbody tr:last-child td,
.shop_table tfoot tr:last-child td,
.shop_table tfoot tr:last-child th,
.shop_attributes tr:last-child td,
.shop_attributes tr:last-child th {
  border-bottom: 0 !important;
}

.woocommerce .shop_table tbody td:last-child,
.woocommerce .shop_table tfoot td:last-child,
.woocommerce .shop_table tfoot th:last-child,
.woocommerce table.shop_table tbody td:last-child,
.woocommerce table.shop_table tfoot td:last-child,
.woocommerce table.shop_table tfoot th:last-child,
.woocommerce table.shop_attributes td:last-child,
.woocommerce table.shop_attributes th:last-child,
.woocommerce table.variations td:last-child,
.woocommerce table.variations th:last-child,
.woocommerce-page table.shop_table tbody td:last-child,
.woocommerce-page table.shop_table tfoot td:last-child,
.woocommerce-page table.shop_table tfoot th:last-child,
.shop_table tbody td:last-child,
.shop_table tfoot td:last-child,
.shop_table tfoot th:last-child,
.shop_attributes td:last-child,
.shop_attributes th:last-child {
  border-right: 0 !important;
}


/* v3.9.59 targeted product-page fixes from 3.9.57 baseline */
.single-product .summary > .single_add_to_cart_button,
.single-product .summary .single_add_to_cart_button,
.single-product .summary form.cart .single_add_to_cart_button,
.single-product .summary form.cart button[type="submit"],
.single-product .summary form.cart .button.alt {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  min-width: min(100%, 320px) !important;
  padding: 14px 22px !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  margin-top: 14px !important;
}

.single-product .summary form.cart .nit-product-tab-card__title {
  display: none !important;
}

.shell-menu .current-menu-item > a,
.shell-menu .current_page_item > a,
.shell-menu .current-menu-ancestor > a,
.shell-menu .current-menu-parent > a,
.menu .current-menu-item > a,
.menu .current_page_item > a,
.menu .current-menu-ancestor > a,
.menu .current-menu-parent > a,
.wp-page-menu .current_page_item > a,
.wp-page-menu .current_page_ancestor > a,
.wp-page-menu .current_page_parent > a,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a:visited {
  color: var(--nit-amber) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.14em !important;
}

.shell-menu .submenu-toggle,
.shell-menu .submenu-toggle:hover,
.shell-menu .submenu-toggle:focus,
.shell-menu .submenu-toggle .submenu-toggle__icon,
.shell-menu .submenu-toggle .submenu-toggle__icon::before,
.menu .submenu-toggle,
.menu .submenu-toggle:hover,
.menu .submenu-toggle:focus,
.menu .submenu-toggle .submenu-toggle__icon,
.menu .submenu-toggle .submenu-toggle__icon::before,
.wp-page-menu .submenu-toggle,
.wp-page-menu .submenu-toggle:hover,
.wp-page-menu .submenu-toggle:focus,
.wp-page-menu .submenu-toggle .submenu-toggle__icon,
.wp-page-menu .submenu-toggle .submenu-toggle__icon::before {
  color: var(--nit-amber) !important;
}

.nit-price-inline-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin: 0 0 14px !important;
}

.nit-price-inline-row > .nit-price-preset-group {
  flex: 1 1 320px !important;
  min-width: 0 !important;
}

.nit-price-inline-row > .nit-price-custom-select {
  flex: 0 1 260px !important;
  min-width: 200px !important;
}

.nit-price-inline-row > .nit-price-custom-select select,
.nit-price-inline-row > .nit-price-custom-select .select2,
.nit-price-inline-row > .nit-price-custom-select .select2-container,
.nit-price-inline-row > .nit-price-custom-select .select2-selection {
  width: 100% !important;
}


/* v3.9.60 single product/cart cleanup */
.single-product form.cart .variations {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product form.cart .variations tr {
  box-shadow: none !important;
}

.single-product div.product form.cart .single_variation_wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.single-product div.product form.cart .woocommerce-variation-add-to-cart,
.single-product div.product form.cart .variations_button,
.single-product div.product form.cart .cart {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.single-product div.product form.cart .woocommerce-variation-price,
.single-product div.product form.cart .woocommerce-variation.single_variation .price,
.single-product div.product form.cart .woocommerce-variation.single_variation .price * {
  color: var(--nit-blue) !important;
}

.single-product div.product form.cart .woocommerce-variation-price,
.single-product div.product form.cart .woocommerce-variation.single_variation .price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 0 0 6px !important;
  font-family: var(--font-pixel) !important;
  font-size: clamp(16px, 2.1vw, 24px) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.single-product div.product form.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  align-self: stretch !important;
  margin: 0 !important;
}

.single-product div.product form.cart .quantity .qty {
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
}

.single-product .summary > .single_add_to_cart_button,
.single-product .summary .single_add_to_cart_button,
.single-product .summary form.cart .single_add_to_cart_button,
.single-product .summary form.cart button[type="submit"],
.single-product .summary form.cart .button.alt {
  min-height: 56px !important;
  min-width: min(100%, 360px) !important;
  margin-top: 0 !important;
}

.single-product .summary .nit-product-secure-note {
  display: block !important;
  margin: 12px 0 0 !important;
  white-space: normal !important;
}

.single-product .summary .wcpay-payment-request-wrapper,
.single-product .summary .wc-stripe-payment-request-wrapper,
.single-product .summary #wc-stripe-payment-request-wrapper,
.single-product .summary .wc-stripe-product-checkout-container,
.single-product .summary .payment_request_button,
.single-product .summary .payment_request-button,
.single-product .summary .ppc-button-wrapper,
.single-product .summary .paypal-buttons,
.single-product .summary .paypal-button-container,
.single-product .summary .woocommerce-payments-express-checkout,
.single-product .summary .woocommerce-googlepay,
.single-product .summary .google-pay-button,
.single-product .summary .apple-pay-button,
.single-product .summary .gpay-card-info-container,
.single-product .summary .klarna-placement,
.single-product .summary .kp-related-placement,
.single-product .summary [data-klarna-placement],
.single-product .summary [class*="klarna" i][class*="placement" i],
.single-product .summary [class*="payment-request" i],
.single-product .summary [class*="express-checkout" i] {
  display: none !important;
}

.woocommerce a.button,
.woocommerce a.button:visited,
.woocommerce button.button,
.woocommerce button.button:visited,
.woocommerce input.button,
.woocommerce input.button:visited,
.woocommerce .button,
.woocommerce .button:visited,
.woocommerce a.checkout-button,
.woocommerce a.checkout-button:visited,
.woocommerce-page a.button,
.woocommerce-page a.button:visited,
.woocommerce-page button.button,
.woocommerce-page .button,
.woocommerce-page .checkout-button,
.woocommerce-page .checkout-button:visited {
  color: #faf9f6 !important;
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce .button:hover,
.woocommerce .button:focus,
.woocommerce a.checkout-button:hover,
.woocommerce a.checkout-button:focus,
.woocommerce-page a.button:hover,
.woocommerce-page a.button:focus,
.woocommerce-page button.button:hover,
.woocommerce-page button.button:focus,
.woocommerce-page .button:hover,
.woocommerce-page .button:focus,
.woocommerce-page .checkout-button:hover,
.woocommerce-page .checkout-button:focus {
  color: #faf9f6 !important;
}


/* v3.9.61 ensure white text on blue buttons everywhere */
.wc-block-cart__submit-button,
.wc-block-cart__submit-button *,
.wc-block-components-button,
.wc-block-components-button *,
.wc-block-components-button__button,
.wc-block-components-button__button *,
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button *,
.wc-block-components-product-button a *,
.wc-block-components-product-button button *,
.woocommerce a.button *,
.woocommerce button.button *,
.woocommerce input.button *,
.wp-block-button__link *,
.button * {
  color: #faf9f6 !important;
  fill: #faf9f6 !important;
  stroke: currentColor !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover *,
.wc-block-components-button:hover,
.wc-block-components-button:hover *,
.wc-block-components-button__button:hover,
.wc-block-components-button__button:hover *,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:hover *,
.woocommerce a.button:hover *,
.woocommerce button.button:hover *,
.wp-block-button__link:hover *,
.button:hover * {
  color: #faf9f6 !important;
}


/* v3.9.63 restore native product image carousel without invasive framing */
.single-product .woocommerce div.product div.images .woocommerce-product-gallery,
.single-product .woocommerce div.product .woocommerce-product-gallery {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs {
  grid-template-columns: repeat(auto-fit, minmax(72px, 96px)) !important;
  justify-content: start !important;
  gap: 8px !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li,
.single-product .woocommerce div.product div.images .flex-control-thumbs li img,
.single-product .woocommerce div.product div.images .flex-control-thumbs img {
  border-radius: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img {
  border: 2px solid var(--nit-ink) !important;
  background: #d9d9dc !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover {
  border-color: var(--nit-blue) !important;
}


/* v3.9.64 featured cards, gallery, borders, and CTA fallback */
.home .wp-block-woocommerce-product-collection .wc-block-product-template,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product-template {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-product,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-product {
  width: auto !important;
  min-height: 100% !important;
  height: 100% !important;
  padding: 18px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.home .wp-block-woocommerce-product-collection .wc-block-components-product-image a,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image a {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-name,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-name {
  min-height: 3.3em !important;
  margin: 0 0 8px !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.home .wp-block-woocommerce-product-collection .price,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .price {
  margin: 0 0 12px !important;
}

.home .wp-block-woocommerce-product-collection .wc-block-components-product-button,
.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-button {
  margin-top: auto !important;
}

/* single product gallery: one main frame with horizontal thumbnails */
.single-product .woocommerce div.product div.images {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 18px !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-viewport {
  width: 100% !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
  border: 3px solid #071821 !important;
  background: #bfbfbf !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
  width: 100% !important;
  min-width: 100% !important;
  float: left !important;
  margin: 0 !important;
  left: auto !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child) {
  display: block !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image video,
.single-product .woocommerce div.product div.images .wp-post-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #d9d9dc !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  flex: 0 0 84px !important;
  width: 84px !important;
  float: none !important;
  margin: 0 !important;
  list-style: none !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  background: #d9d9dc !important;
  opacity: 1 !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover {
  outline: 3px solid #000080 !important;
  outline-offset: -3px !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  margin-top: -20px !important;
  border: 3px solid #071821 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  opacity: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav a:hover {
  color: #ffa103 !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev {
  left: 10px !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next {
  right: 10px !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  right: 10px !important;
  top: 10px !important;
  z-index: 3 !important;
}

/* make image borders and dark borders consistent */
img,
.wp-post-image,
.custom-logo,
.attachment-woocommerce_thumbnail,
.woocommerce div.product div.images img,
.woocommerce ul.products li.product img,
.wp-block-image img,
figure img {
  border: 3px solid #071821 !important;
  box-sizing: border-box !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .flex-control-thumbs li img,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.shell-entry,
.shell-single,
.woocommerce div.product,
.woocommerce-cart-form,
.woocommerce .cart-collaterals,
.woocommerce-account .woocommerce,
.woocommerce-checkout form.checkout,
.woocommerce table.shop_table,
.comment-body,
.nit-product-summary-box,
.nit-product-contact-note,
.nit-loop-badge,
.woocommerce-MyAccount-navigation a,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-color: #071821 !important;
}


/* v3.9.65 product brand, badges, and viewer cleanup */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
  cursor: default !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
  transform: none !important;
}

.single-product .woocommerce-product-gallery .zoomImg,
.single-product .zoomImg {
  display: none !important;
}

.pswp__button,
.pswp__button:before,
.pswp__button:after {
  background-image: none !important;
  box-shadow: none !important;
}

.pswp__top-bar .pswp__button {
  width: 52px !important;
  height: 52px !important;
  margin: 8px 4px !important;
  border: 3px solid #071821 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  opacity: 1 !important;
  position: relative !important;
}

.pswp__top-bar .pswp__button--fs {
  display: none !important;
}

.pswp__top-bar .pswp__button::before,
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #faf9f6 !important;
  font-family: Arial, sans-serif;
  font-weight: 700;
  line-height: 1;
}

.pswp__top-bar .pswp__button:hover::before,
.pswp__button--arrow--left:hover::before,
.pswp__button--arrow--right:hover::before {
  color: #ffa103 !important;
}

.pswp__button--close::before { content: '×'; font-size: 32px; }
.pswp__button--zoom::before { content: '+'; font-size: 30px; }
.pswp__button--share::before { content: '↗'; font-size: 26px; }

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  width: 64px !important;
  height: 64px !important;
  background: rgba(0, 0, 128, 0.92) !important;
  border: 3px solid #071821 !important;
  opacity: 1 !important;
}

.pswp__button--arrow--left::before { content: '‹'; font-size: 42px; }
.pswp__button--arrow--right::before { content: '›'; font-size: 42px; }

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: none !important;
}


/* v3.9.66 logo border removal and refined single product gallery */
.topbar .custom-logo,
.topbar__logo .custom-logo,
.site-branding .custom-logo,
a.custom-logo-link img.custom-logo {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product div.images {
  display: block !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery {
  display: block !important;
  padding: 0 !important;
  background: transparent !important;
}

.single-product .woocommerce div.product div.images .flex-viewport {
  position: relative !important;
  margin: 0 0 14px !important;
  background: #cfd2d5 !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image video,
.single-product .woocommerce div.product div.images .wp-post-image {
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  padding: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev,
.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next {
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-top: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav a {
  width: 52px !important;
  height: 52px !important;
  border: 2px solid #071821 !important;
  background: rgba(0, 0, 128, 0.94) !important;
  color: #faf9f6 !important;
  font-size: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav a::before {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  font-family: Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #faf9f6 !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-prev::before {
  content: '‹' !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav .flex-next::before {
  content: '›' !important;
}

.single-product .woocommerce div.product div.images .flex-direction-nav a:hover::before {
  color: #ffa103 !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs {
  align-items: stretch !important;
  gap: 12px !important;
  padding: 0 2px !important;
  justify-content: flex-start !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  position: relative !important;
  flex: 0 0 88px !important;
  width: 88px !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border: 2px solid #071821 !important;
  background: #d9d9dc !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover {
  outline: 2px solid #000080 !important;
  outline-offset: -2px !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border: 2px solid #071821 !important;
  background: #d9d9dc !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li.nit-thumb-video::after,
.single-product .woocommerce div.product div.images .flex-control-thumbs li[data-thumb*="video"]::after {
  content: '▶' !important;
  position: absolute !important;
  right: 6px !important;
  bottom: 6px !important;
  width: 20px !important;
  height: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 128, 0.94) !important;
  color: #faf9f6 !important;
  border: 2px solid #071821 !important;
  font-size: 10px !important;
  line-height: 1 !important;
}


/* v3.9.67 structured single product gallery */
.single-product .woocommerce-product-gallery.nit-structured-gallery {
  display: block !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery.nit-structured-gallery .flex-control-thumbs,
.single-product .woocommerce-product-gallery.nit-structured-gallery .flex-direction-nav {
  display: none !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage {
  position: relative;
  overflow: hidden;
  border: 2px solid #071821;
  background: #d9d9dc;
  margin-bottom: 12px;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-track {
  display: flex;
  transition: transform .28s ease;
  width: 100%;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 420px;
  background: #d9d9dc;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide a,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain !important;
  border: 0 !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 52px;
  height: 52px;
  border: 2px solid #071821;
  background: rgba(0, 0, 128, .94);
  color: #faf9f6;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-nav:hover span {
  color: #ffa103;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-nav span {
  font-size: 34px;
  line-height: 1;
  color: #faf9f6;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-nav--prev { left: 10px; }
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-nav--next { right: 10px; }

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: thin;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
  position: relative;
  flex: 0 0 86px;
  width: 86px;
  height: 86px;
  padding: 0;
  border: 2px solid #071821;
  background: #d9d9dc;
  cursor: pointer;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #071821;
  background: #cfd2d5;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb.is-active {
  outline: 2px solid #000080;
  outline-offset: -2px;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb__badge {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 20px;
  height: 20px;
  border: 2px solid #071821;
  background: rgba(0, 0, 128, .94);
  color: #faf9f6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  line-height: 1;
}


/* v3.9.68 thumbnail fill refinement */
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs {
  gap: 12px;
  padding: 2px 0 8px;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  overflow: hidden;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb video,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb__placeholder {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}


/* v3.9.69 remove border from NOWIE image */
img[src*="/sticker-2-225x225.png"],
img[src*="sticker-2-225x225"],
img[src*="/sticker-2.png"],
img[src*="sticker-2"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* v4.0 sidebar on the right; remove borders from non-product images; make product thumbs fill square */
img,
.wp-post-image,
.custom-logo,
.wp-block-image img,
figure img,
img[src*="/sticker-2-225x225.png"],
img[src*="sticker-2-225x225"],
img[src*="/sticker-2.png"],
img[src*="sticker-2"] {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .wp-post-image,
.single-product .woocommerce div.product div.images .flex-control-thumbs img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-main-media {
  border: 3px solid #071821 !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs {
  gap: 10px !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
  flex: 0 0 104px !important;
  width: 104px !important;
  height: 104px !important;
  padding: 0 !important;
  background: #000080 !important;
  overflow: hidden !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb video,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb__placeholder {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
}

/* v4.0.4 shop status box */
.shop-status-widget {
  font-size: 12px;
}

.shop-status-widget__title {
  padding: 10px 10px 8px;
}

.shop-status-widget__body {
  padding: 9px 10px 10px;
  line-height: 1.45;
}

.shop-status-widget__line {
  margin: 0 0 4px;
}

.shop-status-widget__label {
  font-weight: 700;
}

.shop-status-widget__value {
  word-break: normal;
}


.shop-status-widget__value--orders-open,
.shop-status-widget__value--orders-paused {
  color: var(--nit-amber);
  font-weight: 700;
}

.shop-status-widget__note {
  margin: 7px 0 0;
  font-size: 11px;
  color: #3b4650;
}
.shop-status-widget__updated {
  margin: 8px 0 0;
  padding-top: 7px;
  border-top: 1px dotted rgba(7, 24, 33, 0.55);
  font-size: 11px;
  color: #3b4650;
}


/* v4.0.6 single product primary commerce CTA color */
.single-product .summary > .single_add_to_cart_button,
.single-product .summary .single_add_to_cart_button,
.single-product .summary form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product a.button.buy-now,
.single-product .woocommerce div.product a.button.buy_now_button,
.single-product .woocommerce div.product .button[class*="buy-now"],
.single-product .woocommerce div.product .button[class*="buy_now"] {
  background: var(--nit-amber) !important;
  color: var(--nit-text) !important;
  border-color: var(--nit-text) !important;
}

.single-product .summary > .single_add_to_cart_button:hover,
.single-product .summary > .single_add_to_cart_button:focus,
.single-product .summary .single_add_to_cart_button:hover,
.single-product .summary .single_add_to_cart_button:focus,
.single-product .summary form.cart .single_add_to_cart_button:hover,
.single-product .summary form.cart .single_add_to_cart_button:focus,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:focus,
.single-product .woocommerce div.product a.button.buy-now:hover,
.single-product .woocommerce div.product a.button.buy-now:focus,
.single-product .woocommerce div.product a.button.buy_now_button:hover,
.single-product .woocommerce div.product a.button.buy_now_button:focus,
.single-product .woocommerce div.product .button[class*="buy-now"]:hover,
.single-product .woocommerce div.product .button[class*="buy-now"]:focus,
.single-product .woocommerce div.product .button[class*="buy_now"]:hover,
.single-product .woocommerce div.product .button[class*="buy_now"]:focus {
  background: var(--nit-amber) !important;
  color: var(--nit-text) !important;
  border-color: var(--nit-text) !important;
  text-decoration: none !important;
  filter: brightness(1.04);
}


/* v4.0.9 media geometry, article hero, related sections, review flags, stable variation price */

/* The clock no longer belongs in the header. Hide cached/third-party remnants too. */
.topbar__clock,
#nit-live-clock {
  display: none !important;
}

/* PAGE BANNERS
 * Page header/banner artwork keeps its own native proportions but is allowed to
 * scale up to the complete available content width. Only the first standalone
 * image block is treated as the page banner; later page graphics keep native sizing.
 */
body.page:not(.woocommerce-page) .shell-page-content > img:first-child,
body.page:not(.woocommerce-page) .shell-page-content > figure.wp-block-image:first-child,
body.page:not(.woocommerce-page) .shell-page-content > .wp-block-image:first-child,
body.page:not(.woocommerce-page) .shell-page-content > p:first-child:has(> img),
body.page:not(.woocommerce-page) .shell-page-content > .wp-block-group:first-child > .wp-block-image:first-child,
body.page:not(.woocommerce-page) .shell-page-content > .wp-block-group:first-child figure.wp-block-image:first-child {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page:not(.woocommerce-page) .shell-page-content > img:first-child,
body.page:not(.woocommerce-page) .shell-page-content > figure.wp-block-image:first-child img,
body.page:not(.woocommerce-page) .shell-page-content > .wp-block-image:first-child img,
body.page:not(.woocommerce-page) .shell-page-content > p:first-child:has(> img) > img,
body.page:not(.woocommerce-page) .shell-page-content > .wp-block-group:first-child > .wp-block-image:first-child img,
body.page:not(.woocommerce-page) .shell-page-content > .wp-block-group:first-child figure.wp-block-image:first-child img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Other images inside ordinary pages retain their source proportions. */
body.page:not(.woocommerce-page) .shell-page-content img,
body.page:not(.woocommerce-page) .entry-content img {
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}


/* PRODUCT MEDIA
 * The visible frame is exactly 160:144 = 10:9. The frame border is drawn as an
 * inset shadow so it does not alter the mathematical aspect ratio of the media box.
 * Full-resolution gallery sources are selected in PHP/JS to avoid stale cropped
 * WooCommerce derivatives. 10:9 source files use contain and therefore lose no pixels;
 * other proportions use cover and are cropped only enough to fill the 10:9 frame.
 */
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-track {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide > a,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide > div {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide video,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide .wp-post-image {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img.nit-media-native-10x9,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide .wp-post-image.nit-media-native-10x9 {
  object-fit: contain !important;
}



/* High-specificity final gallery geometry guard.
 * Older theme rules targeted WooCommerce image elements with more-specific 4:3
 * selectors. These rules deliberately outrank them so the stage remains 10:9.
 */
.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide > a,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide > div {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide video,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide .wp-post-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img.nit-media-native-10x9,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide .wp-post-image.nit-media-native-10x9 {
  object-fit: contain !important;
}

/* Native WooCommerce gallery while JS is initializing, or when JS is unavailable. */
.single-product .woocommerce div.product div.images .flex-viewport,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  max-width: none !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image > a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) img.wp-post-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image img.nit-media-native-10x9,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) img.wp-post-image.nit-media-native-10x9 {
  object-fit: contain !important;
}

/* Gallery thumbnails use the same horizontal 10:9 geometry. */
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding: 2px 0 8px !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
  position: relative !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #d9d9dc !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb video,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb__placeholder {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img.nit-media-native-10x9 {
  object-fit: contain !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  box-shadow: none !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs img.nit-media-native-10x9 {
  object-fit: contain !important;
}

/* Shop, product categories/taxonomies, Related Products and upsells. */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce ul.products li.product-category img,
.woocommerce-page ul.products li.product-category img,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product .attachment-woocommerce_thumbnail {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

.woocommerce ul.products li.product img.nit-media-native-10x9,
.woocommerce-page ul.products li.product img.nit-media-native-10x9,
.woocommerce ul.products li.product-category img.nit-media-native-10x9,
.woocommerce-page ul.products li.product-category img.nit-media-native-10x9 {
  object-fit: contain !important;
}

.woocommerce ul.products li.product .nit-product-media,
.woocommerce-page ul.products li.product .nit-product-media,
.woocommerce ul.products li.product .nit-product-video,
.woocommerce-page ul.products li.product .nit-product-video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  overflow: hidden !important;
}

/* WooCommerce block / Product Collection cards. */
.wc-block-components-product-image,
.wc-block-grid__product-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

.wc-block-components-product-image img,
.wc-block-grid__product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  box-shadow: none !important;
}

.wc-block-components-product-image img.nit-media-native-10x9,
.wc-block-grid__product-image img.nit-media-native-10x9 {
  object-fit: contain !important;
}


/* BLOG MEDIA
 * Archive cards and the single-post featured image use the same 10:9 media frame.
 */
body.blog .shell-entry__thumb,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .shell-entry__thumb,
body.category .shell-entry__thumb,
body.tag .shell-entry__thumb,
body.search .shell-entry__thumb,
body.single-post .shell-single__featured-media {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
  box-sizing: border-box !important;
}

body.single-post .shell-single__featured-media {
  margin: 0 0 14px !important;
}

body.blog .shell-entry__thumb img,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .shell-entry__thumb img,
body.category .shell-entry__thumb img,
body.tag .shell-entry__thumb img,
body.search .shell-entry__thumb img,
body.single-post .shell-single__featured-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.blog .shell-entry__thumb img.nit-media-native-10x9,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .shell-entry__thumb img.nit-media-native-10x9,
body.category .shell-entry__thumb img.nit-media-native-10x9,
body.tag .shell-entry__thumb img.nit-media-native-10x9,
body.search .shell-entry__thumb img.nit-media-native-10x9,
body.single-post .shell-single__featured-media img.nit-media-native-10x9 {
  object-fit: contain !important;
}

/* Images deliberately placed inside blog article content also keep the requested
   10:9 editorial frame. */
body.single-post .shell-single__content img,
body.single-post .entry-content img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.single-post .shell-single__content img.nit-media-native-10x9,
body.single-post .entry-content img.nit-media-native-10x9 {
  object-fit: contain !important;
}

body.single-post .shell-single__meta {
  margin: 0 0 14px !important;
}


/* RELATED / RELATED PRODUCTS / YOU MAY ALSO LIKE
 * Jetpack's Related section is normalized to the same window/card language, while
 * WooCommerce recommendation sections use three desktop columns consistently.
 */
#jp-relatedposts,
.jp-relatedposts {
  clear: both !important;
  width: 100% !important;
  margin: 22px 0 0 !important;
  padding: 12px !important;
  background: #bfbfbf !important;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#jp-relatedposts .jp-relatedposts-headline,
.jp-relatedposts .jp-relatedposts-headline {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  background: var(--nit-blue) !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

#jp-relatedposts .jp-relatedposts-headline em,
.jp-relatedposts .jp-relatedposts-headline em {
  color: inherit !important;
  font: inherit !important;
  font-style: normal !important;
}

#jp-relatedposts .jp-relatedposts-headline em::before,
.jp-relatedposts .jp-relatedposts-headline em::before {
  display: none !important;
}

#jp-relatedposts .jp-relatedposts-items,
.jp-relatedposts .jp-relatedposts-items {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
}

#jp-relatedposts .jp-relatedposts-post,
.jp-relatedposts .jp-relatedposts-post {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
}

#jp-relatedposts .jp-relatedposts-post-a,
.jp-relatedposts .jp-relatedposts-post-a {
  display: block !important;
  width: 100% !important;
}

#jp-relatedposts .jp-relatedposts-post-img,
.jp-relatedposts .jp-relatedposts-post-img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 0 10px !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 3px #071821 !important;
}

#jp-relatedposts .jp-relatedposts-post-title,
.jp-relatedposts .jp-relatedposts-post-title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

#jp-relatedposts .jp-relatedposts-post-title a,
.jp-relatedposts .jp-relatedposts-post-title a {
  color: var(--nit-blue) !important;
  text-decoration: none !important;
}

#jp-relatedposts .jp-relatedposts-post-context,
#jp-relatedposts .jp-relatedposts-post-excerpt,
.jp-relatedposts .jp-relatedposts-post-context,
.jp-relatedposts .jp-relatedposts-post-excerpt {
  margin: auto 0 0 !important;
  color: #666f76 !important;
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.single-product .related.products ul.products,
.single-product .upsells.products ul.products,
.single-product .cross-sells ul.products,
.single-product section.related.products ul.products,
.single-product section.upsells.products ul.products,
.single-product section.cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product,
.single-product .cross-sells ul.products li.product {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}

@media (max-width: 900px) {
  #jp-relatedposts .jp-relatedposts-items,
  .jp-relatedposts .jp-relatedposts-items,
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products,
  .single-product .cross-sells ul.products,
  .single-product section.related.products ul.products,
  .single-product section.upsells.products ul.products,
  .single-product section.cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  #jp-relatedposts .jp-relatedposts-items,
  .jp-relatedposts .jp-relatedposts-items,
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products,
  .single-product .cross-sells ul.products,
  .single-product section.related.products ul.products,
  .single-product section.upsells.products ul.products,
  .single-product section.cross-sells ul.products {
    grid-template-columns: 1fr !important;
  }
}


/* REVIEW / COMMENT COUNTRY FLAGS
 * CusRev and compatible country icons must remain a small inline marker beside the
 * reviewer name, never inherit full-width content-image rules.
 */
.ivole-review-country-icon,
.woocommerce-Reviews .ivole-review-country-icon,
.comment-list .ivole-review-country-icon,
.commentlist .ivole-review-country-icon {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 20px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 14px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.ivole-review-country-icon img,
.woocommerce-Reviews .ivole-review-country-icon img,
.comment-list .ivole-review-country-icon img,
.commentlist .ivole-review-country-icon img {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 20px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 14px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* PRODUCT LIGHTBOX: no attachment filename/title/caption is displayed. */
body.single-product .pswp__caption,
body.single-product .pswp__caption__center,
body.single-product .fancybox__caption,
body.single-product .mfp-title,
body.single-product .lg-sub-html {
  display: none !important;
}


/* VARIABLE PRODUCT PRICE
 * WooCommerce's native dynamic price remains hidden in its normal location. One
 * stable display beside Add to cart is fed directly from the selected variation.
 */
.single-product div.product.product-type-variable .summary > p.price,
.single-product div.product.product-type-variable .summary > span.price,
.single-product div.product.product-type-variable .summary > .price,
.single-product div.product form.variations_form .single_variation .woocommerce-variation-price,
.single-product div.product form.variations_form .single_variation > .price {
  display: none !important;
}

.single-product div.product form.variations_form .nit-live-variation-price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 0 0 6px !important;
  min-height: 1.1em !important;
  font-family: var(--font-pixel) !important;
  font-size: clamp(16px, 2.1vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  color: var(--nit-blue) !important;
  transition: none !important;
  animation: none !important;
}

.single-product div.product form.variations_form .nit-live-variation-price:empty,
.single-product div.product form.variations_form .nit-live-variation-price[hidden] {
  display: none !important;
}

.single-product div.product form.variations_form .nit-live-variation-price *,
.single-product div.product form.variations_form .nit-live-variation-price .price,
.single-product div.product form.variations_form .nit-live-variation-price .woocommerce-Price-amount,
.single-product div.product form.variations_form .nit-live-variation-price .woocommerce-Price-currencySymbol,
.single-product div.product form.variations_form .nit-live-variation-price del,
.single-product div.product form.variations_form .nit-live-variation-price ins {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  transition: none !important;
  animation: none !important;
}

.single-product div.product form.variations_form .nit-live-variation-price .price {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.35em !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* v4.0.9 final hardening: banner detection and review-country flag guards. */
body.page:not(.woocommerce-page) .shell-page-content > .nit-page-banner {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page:not(.woocommerce-page) .shell-page-content .nit-page-banner-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}

.woocommerce-Reviews img[class*="review-country" i],
.woocommerce-Reviews img[class*="country-flag" i],
.comment-list img[class*="review-country" i],
.comment-list img[class*="country-flag" i],
.commentlist img[class*="review-country" i],
.commentlist img[class*="country-flag" i] {
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 20px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 14px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* v4.0.10 media-frame hardening
 * Product and blog media use an exact horizontal 10:9 frame everywhere they
 * appear. The visual black border is drawn inside the frame so it never changes
 * the 10:9 geometry. Images that are not 10:9 fill the frame with a centred
 * crop; native 10:9 images therefore remain uncropped automatically.
 */

/* Product Collection / Featured Products blocks: override older 4:3 rules with
 * enough specificity to win even on the home page and ordinary pages. */
body.home .wp-block-woocommerce-product-collection .wc-block-components-product-image,
body.home .wp-block-woocommerce-product-collection .wc-block-grid__product-image,
body.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image,
body.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-grid__product-image,
body .wp-block-woocommerce-product-collection .wc-block-components-product-image,
body .wp-block-woocommerce-product-collection .wc-block-grid__product-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 0 !important;
  outline: 3px solid #071821 !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.home .wp-block-woocommerce-product-collection .wc-block-components-product-image > a,
body.home .wp-block-woocommerce-product-collection .wc-block-grid__product-image > a,
body.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image > a,
body.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-grid__product-image > a,
body .wp-block-woocommerce-product-collection .wc-block-components-product-image > a,
body .wp-block-woocommerce-product-collection .wc-block-grid__product-image > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.home .wp-block-woocommerce-product-collection .wc-block-components-product-image img,
body.home .wp-block-woocommerce-product-collection .wc-block-grid__product-image img,
body.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-components-product-image img,
body.page:not(.woocommerce) .wp-block-woocommerce-product-collection .wc-block-grid__product-image img,
body .wp-block-woocommerce-product-collection .wc-block-components-product-image img,
body .wp-block-woocommerce-product-collection .wc-block-grid__product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Classic WooCommerce product/category loops: shop, categories, shortcodes,
 * Featured Products, Related Products, upsells and "You may also like". */
.woocommerce ul.products li.product .woocommerce-loop-product__link > img,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link > img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product-category a > img,
.woocommerce-page ul.products li.product-category a > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 3px solid #071821 !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Single-product main frame and thumbnails. */
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage,
.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image,
.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  border: 0 !important;
  outline: 3px solid #071821 !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
}

/* Blog archive cards and the featured image at the top of an article. */
body.blog .shell-entry__thumb,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .shell-entry__thumb,
body.category .shell-entry__thumb,
body.tag .shell-entry__thumb,
body.search .shell-entry__thumb,
body.single-post .shell-single__featured-media {
  border: 0 !important;
  outline: 3px solid #071821 !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
}

/* Jetpack/WordPress Related article thumbnails use the same media treatment. */
body.single-post #jp-relatedposts .jp-relatedposts-post-img,
body.single-post .jp-relatedposts .jp-relatedposts-post-img,
body.single-post .wp-block-query .wp-block-post-featured-image,
body.blog .wp-block-query .wp-block-post-featured-image,
body.category .wp-block-query .wp-block-post-featured-image,
body.tag .wp-block-query .wp-block-post-featured-image,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .wp-block-query .wp-block-post-featured-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 0 !important;
  outline: 3px solid #071821 !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.single-post #jp-relatedposts .jp-relatedposts-post-img,
body.single-post .jp-relatedposts .jp-relatedposts-post-img {
  object-fit: cover !important;
  object-position: center center !important;
}

body.single-post .wp-block-query .wp-block-post-featured-image img,
body.blog .wp-block-query .wp-block-post-featured-image img,
body.category .wp-block-query .wp-block-post-featured-image img,
body.tag .wp-block-query .wp-block-post-featured-image img,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .wp-block-query .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Legacy Featured Products / Products block media, when rendered outside the
 * newer Product Collection wrapper. */
body .wc-block-grid__product-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 0 !important;
  outline: 3px solid #071821 !important;
  outline-offset: -3px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body .wc-block-grid__product-image > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .wc-block-grid__product-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* v4.0.11 recommendation parity, exact gallery borders, article-lightbox surfaces */

/* All recommendation modules use the same visual system as "You may also like". */
body.single-product #jp-relatedposts,
body.single-product .jp-relatedposts,
body.single-post #jp-relatedposts,
body.single-post .jp-relatedposts,
body.single-product .woocommerce .related.products,
body.single-product .woocommerce .upsells.products,
body.single-product .woocommerce .cross-sells {
  clear: both !important;
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 12px 12px !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.single-product #jp-relatedposts .jp-relatedposts-headline,
body.single-product .jp-relatedposts .jp-relatedposts-headline,
body.single-post #jp-relatedposts .jp-relatedposts-headline,
body.single-post .jp-relatedposts .jp-relatedposts-headline,
body.single-product .woocommerce .related.products > h2,
body.single-product .woocommerce .upsells.products > h2,
body.single-product .woocommerce .cross-sells > h2 {
  display: block !important;
  width: calc(100% + 24px) !important;
  max-width: none !important;
  margin: 0 -12px 12px !important;
  padding: 10px 12px !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 0 !important;
  border-bottom: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

body.single-product #jp-relatedposts .jp-relatedposts-headline em,
body.single-product .jp-relatedposts .jp-relatedposts-headline em,
body.single-post #jp-relatedposts .jp-relatedposts-headline em,
body.single-post .jp-relatedposts .jp-relatedposts-headline em {
  color: inherit !important;
  font: inherit !important;
  font-style: normal !important;
}

body.single-product #jp-relatedposts .jp-relatedposts-headline em::before,
body.single-product .jp-relatedposts .jp-relatedposts-headline em::before,
body.single-post #jp-relatedposts .jp-relatedposts-headline em::before,
body.single-post .jp-relatedposts .jp-relatedposts-headline em::before {
  display: none !important;
}

body.single-product #jp-relatedposts .jp-relatedposts-items,
body.single-product .jp-relatedposts .jp-relatedposts-items,
body.single-post #jp-relatedposts .jp-relatedposts-items,
body.single-post .jp-relatedposts .jp-relatedposts-items,
body.single-product .woocommerce .related.products ul.products,
body.single-product .woocommerce .upsells.products ul.products,
body.single-product .woocommerce .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product #jp-relatedposts .jp-relatedposts-post,
body.single-product .jp-relatedposts .jp-relatedposts-post,
body.single-post #jp-relatedposts .jp-relatedposts-post,
body.single-post .jp-relatedposts .jp-relatedposts-post,
body.single-product .woocommerce .related.products ul.products li.product,
body.single-product .woocommerce .upsells.products ul.products li.product,
body.single-product .woocommerce .cross-sells ul.products li.product {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
}

body.single-product #jp-relatedposts .jp-relatedposts-post-img,
body.single-product .jp-relatedposts .jp-relatedposts-post-img,
body.single-post #jp-relatedposts .jp-relatedposts-post-img,
body.single-post .jp-relatedposts .jp-relatedposts-post-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  margin: 0 0 10px !important;
  border: 3px solid #071821 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Jetpack's context/excerpt makes product-page Related look like a blog widget.
   Hide it there so the card hierarchy matches WooCommerce recommendations. */
body.single-product #jp-relatedposts .jp-relatedposts-post-context,
body.single-product #jp-relatedposts .jp-relatedposts-post-excerpt,
body.single-product .jp-relatedposts .jp-relatedposts-post-context,
body.single-product .jp-relatedposts .jp-relatedposts-post-excerpt {
  display: none !important;
}

/* Blog article canvas is off-white. Related sits on that same canvas, with its own bordered module. */
body.single-post .content-window__body,
body.single-post .shell-single,
body.single-post .site-main {
  background-color: #faf9f6 !important;
}

/* Exact 10:9 product gallery frame with a real black border. */
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 3px solid #071821 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Thumbnail strip: wrap, slightly more air, first and last item align with the large frame edges. */
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  column-gap: 12px !important;
  row-gap: 12px !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 14px 0 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
  flex: 0 0 104px !important;
  width: 104px !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  margin: 0 !important;
  border: 3px solid #071821 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 14px 0 0 !important;
  margin: 0 !important;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  float: none !important;
  flex: 0 0 104px !important;
  width: 104px !important;
  margin: 0 !important;
  border: 3px solid #071821 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 720px) {
  body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb,
  body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
    flex-basis: calc((100% - 36px) / 4) !important;
    width: calc((100% - 36px) / 4) !important;
  }
}

/* Product description and every custom/standard tab use the same off-white reading surface as blog articles. */
body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card,
body.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card__body {
  background: #faf9f6 !important;
  background-color: #faf9f6 !important;
  box-shadow: none !important;
}

/* Prevent Jetpack Like/comment-like iframes from reserving large white rectangles. */
.jetpack-likes-widget-wrapper,
.sd-like.jetpack-likes-widget-wrapper,
.comment-likes-widget.jetpack-likes-widget.comment-likes {
  width: auto !important;
  max-width: 100% !important;
  overflow: hidden !important;
  background: transparent !important;
}
.jetpack-likes-widget-wrapper iframe,
iframe.post-likes-widget {
  display: block !important;
  width: 420px !important;
  max-width: 100% !important;
  height: 52px !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.comment-likes-widget.jetpack-likes-widget.comment-likes iframe,
.comment-body iframe[src*="widgets.wp.com/likes"],
.woocommerce-Reviews iframe[src*="widgets.wp.com/likes"] {
  width: 220px !important;
  max-width: 100% !important;
  height: 24px !important;
  min-height: 0 !important;
}
.likes-widget-placeholder,
.post-likes-widget-placeholder {
  width: 420px !important;
  max-width: 100% !important;
  height: 52px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}
.comment-body .likes-widget-placeholder,
.comment-body .post-likes-widget-placeholder,
.woocommerce-Reviews .likes-widget-placeholder,
.woocommerce-Reviews .post-likes-widget-placeholder {
  width: 220px !important;
  height: 24px !important;
}
.cr-comment-images:empty,
.cr-comment-videos:empty,
.cr-upload-images-preview:empty,
.iv-comment-image:empty,
[class*="review-images" i]:empty,
[class*="review-media" i]:empty {
  display: none !important;
}

/* Blog image viewer: same blue/black controls as the product PhotoSwipe viewer. */
body.single-post .shell-single__featured-media img,
body.single-post .shell-single__content img {
  cursor: zoom-in !important;
}
.nit-blog-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none;
  background: rgba(0,0,0,.92) !important;
}
.nit-blog-lightbox.is-open { display: block !important; }
.nit-blog-lightbox__viewport {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
  padding: 72px 24px 24px !important;
  box-sizing: border-box !important;
}
.nit-blog-lightbox__image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(100vh - 100px) !important;
  object-fit: contain !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: zoom-in !important;
}
.nit-blog-lightbox.is-zoomed .nit-blog-lightbox__image {
  max-width: none !important;
  max-height: none !important;
  cursor: zoom-out !important;
}
.nit-blog-lightbox__button {
  position: fixed !important;
  top: 18px !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.nit-blog-lightbox__zoom { right: 76px !important; font-size: 30px !important; }
.nit-blog-lightbox__close { right: 18px !important; font-size: 34px !important; }
.nit-blog-lightbox__button:hover,
.nit-blog-lightbox__button:focus {
  color: #ffa103 !important;
  text-decoration: none !important;
}
body.nit-blog-lightbox-open { overflow: hidden !important; }

@media (max-width: 900px) {
  body.single-product #jp-relatedposts .jp-relatedposts-items,
  body.single-product .jp-relatedposts .jp-relatedposts-items,
  body.single-post #jp-relatedposts .jp-relatedposts-items,
  body.single-post .jp-relatedposts .jp-relatedposts-items,
  body.single-product .woocommerce .related.products ul.products,
  body.single-product .woocommerce .upsells.products ul.products,
  body.single-product .woocommerce .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  body.single-product #jp-relatedposts .jp-relatedposts-items,
  body.single-product .jp-relatedposts .jp-relatedposts-items,
  body.single-post #jp-relatedposts .jp-relatedposts-items,
  body.single-post .jp-relatedposts .jp-relatedposts-items,
  body.single-product .woocommerce .related.products ul.products,
  body.single-product .woocommerce .upsells.products ul.products,
  body.single-product .woocommerce .cross-sells ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* v4.0.11 geometry refinement: draw the main product border as an overlay so
   the media viewport itself remains mathematically exact 10:9. */
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage {
  position: relative !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 8 !important;
  pointer-events: none !important;
  border: 3px solid #071821 !important;
  box-sizing: border-box !important;
}

/* Blog images inside the article body are media too: keep the 10:9 treatment
   and the same black edge used by product/blog cards. */
body.single-post .shell-single__content img,
body.single-post .entry-content img {
  border: 3px solid #071821 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Recommendation card typography parity with WooCommerce cards. */
body.single-product #jp-relatedposts .jp-relatedposts-post-title,
body.single-product .jp-relatedposts .jp-relatedposts-post-title,
body.single-post #jp-relatedposts .jp-relatedposts-post-title,
body.single-post .jp-relatedposts .jp-relatedposts-post-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
body.single-product #jp-relatedposts .jp-relatedposts-post-title a,
body.single-product .jp-relatedposts .jp-relatedposts-post-title a,
body.single-post #jp-relatedposts .jp-relatedposts-post-title a,
body.single-post .jp-relatedposts .jp-relatedposts-post-title a {
  color: #071821 !important;
  text-decoration: none !important;
}

/* Cross-origin Jetpack Like canvases can paint an opaque white background.
   Blend that white into the surrounding theme surface instead of showing a white slab. */
.jetpack-likes-widget-wrapper iframe,
.comment-likes-widget.jetpack-likes-widget.comment-likes iframe,
iframe.post-likes-widget {
  mix-blend-mode: multiply !important;
}

/* v4.0.12 unified recommendations, native tabs, single-row thumbnail scroller, centred media crop */

/* Product pages: keep exactly one recommendation module. The PHP renderer uses
   manual upsells first, then WooCommerce related products only as fallback. */
body.single-product #jp-relatedposts,
body.single-product .jp-relatedposts,
body.single-product .woocommerce .related.products:not(.nit-unified-recommendations),
body.single-product .woocommerce .upsells.products:not(.nit-unified-recommendations),
body.single-product .woocommerce .cross-sells:not(.nit-unified-recommendations) {
  display: none !important;
}

body.single-product .nit-unified-recommendations,
body.single-post #jp-relatedposts,
body.single-post .jp-relatedposts {
  clear: both !important;
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 12px 12px !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body.single-product .nit-unified-recommendations > h2,
body.single-post #jp-relatedposts .jp-relatedposts-headline,
body.single-post .jp-relatedposts .jp-relatedposts-headline {
  display: block !important;
  width: calc(100% + 24px) !important;
  max-width: none !important;
  margin: 0 -12px 12px !important;
  padding: 10px 12px !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 0 !important;
  border-bottom: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Force the same public label even if Jetpack serves an old/cached headline. */
body.single-post #jp-relatedposts .jp-relatedposts-headline em,
body.single-post .jp-relatedposts .jp-relatedposts-headline em {
  display: inline !important;
  color: transparent !important;
  font-size: 0 !important;
  font-style: normal !important;
}
body.single-post #jp-relatedposts .jp-relatedposts-headline em::after,
body.single-post .jp-relatedposts .jp-relatedposts-headline em::after {
  content: "YOU MAY ALSO LIKE…" !important;
  display: inline !important;
  color: #faf9f6 !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

body.single-product .nit-unified-recommendations ul.products,
body.single-post #jp-relatedposts .jp-relatedposts-items,
body.single-post .jp-relatedposts .jp-relatedposts-items {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .nit-unified-recommendations ul.products li.product,
body.single-post #jp-relatedposts .jp-relatedposts-post,
body.single-post .jp-relatedposts .jp-relatedposts-post {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
}

/* Blog recommendation cards use the same restrained hierarchy as product cards. */
body.single-post #jp-relatedposts .jp-relatedposts-post-context,
body.single-post #jp-relatedposts .jp-relatedposts-post-excerpt,
body.single-post .jp-relatedposts .jp-relatedposts-post-context,
body.single-post .jp-relatedposts .jp-relatedposts-post-excerpt {
  display: none !important;
}
body.single-post #jp-relatedposts .jp-relatedposts-post-title,
body.single-post .jp-relatedposts .jp-relatedposts-post-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
body.single-post #jp-relatedposts .jp-relatedposts-post-title a,
body.single-post .jp-relatedposts .jp-relatedposts-post-title a {
  color: #071821 !important;
  text-decoration: none !important;
}

/* The article canvas outside the recommendation border stays off-white. */
body.single-post .content-window__body,
body.single-post .shell-single,
body.single-post .site-main {
  background: #faf9f6 !important;
  background-color: #faf9f6 !important;
}

/* Restore native WooCommerce/custom tabs. Do not wrap or replace callbacks. */
body.single-product .woocommerce div.product .woocommerce-tabs {
  display: block !important;
  width: 100% !important;
  margin: 18px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
body.single-product .woocommerce div.product .woocommerce-tabs ul.wc-tabs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce div.product .woocommerce-tabs .wc-tab {
  margin: 10px 0 0 !important;
  padding: 18px !important;
  background: #faf9f6 !important;
  background-color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card,
body.single-product .woocommerce div.product .woocommerce-tabs .panel .nit-product-tab-card__body {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Product gallery thumbnails: always one row. If they overflow, JS adds the
   same visual arrows used by the main image and the row scrolls horizontally. */
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-shell {
  position: relative !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  box-sizing: border-box !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs::-webkit-scrollbar {
  display: none !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-shell.is-scrollable .nit-gallery-thumbs {
  justify-content: flex-start !important;
  padding-left: 62px !important;
  padding-right: 62px !important;
  scroll-snap-type: x proximity !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
  flex: 0 0 104px !important;
  width: 104px !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #d9d9dc !important;
  border: 3px solid #071821 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  scroll-snap-align: center !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav[hidden] {
  display: none !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 12 !important;
  width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 128, .94) !important;
  color: #faf9f6 !important;
  border: 2px solid #071821 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav--prev { left: 0 !important; }
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav--next { right: 0 !important; }
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav span {
  color: #faf9f6 !important;
  font-size: 34px !important;
  line-height: 1 !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav:hover span,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav:focus span {
  color: #ffa103 !important;
}

/* Centred cropping is the single rule for every product/blog 10:9 frame.
   Exact native 10:9 sources remain uncropped. */
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
body .woocommerce ul.products li.product img,
body .woocommerce-page ul.products li.product img,
body .wc-block-components-product-image img,
body .wc-block-grid__product-image img,
body.blog .shell-entry__thumb img,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .shell-entry__thumb img,
body.category .shell-entry__thumb img,
body.tag .shell-entry__thumb img,
body.search .shell-entry__thumb img,
body.single-post .shell-single__featured-media img,
body.single-post #jp-relatedposts .jp-relatedposts-post-img,
body.single-post .jp-relatedposts .jp-relatedposts-post-img {
  object-fit: cover !important;
  object-position: 50% 50% !important;
  background-position: 50% 50% !important;
}
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img.nit-media-native-10x9,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img.nit-media-native-10x9,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.nit-media-native-10x9,
body .woocommerce ul.products li.product img.nit-media-native-10x9,
body .woocommerce-page ul.products li.product img.nit-media-native-10x9,
body .wc-block-components-product-image img.nit-media-native-10x9,
body .wc-block-grid__product-image img.nit-media-native-10x9,
body.blog .shell-entry__thumb img.nit-media-native-10x9,
body.archive:not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .shell-entry__thumb img.nit-media-native-10x9,
body.category .shell-entry__thumb img.nit-media-native-10x9,
body.tag .shell-entry__thumb img.nit-media-native-10x9,
body.search .shell-entry__thumb img.nit-media-native-10x9,
body.single-post .shell-single__featured-media img.nit-media-native-10x9 {
  object-fit: contain !important;
  object-position: 50% 50% !important;
}

@media (max-width: 900px) {
  body.single-product .nit-unified-recommendations ul.products,
  body.single-post #jp-relatedposts .jp-relatedposts-items,
  body.single-post .jp-relatedposts .jp-relatedposts-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  body.single-product .nit-unified-recommendations ul.products,
  body.single-post #jp-relatedposts .jp-relatedposts-items,
  body.single-post .jp-relatedposts .jp-relatedposts-items {
    grid-template-columns: 1fr !important;
  }
  body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb {
    flex-basis: 84px !important;
    width: 84px !important;
  }
  body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-shell.is-scrollable .nit-gallery-thumbs {
    padding-left: 52px !important;
    padding-right: 52px !important;
  }
  body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumbs-nav {
    width: 44px !important;
    height: 44px !important;
  }
}

/* v4.0.13 hard fixes: product tab reading card + deterministic centred gallery crop */

/*
 * PRODUCT TAB READING SURFACE
 * WooCommerce and third-party tab plugins do not all keep panels under exactly
 * the same wrapper. Target the actual tab panels directly so Description and
 * every custom tab always render as an off-white bordered reading card.
 */
body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .wc-tab,
body.single-product .wc-tabs-wrapper .panel,
body.single-product .wc-tabs-wrapper .woocommerce-Tabs-panel,
body.single-product [id^="tab-"][class*="panel"],
body.single-product [role="tabpanel"][id^="tab-"] {
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 22px !important;
  background: #faf9f6 !important;
  background-color: #faf9f6 !important;
  border: 3px solid #071821 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Preserve WooCommerce's inactive-tab visibility logic. */
body.single-product .woocommerce-Tabs-panel[style*="display: none"],
body.single-product .woocommerce-tabs .panel[style*="display: none"],
body.single-product .woocommerce-tabs .wc-tab[style*="display: none"] {
  display: none !important;
}

body.single-product .woocommerce-Tabs-panel > :first-child,
body.single-product .woocommerce-tabs .panel > :first-child,
body.single-product .woocommerce-tabs .wc-tab > :first-child {
  margin-top: 0 !important;
}
body.single-product .woocommerce-Tabs-panel > :last-child,
body.single-product .woocommerce-tabs .panel > :last-child,
body.single-product .woocommerce-tabs .wc-tab > :last-child {
  margin-bottom: 0 !important;
}

/* Any legacy card wrappers inside a native panel must not re-introduce grey. */
body.single-product .woocommerce-Tabs-panel .nit-product-tab-card,
body.single-product .woocommerce-Tabs-panel .nit-product-tab-card__body,
body.single-product .woocommerce-tabs .panel .nit-product-tab-card,
body.single-product .woocommerce-tabs .panel .nit-product-tab-card__body {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/*
 * DETERMINISTIC PRODUCT-GALLERY CROP
 * The frame stays exactly 10:9. Non-10:9 sources fill it from the mathematical
 * centre. Native 10:9 sources are shown whole. These rules intentionally target
 * every image layer in the stage and neutralise stale positional properties.
 */
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-stage {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  overflow: hidden !important;
  border: 3px solid #071821 !important;
  background: #d9d9dc !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-track,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide > a,
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide > div {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img:not(.zoomImg),
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img:not(.zoomImg),
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image img:not(.zoomImg) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide img.nit-media-native-10x9:not(.zoomImg),
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-thumb img.nit-media-native-10x9,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery:not(.nit-structured-gallery) .woocommerce-product-gallery__image img.nit-media-native-10x9:not(.zoomImg) {
  object-fit: contain !important;
  object-position: 50% 50% !important;
}

/* WooCommerce's hover-zoom clone must never become the visible crop layer. */
body.single-product .woocommerce-product-gallery .zoomImg,
body.single-product .woocommerce-product-gallery img.zoomImg,
body.single-product img.zoomImg {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* v4.0.15: deterministic product-gallery switching + recommendation canvas.
 * Only one product media slide occupies the 10:9 stage at a time. This avoids
 * stale WooCommerce/FlexSlider dimensions or transforms hiding later images.
 */
body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-track {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  transition: none !important;
}

body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
}

body.single-product .woocommerce-product-gallery.nit-structured-gallery .nit-gallery-slide.is-active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* The recommendation module's canvas, behind the three product cards. */
body.single-product .nit-unified-recommendations,
body.single-product .nit-unified-recommendations > ul.products {
  background: #bfbfbf !important;
  background-color: #bfbfbf !important;
}

/* v4.0.16: one visual system for product, blog and knowledge-base content. */

/* The reading canvas is the same off-white on products, posts and singular
   knowledge-base/custom-post pages. Individual commerce controls/cards keep
   their own established gray surfaces. */
body.single-product .content-window__body,
body.single-post .content-window__body,
body.single:not(.single-product) .content-window__body,
body.single-product .site-main,
body.single-post .site-main,
body.single:not(.single-product) .site-main {
  background-color: #faf9f6 !important;
}

/* Jetpack Related on blog posts and knowledge-base/custom-post articles uses
   exactly the same window language as the product "You may also like…" module. */
body:not(.single-product) #jp-relatedposts,
body:not(.single-product) .jp-relatedposts,
body.single-product .nit-unified-recommendations {
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  margin: 24px 0 0 !important;
  padding: 0 12px 12px !important;
  background: #bfbfbf !important;
  background-color: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

body:not(.single-product) #jp-relatedposts .jp-relatedposts-headline,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-headline,
body.single-product .nit-unified-recommendations > h2 {
  display: block !important;
  width: calc(100% + 24px) !important;
  max-width: none !important;
  margin: 0 -12px 12px !important;
  padding: 10px 12px !important;
  background: #000080 !important;
  color: #faf9f6 !important;
  border: 0 !important;
  border-bottom: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

body:not(.single-product) #jp-relatedposts .jp-relatedposts-headline em,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-headline em {
  display: inline !important;
  color: transparent !important;
  font: inherit !important;
  font-size: 0 !important;
  font-style: normal !important;
}
body:not(.single-product) #jp-relatedposts .jp-relatedposts-headline em::before,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-headline em::before {
  display: none !important;
}
body:not(.single-product) #jp-relatedposts .jp-relatedposts-headline em::after,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-headline em::after {
  content: "YOU MAY ALSO LIKE…" !important;
  display: inline !important;
  color: #faf9f6 !important;
  font-family: var(--font-pixel) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

body:not(.single-product) #jp-relatedposts .jp-relatedposts-items,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-items,
body.single-product .nit-unified-recommendations > ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: #bfbfbf !important;
  background-color: #bfbfbf !important;
}

body:not(.single-product) #jp-relatedposts .jp-relatedposts-post,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-post,
body.single-product .nit-unified-recommendations > ul.products > li.product {
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px !important;
  background: #bfbfbf !important;
  background-color: #bfbfbf !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
}

body:not(.single-product) #jp-relatedposts .jp-relatedposts-post-title,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-post-title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
body:not(.single-product) #jp-relatedposts .jp-relatedposts-post-title a,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-post-title a {
  color: #071821 !important;
  text-decoration: none !important;
}
body:not(.single-product) #jp-relatedposts .jp-relatedposts-post-context,
body:not(.single-product) #jp-relatedposts .jp-relatedposts-post-excerpt,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-post-context,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-post-excerpt {
  display: none !important;
}

/* Related thumbnails, when Jetpack has one, share the same 10:9 media frame
   and black border used by product/blog cards. */
body:not(.single-product) #jp-relatedposts .jp-relatedposts-post-img,
body:not(.single-product) .jp-relatedposts .jp-relatedposts-post-img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 10 / 9 !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  margin: 0 0 10px !important;
  border: 3px solid #071821 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Keep recommendation layout responsive in exactly the same way everywhere. */
@media (max-width: 900px) {
  body:not(.single-product) #jp-relatedposts .jp-relatedposts-items,
  body:not(.single-product) .jp-relatedposts .jp-relatedposts-items,
  body.single-product .nit-unified-recommendations > ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 620px) {
  body:not(.single-product) #jp-relatedposts .jp-relatedposts-items,
  body:not(.single-product) .jp-relatedposts .jp-relatedposts-items,
  body.single-product .nit-unified-recommendations > ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* v4.0.17: final CTA scale + knowledge-base related summaries. */
.single-product .summary > .single_add_to_cart_button,
.single-product .summary .single_add_to_cart_button,
.single-product .summary form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product a.button.buy-now,
.single-product .woocommerce div.product a.button.buy_now_button,
.single-product .woocommerce div.product .button[class*="buy-now"],
.single-product .woocommerce div.product .button[class*="buy_now"] {
  font-size: clamp(20px, 1.8vw, 22px) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

/* Knowledge-base cards keep their article summary, but never the Jetpack
   relationship label (for example “Similar post”). */
body[class*="single-epkb_post_type_"] #jp-relatedposts .jp-relatedposts-post-excerpt,
body[class*="single-epkb_post_type_"] .jp-relatedposts .jp-relatedposts-post-excerpt {
  display: block !important;
  margin: 10px 0 0 !important;
  color: #666f76 !important;
  font-family: var(--font-ui) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body[class*="single-epkb_post_type_"] #jp-relatedposts .jp-relatedposts-post-context,
body[class*="single-epkb_post_type_"] .jp-relatedposts .jp-relatedposts-post-context {
  display: none !important;
}

