/* Iron Gulf Parts theme for OpenCart 4.1 — loaded after the stock stylesheet.css */

@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/barlow-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/barlow-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/barlow-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/barlow-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); }

:root {
  --igp-navy: #13294B;
  --igp-navy-dark: #0A1A33;
  --igp-navy-soft: #1E3A64;
  --igp-navy-line: #2C4A78;
  --igp-steel: #4B5058;
  --igp-orange: #F26A1B;
  --igp-orange-tint: #FFF4EC;
  --igp-ground: #F3F4F6;
  --igp-line: #D1D5DB;
  --igp-line-soft: #E5E7EB;
  --igp-text: #1F2937;
  --igp-muted: #4B5058;
  --igp-head: "Barlow Condensed", "Arial Narrow", sans-serif;
  --igp-body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;

  --bs-primary: #13294B;
  --bs-primary-rgb: 19, 41, 75;
  --bs-link-color: #13294B;
  --bs-link-color-rgb: 19, 41, 75;
  --bs-link-hover-color: #0A1A33;
  --bs-link-hover-color-rgb: 10, 26, 51;
  --bs-body-font-family: var(--igp-body);
}

/* ---------- Page frame (replaces the stock absolute-positioned footer) ---------- */
body.igp {
  font-family: var(--igp-body);
  font-size: 16px;
  color: var(--igp-text);
  background: var(--igp-ground);
}
.igp #container {
  position: relative;
  min-height: 100vh;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
}
.igp main { flex: 1 0 auto; }
.igp #content, .igp #column-left, .igp #column-right { padding-bottom: 32px; }
.igp label { font-size: 14px; }

.igp h1, .igp h2, .igp h3, .igp h4, .igp h5 {
  font-family: var(--igp-head);
  font-weight: 700;
  color: var(--igp-navy);
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.igp h1 { font-size: 2.6rem; line-height: 1.05; }
.igp h2 { font-size: 2rem; }
.igp h3 { font-size: 1.6rem; }
.igp a { color: var(--igp-navy); }
.igp a:hover { color: var(--igp-navy-dark); }

/* Buttons */
.igp .btn-primary {
  --bs-btn-bg: var(--igp-navy);
  --bs-btn-border-color: var(--igp-navy);
  --bs-btn-hover-bg: var(--igp-navy-dark);
  --bs-btn-hover-border-color: var(--igp-navy-dark);
  --bs-btn-active-bg: var(--igp-navy-dark);
  --bs-btn-active-border-color: var(--igp-navy-dark);
  --bs-btn-disabled-bg: var(--igp-navy);
  --bs-btn-disabled-border-color: var(--igp-navy);
}
.igp a.btn-primary, .igp a.btn-primary:hover { color: #FFFFFF; }
.igp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 4px;
  border: 2px solid transparent;
  font-family: var(--igp-head);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
}
.igp .igp-btn-accent { background: var(--igp-orange); color: var(--igp-navy); }
.igp .igp-btn-accent:hover { background: #F5803A; color: var(--igp-navy-dark); }
.igp .igp-btn-outline { border-color: #FFFFFF; color: #FFFFFF; }
.igp .igp-btn-outline:hover { background: #FFFFFF; color: var(--igp-navy); }

/* ---------- Top bar ---------- */
.igp #top {
  background: var(--igp-navy);
  border-bottom: none;
  margin-bottom: 0;
  padding: 0;
  font-size: 14px;
}
.igp-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0 24px;
  min-height: 40px;
}
.igp #top ul.list-inline { margin: 0; }
.igp #top .list-inline-item > a,
.igp #top .list-inline-item .dropdown > a,
.igp #top .list-inline-item .dropdown > span,
.igp #top .dropdown-toggle {
  font-size: 14px;
  color: #E5E7EB;
  line-height: 40px;
  padding: 0;
  text-decoration: none;
}
.igp #top .igp-top-contact a { color: #FFFFFF; }
.igp #top a:hover, .igp #top .dropdown > span:hover { color: #FFFFFF; }
.igp #top .btn-link, .igp #top .dropdown .btn { color: #E5E7EB; font-size: 14px; }
.igp #top .dropdown-menu { font-size: 15px; }
.igp #top .dropdown-menu .dropdown-item { color: var(--igp-text); }

/* ---------- Header ---------- */
#igp-header {
  background: #FFFFFF;
  border-bottom: 1px solid var(--igp-line-soft);
}
.igp-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 32px;
  padding: 16px 0;
}
.igp #logo { margin: 0; flex: 0 0 auto; text-align: left; }
.igp #logo img { max-width: 260px; max-height: 80px; width: auto; display: block; }
.igp #logo h1 { margin: 0; font-size: 2rem; }
.igp #logo h1 a { text-decoration: none; }
.igp-search { flex: 1 1 320px; min-width: 0; }
.igp-search form { margin: 0 !important; }
.igp-search .form-control {
  height: 48px;
  font-size: 16px;
  padding: 0 16px;
  border: 2px solid var(--igp-navy);
  border-right: none;
  border-radius: 4px 0 0 4px;
}
.igp-search .form-control:focus { box-shadow: 0 0 0 3px rgba(242, 106, 27, 0.35); border-color: var(--igp-navy); }
.igp-search .btn {
  height: 48px;
  width: 56px;
  padding: 0;
  background: var(--igp-navy);
  border: none;
  color: #FFFFFF;
  border-radius: 0 4px 4px 0;
  text-shadow: none;
}
.igp-search .btn:hover { background: var(--igp-navy-dark); color: #FFFFFF; }
.igp #cart { margin: 0; flex: 0 0 auto; }
.igp #cart > .dropdown > .btn {
  height: 48px;
  padding: 0 18px;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  background: #FFFFFF;
  color: var(--igp-navy);
  border: 2px solid var(--igp-line);
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.igp #cart > .dropdown > .btn:hover,
.igp #cart > .dropdown > .btn.show { border-color: var(--igp-navy); }
.igp #cart .dropdown-menu { background: #FFFFFF; border-color: var(--igp-line); }
@media (max-width: 575px) {
  .igp-header { justify-content: space-between; }
  .igp #logo img { max-width: 200px; }
  .igp-search { order: 3; flex-basis: 100%; }
}

/* ---------- Category menu ---------- */
#igp-menu {
  background: var(--igp-steel);
  border-bottom: 4px solid var(--igp-orange);
}
#igp-menu.igp-menu-empty { border-bottom-width: 4px; }
.igp #menu {
  background: transparent;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  min-height: 52px;
}
.igp #menu .navbar-nav > li > a {
  font-family: var(--igp-head);
  font-weight: 600;
  font-size: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #FFFFFF;
  text-shadow: none;
  padding: 14px 18px;
}
.igp #menu .navbar-nav > li > a:hover,
.igp #menu .navbar-nav > li > a:focus { background: var(--igp-orange); color: var(--igp-navy); }
.igp #menu .dropdown-menu { border-radius: 0 0 4px 4px; border-top: 3px solid var(--igp-orange); margin-top: 0; }
.igp #category { font-family: var(--igp-head); text-transform: uppercase; letter-spacing: 0.04em; font-size: 18px; line-height: 52px; text-shadow: none; }
.igp #menu .navbar-toggler { border-color: rgba(255,255,255,0.5); margin-left: auto; padding: 8px 12px; }
.igp #menu .navbar-toggler i { color: #FFFFFF; }

/* ---------- Breadcrumb ---------- */
.igp .breadcrumb {
  background: transparent;
  border: none;
  padding: 0;
  margin: 20px 0;
  font-size: 14px;
}
.igp .breadcrumb > li.breadcrumb-item { padding: 0; text-shadow: none; }
.igp .breadcrumb > li.breadcrumb-item:after { display: none; }
.igp .breadcrumb > li.breadcrumb-item + li.breadcrumb-item { padding-left: 8px; }
.igp .breadcrumb > li.breadcrumb-item + li.breadcrumb-item::before { content: "/"; padding-right: 8px; color: #6B7280; }
.igp .breadcrumb a { color: var(--igp-muted); }
.igp .breadcrumb > li:last-child a { color: var(--igp-text); }

/* Navy banner on category pages */
.igp-page-banner { background: var(--igp-navy); color: #FFFFFF; padding: 4px 0 32px; margin-bottom: 32px; }
.igp-page-banner .breadcrumb { margin: 20px 0 8px; }
.igp-page-banner .breadcrumb a { color: #C3C8CF; }
.igp-page-banner .breadcrumb > li:last-child a { color: #FFFFFF; }
.igp-page-banner .breadcrumb > li + li::before { color: #8A98AE !important; }
.igp-page-banner h1 { color: #FFFFFF; font-size: 3.2rem; line-height: 1; margin: 0; }

/* ---------- Home hero ---------- */
.igp-hero { position: relative; background: var(--igp-navy); color: #FFFFFF; overflow: hidden; }
.igp-hero-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px;
  padding: 72px 0 168px;
  position: relative;
  z-index: 1;
}
.igp-hero-copy { flex: 1 1 460px; min-width: 0; max-width: 760px; }
.igp-hero .igp-eyebrow {
  font-family: var(--igp-head);
  font-weight: 600;
  font-size: 18px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--igp-orange);
  margin: 0 0 16px;
}
.igp-hero h1 { color: #FFFFFF; font-size: clamp(2.6rem, 6vw, 4rem); line-height: 1; margin: 0 0 20px; }
.igp-hero-text { font-size: 19px; line-height: 1.55; color: #D1D5DB; max-width: 540px; margin: 0 0 28px; }
.igp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.igp-hero-photo { flex: 1 1 420px; min-width: 0; }
.igp-hero-photo img { width: 100%; height: auto; border-radius: 6px; border: 2px solid var(--igp-navy-line); display: block; }
.igp-waves { position: absolute; left: 0; bottom: 0; width: 100%; height: 120px; display: block; }
.igp-waves .wave-steel { fill: var(--igp-steel); }
.igp-waves .wave-accent { fill: var(--igp-orange); }
.igp-waves .wave-ground { fill: var(--igp-ground); }

/* ---------- Home sections ---------- */
.igp-section { padding: 24px 0 40px; }
.igp-section-title, .igp #common-home #content > h3 { font-size: 2.3rem; margin: 0 0 24px; }
.igp #common-home #content > h3 { margin-top: 8px; }
.igp-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
@media (max-width: 575px) {
  .igp-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .igp-cat-img { height: 96px; }
  .igp-cat-name { font-size: 17px; padding: 12px; }
  .igp-band { padding: 28px 20px; }
}
.igp .igp-cat {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid var(--igp-line-soft);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: var(--igp-navy);
  transition: border-color .15s, transform .15s;
}
.igp .igp-cat:hover { border-color: var(--igp-navy); transform: translateY(-2px); color: var(--igp-navy); }
.igp-cat-img { height: 120px; background: var(--igp-line-soft); display: flex; align-items: center; justify-content: center; color: #6B7280; font-size: 34px; }
.igp-cat-img img { width: 100%; height: 100%; object-fit: cover; }
.igp-cat-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  border-top: 4px solid var(--igp-orange);
  font-family: var(--igp-head);
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
}
.igp-cat-name i { font-size: 16px; }
.igp-band {
  background: var(--igp-steel);
  color: #FFFFFF;
  border-radius: 6px;
  padding: 36px 40px;
  margin: 24px 0 56px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.igp-band > div { flex: 1 1 420px; min-width: 0; }
.igp-band h2 { color: #FFFFFF; font-size: 2.1rem; margin: 0 0 8px; }
.igp-band p { margin: 0; font-size: 18px; line-height: 1.5; color: #E5E7EB; }

/* ---------- Product cards ---------- */
.igp .product-thumb {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid var(--igp-line);
  border-radius: 6px;
  overflow: hidden;
  height: 100%;
}
.igp .product-thumb .image { background: #FFFFFF; border-bottom: 1px solid var(--igp-line-soft); }
.igp .product-thumb .content { display: flex; flex-direction: column; flex: 1 1 auto; }
.igp .product-thumb .description { padding: 16px 16px 0; margin: 0; flex: 1 1 auto; }
.igp .product-thumb .description h4 { font-size: 22px; line-height: 1.15; margin: 0 0 6px; }
.igp .product-thumb .description h4 a { text-decoration: none; color: var(--igp-navy); }
.igp .product-thumb .description h4 a:hover { text-decoration: underline; }
.igp .igp-partno { font-size: 14px; color: var(--igp-muted); margin: 0 0 4px; }
.igp-thumb-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px 16px;
}
.igp .product-thumb .price { margin: 0; }
.igp .price-new { font-family: var(--igp-head); font-weight: 700; font-size: 24px; color: var(--igp-navy); }
.igp .price-old { font-size: 15px; color: #B42318; }
.igp .price-tax { color: #6B7280; font-size: 13px; }
.igp .product-thumb .button {
  position: static;
  width: auto;
  display: flex;
  gap: 6px;
  margin-left: auto;
}
.igp .product-thumb .button button { width: auto; border: none; line-height: 1; }
.igp .product-thumb .button button + button { border-left: none; }
.igp .product-thumb .button .igp-cart-btn {
  height: 44px;
  padding: 0 16px;
  background: var(--igp-orange);
  color: var(--igp-navy);
  border-radius: 4px;
  font-family: var(--igp-head);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.igp .product-thumb .button .igp-cart-btn:hover { background: #F5803A; color: var(--igp-navy-dark); }
.igp .product-thumb .button .igp-icon-btn {
  width: 44px;
  height: 44px;
  background: #FFFFFF;
  border: 1px solid var(--igp-line);
  border-radius: 4px;
  color: var(--igp-muted);
}
.igp .product-thumb .button .igp-icon-btn:hover { color: var(--igp-navy); border-color: var(--igp-navy); background: #FFFFFF; }
@media (min-width: 960px) {
  .igp .product-list .product-thumb { flex-direction: row; }
  .igp .product-list .product-thumb .image { flex: 0 0 240px; border-bottom: none; border-right: 1px solid var(--igp-line-soft); }
  .igp .product-list .product-thumb .button { border-left: none; width: auto; margin-left: auto; }
}

/* ---------- Sidebar modules & toolbars ---------- */
.igp #column-left .list-group, .igp #column-right .list-group { border-radius: 6px; overflow: hidden; }
.igp .list-group-item { padding: 12px 16px; color: #374151; border-color: #F0F1F3; }
.igp .list-group-item.active {
  background: var(--igp-orange-tint);
  color: var(--igp-navy);
  font-weight: 600;
  border-color: #F0F1F3;
  box-shadow: inset 4px 0 0 var(--igp-orange);
}
.igp .list-group-item:hover { color: var(--igp-navy); background: #F9FAFB; }
.igp #product-category .input-group-text { background: #FFFFFF; font-size: 14px; color: var(--igp-muted); }
.igp #button-list.active, .igp #button-grid.active { background: var(--igp-navy); color: #FFFFFF; border-color: var(--igp-navy); }
.igp #product-category #content > h3 { font-size: 1.5rem; }
.igp .pagination { --bs-pagination-color: var(--igp-navy); --bs-pagination-active-bg: var(--igp-navy); --bs-pagination-active-border-color: var(--igp-navy); }

/* ---------- Product page ---------- */
.igp #product-info .breadcrumb { margin: 24px 0; }
.igp #product-info #content > .row:first-of-type > .col-sm:last-child {
  background: #FFFFFF;
  border: 1px solid var(--igp-line-soft);
  border-top: 6px solid var(--igp-navy);
  border-radius: 6px;
  padding: 28px;
  align-self: flex-start;
}
.igp #product-info .image .img-thumbnail { border-radius: 6px; border-color: var(--igp-line); }
.igp #product-info h1 { font-size: 2.6rem; margin-bottom: 16px; }
.igp #product-info .price-new { font-size: 2.6rem; }
.igp #product-info .product-thumb .price-new { font-size: 24px; }
.igp #product-info #input-quantity { height: 52px; font-size: 18px; }
.igp #product-info #button-cart {
  min-height: 52px;
  background: var(--igp-orange);
  border-color: var(--igp-orange);
  color: var(--igp-navy);
  font-family: var(--igp-head);
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.igp #product-info #button-cart:hover { background: #F5803A; border-color: #F5803A; }
.igp .nav-tabs { border-bottom: 1px solid var(--igp-line-soft); gap: 4px; }
.igp .nav-tabs .nav-link {
  font-family: var(--igp-head);
  font-weight: 700;
  font-size: 19px;
  text-transform: uppercase;
  color: var(--igp-muted);
  border: none;
  border-bottom: 4px solid transparent;
  border-radius: 0;
  padding: 12px 20px;
}
.igp .nav-tabs .nav-link.active { color: var(--igp-navy); background: transparent; border-bottom-color: var(--igp-orange); }
.igp .tab-content { background: #FFFFFF; border: 1px solid var(--igp-line-soft); border-top: none; border-radius: 0 0 6px 6px; padding: 24px 28px; margin-bottom: 32px; }
.igp .tab-content > .tab-pane { margin-bottom: 0 !important; }

/* ---------- Footer ---------- */
.igp footer#igp-footer {
  position: static;
  bottom: auto;
  border: none;
  border-top: 4px solid var(--igp-orange);
  background: var(--igp-navy);
  color: #D1D5DB;
  padding: 48px 0 0;
  margin-top: 24px;
}
.igp-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; padding-bottom: 32px; }
.igp-wordmark { font-family: var(--igp-head); font-weight: 700; font-size: 30px; letter-spacing: 0.02em; margin-bottom: 12px; line-height: 1; }
.igp-wordmark .w1 { color: #FFFFFF; }
.igp-wordmark .w2 { color: #C3C8CF; }
.igp-wordmark .w3 { color: var(--igp-orange); }
.igp-footer-brand p { font-size: 15px; line-height: 1.6; margin: 0; }
.igp footer#igp-footer a { color: #D1D5DB; text-decoration: none; }
.igp footer#igp-footer a:hover { color: #FFFFFF; text-decoration: underline; }
.igp footer#igp-footer .igp-footer-brand a { color: #FFFFFF; }
.igp footer#igp-footer h5 { font-family: var(--igp-head); font-size: 20px; color: #FFFFFF; letter-spacing: 0.04em; margin: 0 0 12px; }
.igp footer#igp-footer li { margin-bottom: 8px; font-size: 15px; }
.igp-footer-bottom { border-top: 1px solid var(--igp-navy-line); padding: 16px 0; font-size: 14px; color: #AEB8C7; }

/* Cookie bar */
.igp #cookie { background: var(--igp-navy); }
