:root{
  --store-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --store-font-display: "DM Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bs-body-bg: #ffffff;
  --bs-body-color: #000000;
  --bs-border-color: #dee2e6;
  --bs-primary: #000000;
  --bs-primary-hover: #333333;
  --bs-primary-focus: #000000;
  --bs-secondary: #6c757d;
  --bs-secondary-hover: #5a6268;
  --bs-success: #28a745;
  --bs-success-hover: #218838;
  --bs-info: #17a2b8;
  --bs-info-hover: #138496;
  --bs-warning: #ffc107;
  --bs-warning-hover: #e0a800;
  --bs-danger: #dc3545;
  --bs-danger-hover: #c82333;
  --bs-light: #f8f9fa;
  --bs-dark: #343a40;
}
body {
  font-family: var(--store-font-body);
  font-size: .9375rem;
  line-height: 1.55;
  letter-spacing: -.006em;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--store-font-display);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.12;
}
h1, .h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
h2, .h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
h3, .h3 { font-size: clamp(1.3rem, 2.2vw, 1.75rem); }
h4, .h4 { font-size: 1.3rem; }
h5, .h5 { font-size: 1.08rem; }
h6, .h6 { font-size: .95rem; }
.lead { font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.55; }
.small, small { font-size: .8rem; }
.btn { border-radius: .65rem; font-size: .875rem; font-weight: 600; letter-spacing: -.01em; padding: .62rem .95rem; }
.form-control, .form-select { min-height: 2.75rem; border-radius: .65rem; font-size: .9rem; }
.card { border-color: #e9e9e9; border-radius: .9rem; }
.badge { font-size: .7rem; font-weight: 700; letter-spacing: .01em; }
.store-header { background: #fff; border-bottom: 1px solid #e5e5e5; }
.store-header-main { padding: 1rem 0; }
.store-header-row { display: flex; align-items: center; gap: 1.25rem; min-height: 64px; }
.store-brand { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: flex-start; min-width: 150px; min-height: 54px; font-size: 1.2rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: left; }
.store-brand img { display: block; width: auto; max-width: 230px; max-height: 64px; object-fit: contain; }
.store-inline-nav { flex: 1 1 auto; min-width: 0; overflow-x: auto; }
.store-inline-nav .nav { flex-wrap: nowrap; }
.store-inline-nav .nav-link { color: #212529; font-size: .84rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: .65rem .55rem; white-space: nowrap; }
.store-inline-nav .nav-link:hover, .store-inline-nav .nav-link:focus-visible { color: #000; text-decoration: underline; text-underline-offset: .25rem; }
.store-search { width: 100%; max-width: 520px; margin: 0 0 1rem auto; }
.store-search .form-control { border-color: #d9d9d9; border-right: 0; border-radius: 999px 0 0 999px; padding-left: 1rem; }
.store-search .btn { border-radius: 0 999px 999px 0; padding-inline: 1rem; }
.store-actions { display: flex; justify-content: flex-end; align-items: center; gap: .35rem; }
.store-action { display: inline-flex; align-items: center; justify-content: center; width: 2.65rem; height: 2.65rem; color: #212529; border: 0; background: transparent; border-radius: 50%; text-decoration: none; }
.store-action:hover, .store-action:focus-visible { background: #f2f2f2; color: #000; }
@media (max-width: 991.98px) {
  .store-header-row { gap: .75rem; }
  .store-brand { min-width: 120px; }
  .store-inline-nav .nav-link { font-size: .76rem; padding-inline: .35rem; }
}
@media (max-width: 575.98px) {
  .store-header-main { padding: .75rem 0; }
  .store-header-row { min-height: 48px; }
  .store-brand { min-width: 90px; min-height: 44px; font-size: .9rem; }
  .store-brand img { max-width: 190px; max-height: 52px; }
  .store-inline-nav .nav-link { font-size: .7rem; padding-inline: .3rem; }
  .store-actions { gap: 0; }
  .store-action { width: 2.25rem; height: 2.25rem; }
}
.btn-primary{
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active{
  background-color: var(--bs-primary-hover)!important;
  border-color: var(--bs-primary-hover)!important;
}

/* Cart icon bump animation */
@keyframes bump {
  0% { transform: scale(1); }
  10% { transform: scale(1.12); }
  30% { transform: scale(0.96); }
  100% { transform: scale(1); }
}
.cart-bump {
  animation: bump 300ms ease-out;
}

/* Categories top nav */
.cat-nav { gap: 1rem; }
.cat-nav { flex: 1 1 auto; }
.cat-link { color:#212529; font-weight:600; }
.cat-link:hover { color:#000; }
.cat-link.active{ color:#c1121f; }
/* caret color */
.cat-link.dropdown-toggle::after{ margin-left: .25rem; vertical-align: .15em; border-top-color: currentColor; }
/* dropdown pointer triangle */
.cat-dd { position: absolute; }
.cat-dd::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #dee2e6;
}
.cat-dd::after {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #fff;
}
/* Show dropdown on hover for desktop */
@media (min-width: 768px){
  .cat-nav .dropdown:hover > .dropdown-menu { display:block; }
}
.cat-dd { min-width: 260px; border-top-left-radius:0; border-top-right-radius:0; }
.cat-dd .dropdown-item{ padding: .6rem 1rem; }
.cat-dd .dropdown-item:hover{ background-color:#f8f9fa; }

/* Quick categories bar */
.categories-bar .nav-link{ color:#212529; }
.categories-bar .nav-link:hover{ color:#000; text-decoration: underline; }
