/* Custom styles for green search button */
.search-btn-green {
  background-color: #008700 !important;
  border-color: #008700 !important;
}
.search-btn-green:hover {
  background-color: #1a6d2e !important;
  border-color: #1a6d2e !important;
}
.btn-stig {
  background-color: #1D4E89;
  border-color: #1D4E89;
  color: white;
  padding: 0.75rem 1.5rem;
  margin-top: .5rem;
  font-weight: 600;
  border-radius: 5px;
  transition: all 0.3s ease;
}
.btn-stig:hover {
  background-color: #103658;
  border-color: #103658;
  color: white;
}
:root {
  --aa-navy: #1D4E89;
  --aa-green: #008700;
  --aa-red: #a73136;
}
/* ===== TOP BAR OPTIMIZATION (No Shipping Message Version) ===== */
/* Clean, balanced top bar for search and contact links */
/* Hide shipping message - it's been relocated */
#top-bar .mobile-shipping-text {
  display: none !important;
}
/* Large Desktop (1200px+) - Comfortable but not oversized */
@media (min-width: 1200px) {
  #top-bar {
    --cnvs-topbar-height: 40px !important;
  }
  #top-bar .input-group input.form-control {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.875rem !important;
  }
  #top-bar .btn-sm {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.875rem !important;
  }
  #top-bar form {
    max-width: 380px !important;
  }
}
/* Desktop/Laptop (992px - 1199px) - Comfortable sizing */
@media (min-width: 992px) and (max-width: 1199px) {
  #top-bar {
    --cnvs-topbar-height: 40px !important;
    --cnvs-topbar-font-size: 0.9rem !important;
  }
  #top-bar .top-links-item > a {
    padding: 8px 10px !important;
    line-height: 1.3 !important;
    font-size: 0.9rem !important;
  }
  #top-bar .input-group input.form-control {
    font-size: 0.95rem !important;
    padding: 0.5rem 0.875rem !important;
  }
  #top-bar .btn-sm {
    font-size: 0.95rem !important;
    padding: 0.5rem 0.875rem !important;
  }
  #top-bar form {
    max-width: 350px !important;
  }
}
/* Tablet (768px - 991px) - Optimized for iPad, Surface Pro */
@media (min-width: 768px) and (max-width: 991px) {
  #top-bar {
    --cnvs-topbar-height: 38px !important;
    --cnvs-topbar-font-size: 0.875rem !important;
  }
  #top-bar .top-links-item > a {
    padding: 7px 10px !important;
    line-height: 1.2 !important;
    font-size: 0.875rem !important;
  }
  #top-bar .input-group input.form-control {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.75rem !important;
  }
  #top-bar .btn-sm {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.75rem !important;
  }
  #top-bar form {
    max-width: 300px !important;
    flex-grow: 1 !important;
  }
  /* Tighter gaps on tablets */
  #top-bar .gap-3 {
    gap: 0.75rem !important;
  }
  #top-bar .top-links-container {
    gap: 0.75rem !important;
  }
}
/* Mobile (below 768px) - Stacked layout */
@media (max-width: 767px) {
  #top-bar {
    --cnvs-topbar-height: 36px !important;
    --cnvs-topbar-font-size: 0.85rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  #top-bar .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  /* Stack items vertically with good spacing */
  #top-bar .container > .d-flex {
    gap: 0.75rem !important;
  }
  #top-bar .top-links-item > a {
    padding: 8px 12px !important;
    line-height: 1.2 !important;
    font-size: 0.9rem !important;
  }
  #top-bar .input-group input.form-control {
    font-size: 0.95rem !important;
    padding: 0.625rem 0.875rem !important;
  }
  #top-bar .btn-sm {
    font-size: 0.95rem !important;
    padding: 0.625rem 0.875rem !important;
  }
  /* Full width search on mobile */
  #top-bar form {
    max-width: 100% !important;
  }
  #top-bar .top-links-container {
    gap: 1rem !important;
  }
}
/* Small Mobile (below 576px) - Most compact */
@media (max-width: 575px) {
  #top-bar {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  #top-bar .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  #top-bar .top-links-item > a {
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
  }
  #top-bar .input-group input.form-control {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.75rem !important;
  }
  #top-bar .btn-sm {
    font-size: 0.9rem !important;
    padding: 0.5rem 0.75rem !important;
  }
  /* Hide icon text on very small screens to save space */
  #top-bar .top-links-item > a > i.fa-phone + text, #top-bar .top-links-item > a > i.fa-cart-shopping + text {
    display: none;
  }
  /* Make icons slightly larger when text is hidden */
  #top-bar .top-links-item > a > i {
    font-size: 1.1rem !important;
  }
}
/* ===== FIX 2: SLIDER TEXT RESPONSIVE FIXES ===== */
/* Reduce slider text sizes on tablets and mobile to prevent cutoff */
@media (max-width: 991px) {
  .slider-caption h2 {
    font-size: 1.75rem !important;
    margin-bottom: 0.5rem !important;
  }
  .slider-caption h3 {
    font-size: 1.1rem !important;
    margin-bottom: 0.75rem !important;
  }
  .slider-caption p {
    margin-bottom: 0.5rem !important;
  }
  /* Make slider buttons smaller and stack if needed */
  .slider-caption .button {
    padding: 0.6rem 1rem !important;
    font-size: 0.9rem !important;
  }
}
@media (max-width: 767px) {
  .slider-caption {
    padding: 1rem 0 !important;
  }
  .slider-caption h2 {
    font-size: 1.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .slider-caption h3 {
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.3 !important;
  }
  .slider-caption .button {
    padding: 0.5rem 0.875rem !important;
    font-size: 0.85rem !important;
    margin: 0.25rem !important;
  }
  /* Reduce spacing between buttons */
  .slider-caption p {
    line-height: 1.8 !important;
  }
}
@media (max-width: 575px) {
  .slider-caption h2 {
    font-size: 1.25rem !important;
    margin-bottom: 0.5rem !important;
  }
  .slider-caption h3 {
    font-size: 0.9rem !important;
    margin-bottom: 0.5rem !important;
  }
  .slider-caption .button {
    font-size: 0.8rem !important;
    padding: 0.5rem 0.75rem !important;
  }
}
/* ============================================================
   PAGE TITLE - BREADCRUMB OVERFLOW FIX
   Prevents long H1 titles and long breadcrumb trails from
   overlapping or flowing underneath each other.
   ============================================================ */

/* Stack vertically on small/medium screens (up to 991px).
   Overrides the 768px row-layout that causes the collision. */
@media (max-width: 991.98px) {
  .page-title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .page-title-content {
    text-align: left;
  }
  .breadcrumb {
    margin-top: 0.4rem !important;
    justify-content: flex-start !important;
  }
}

/* Desktop (≥992px): side-by-side with hard boundaries
   so neither side can bleed into the other. */
@media (min-width: 992px) {
  .page-title-content {
    flex: 1 1 auto;
    min-width: 0;          /* lets flex shrink past content size */
    padding-right: 1.5rem; /* breathing room before breadcrumb */
  }
  .page-title-row > nav[aria-label="breadcrumb"] {
    flex: 0 0 auto;
    max-width: 42%;        /* breadcrumb never exceeds ~42% of row */
  }
  .page-title-row > nav[aria-label="breadcrumb"] .breadcrumb {
    justify-content: flex-end;
    flex-wrap: wrap;       /* long trails wrap within their own column */
    text-align: right;
  }
}

/* Reduce H1 font size slightly within the page-title context only.
   Does NOT affect H1s elsewhere on the page. */
.page-title-content h1,
.page-title-content .h1 {
  font-size: 1.35rem;
  line-height: 1.25;
}
@media (min-width: 992px) {
  .page-title-content h1,
  .page-title-content .h1 {
    font-size: 1.5rem;
  }
}

/* Trim breadcrumb font size slightly */
.page-title-row .breadcrumb {
  font-size: 0.78rem;

}

/* Product Cards */
.product-card {
  border: 1px solid #6666;
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.product-card1 {
  border: 2px solid #dee2e6;
  border-radius: 10px;
  overflow: hidden;
  height: auto;
  padding: 1px;
  display: flex;
  flex-direction: column;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
}
.product-card1 .p-3 {
  padding: 0.5rem !important;
}
.product-card1 .mt-3 {
  margin-top: 0.5rem !important;
}
.product-card1 .mb-2 {
  margin-bottom: 0.5rem !important;
}
.product-card1 .badge {
  font-size: 0.875rem !important;
  padding: 0.35rem 0.75rem !important;
}
.product-card1 .product-title {
  font-size: 1rem !important;
  margin-bottom: 0.5rem !important;
}
.product-image {
  position: relative;
  padding: 2rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
}
.badge-ships {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #008700; /* Darker green for better contrast */
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
}
.product-info {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}
.product-title {
  font-size: 1.1rem; /* Keeps same visual appearance */
  font-weight: 600;
  color: var(--aa-navy);
  margin-bottom: 0.5rem;
}
/* ===== FIX 3: REDUCE PRICE TO BUTTON SPACING ===== */
.product-price {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--aa-red);
  text-align: center;
  margin-bottom: 0.5rem;
}
.product-card1 .product-price {
  font-size: 1.35rem !important;
  margin-bottom: 0.25rem !important;
  line-height: 1.2;
}
.product-card1 .btn {
  font-size: 0.9rem !important;
  padding: 0.5rem 1rem !important;
}
/* Reduce spacing on mobile/tablet */
@media (max-width: 991px) {
  .product-price {
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
  }
}
@media (max-width: 767px) {
  .product-price {
    font-size: 1.35rem;
    margin-bottom: 0rem;
  }
}
/* Button wrapper for product cards - ensures proper spacing on all screens */
.product-button-wrapper {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0.5rem;
}
/* Mobile adjustments for product buttons */
@media (max-width: 767px) {
  .product-button-wrapper {
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
  }
  .product-button-wrapper .btn {
    width: 100%;
    margin: 0;
  }
}

.btn-primary-addto {
  background-color: #008700; /* Darker green */
  border-color: #008700;
  color: white;
  font-weight: 600;
  border-radius: 5px;
  transition: all 0.3s ease;
}
.btn-primary-addto:hover {
  background-color: #006400;
  border-color: #006400;
  color: white;
}
.btn-outline-custom {
  border: 2px solid var(--aa-green);
  color: var(--aa-green);
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  border-radius: 5px;
  background: transparent;
  transition: all 0.3s ease;
}
.btn-outline-custom:hover {
  background-color: var(--aa-green);
  color: white;
}
/* Arrow handling - use Font Awesome icons instead of Unicode arrows */
.btn-arrow-text::after {
  content: "\f061"; /* Font Awesome arrow-right */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 0.5rem;
}
/* Hide text arrows on mobile, keep icon */
@media (max-width: 767px) {
  /* Remove any standalone arrow characters on mobile */
  .btn-stig::after, .btn-arrow-text::after {
    margin-left: 0.35rem;
  }
}
/* Comparison Section */
.comparison-section {
  padding: 1rem 0;
  color: #111;
  width: 90%;
  margin: 2rem auto;
  text-align: center;
}
.comparison-chart {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 2rem 1rem;
  margin-bottom: 1.5rem;
  color: #111;
}
/* Consistent Section Spacing */
.general {
  background: #f8f8f8;
  color: #111;
  padding: 1rem 0;
}
.general > .container {
  margin-bottom: 3rem;
}
.general > .container:last-child {
  margin-bottom: 0;
}
.general hr {
  margin: 3rem 0;
  border-color: #dee2e6;
}
/* Mobile section spacing adjustments */
@media (max-width: 767px) {
  .general {
    padding: 2rem 0;
  }
  .general > .container {
    margin-bottom: 2rem;
  }
  .general hr {
    margin: 2rem 0;
  }
}
/* Footer */
.footer {
  background-color: #1D4E89;
  color: #ecf0f1;
  padding: 3rem 0 1rem;
}
.footer h6 {
  color: white;
  font-weight: 600;
  margin-bottom: 1rem;
}
.footer a {
  color: #e8e8e8; /* Lighter gray for better contrast against dark blue */
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer a:hover {
  color: #ffffff;
}
.footer ul {
  padding-left: 0;
}
.footer li {
  margin-bottom: 0.5rem;
}
.social-icons a {
  color: #ecf0f1;
  transition: color 0.3s ease;
}
.social-icons a:hover {
  color: var(--aa-green);
}
.trust-badges {
  text-align: center;
  padding-top: 2rem;
  margin-top: 2rem;
  border-top: 1px solid #34495e;
}
.trust-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  background: #f8f8f8;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #dee2e6;
}
.trust-badge i {
  font-size: 2rem;
  color: #008700;
}
.badge-item {
  display: inline-block;
  margin: 0 1rem;
  font-size: 0.9rem;
}
.free-shipping-banner {
  color: #a73136;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: .5rem;
  padding: 1rem 0;
}
.free-shipping-bannercart {
  color: #a73136;
  text-align: center;
  font-size: 1.1em;
  font-weight: 500;
}
.section-title {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #4a5568;
  color: #1D4E89;
}
.top-rated-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: gold;
  color: #000;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: bold;
  z-index: 10;
}
.value-prop {
  padding: 3rem 0;
  background: #f8f8f8;
}
.value-prop-item {
  text-align: center;
  padding: 1.5rem;
  color: #111;
}
.value-prop-item i {
  font-size: 3rem;
  color: #111;
  margin-bottom: 1rem;
}
/* New Trust Styles */
 .pg-sub { font-size: 1.1rem; color: #111; font-style: italic; margin: 0 0 5px; }
 .pill-green { display: inline-flex; align-items: center; gap: 6px; background: #EAF3DE; border: 1px solid #97C459; border-radius: 999px; padding: 5px 14px; font-size: 1rem; font-weight: 600; color: #3B6D11;}
  .dot-green { width: 7px; height: 7px; background: #639922; border-radius: 50%; flex-shrink: 0; }
  .pill-amber { display: inline-flex; align-items: center; gap: 6px; background: #f5e7d8; border: 1px solid #555; border-radius: 999px; padding: 5px 14px; font-size: 1rem; font-weight: 600; color: #555;}
.menu-banner { font-size: 1rem; color: #111; border-top: 1px solid #e5e2da; border-bottom: 1px solid #e5e2da; padding: 7px 0; margin-bottom: 1.25rem; display: flex; align-items: center; gap: 6px; }
.menu-dot { width: 6px; height: 6px; background: #639922; border-radius: 50%; flex-shrink: 0; }
.trust-row { display: flex; align-items: center; gap: 6px; padding: 8px 10px; background: #f5e7d8; border: 1px solid #555; border-radius: 6px; }
.trust-text { font-size: 11.5px; color: #555; line-height: 1.4; font-family: Arial, sans-serif; }
  .trust-text strong { font-weight: 700; color: #1a1a1a; }


/* Product Page Specific Styles */
.product-image-gallery {
  position: sticky;
  top: 20px;
}
.main-product-image {
  padding: 1rem;
  background: white;
  margin-bottom: 1rem;
  cursor: zoom-in;
  transition: all 0.3s ease;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: visible;
  min-height: 400px;
}
.main-product-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.3s ease;
}
.main-product-image:hover {
  border-color: var(--aa-navy);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.thumbnail-gallery {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0.5rem 0;
}
.thumbnail-item {
  flex: 0 0 80px;
  height: 80px;
  border: 2px solid #dee2e6;
  border-radius: 5px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s ease;
}
.thumbnail-item:hover, .thumbnail-item.active {
  border-color: var(--aa-navy);
  transform: translateY(-2px);
}
.thumbnail-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-info-box {
  background: white;
  border: 2px solid #dee2e6;
  border-radius: 10px;
  padding: 2rem;
  margin-bottom: 2rem;
}
.price-display {
  font-size: 3rem;
  font-weight: bold;
  color: var(--aa-green);
  margin: 1rem 0;
}
.feature-list {
  list-style: none;
  padding: 0;
}
.feature-list li {
  padding: 0.75rem 0;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: start;
  gap: 1rem;
}
.feature-list li:last-child {
  border-bottom: none;
}
.feature-list i {
  color: var(--aa-green);
  font-size: 1.25rem;
  margin-top: 0.25rem;
  flex-shrink: 0;
}
.specs-table {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  border: 2px solid #dee2e6;
}
.specs-table dt {
  font-weight: 600;
  color: var(--aa-navy);
  padding: 0.5rem 0;
}
.specs-table dd {
  padding: 0.5rem 0;
  margin-bottom: 0;
  color: #4a4a4a;
}
.accordion-button:not(.collapsed) {
  background-color: var(--aa-navy);
  color: white;
}
.accordion-button:focus {
  border-color: var(--aa-navy);
  box-shadow: 0 0 0 0.25rem rgba(59, 90, 125, 0.25);
}
@media (max-width: 768px) {
  .product-image-gallery {
    position: static;
  }
  .price-display {
    font-size: 2rem;
  }
}
.comparison-section {
  padding: 1rem 0;
  color: #111;
  width: 90%;
  margin: 2rem auto;
  text-align: center;
}
.comparison-table {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.comparison-table th {
  background-color: var(--aa-navy);
  color: white;
  font-weight: 600;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  border-right: 2px solid white;
}
.comparison-table th:last-child {
  border-right: none;
}
.comparison-table td {
  padding: 0.75rem;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #dee2e6;
  background-color: #f8f8f8;
}
.comparison-table td:last-child {
  border-right: none;
}
.comparison-table tbody tr:nth-child(odd) {
  background-color: #f8f9fa;
}
.comparison-table tbody tr:hover {
  background-color: #e9ecef;
}
.model-header {
  background-color: var(--aa-navy);
  color: white;
  font-size: 1.1rem;
  font-weight: 700;
}
.capacity-header {
  background-color: #6c757d;
  color: white;
  font-weight: 600;
  font-size: 0.95rem;
}
.section-label {
  background-color: #e9ecef;
  font-weight: 700;
  text-align: left;
  padding-left: 1.5rem !important;
  color: var(--aa-navy);
}
.jar-capacity-section {
  background-color: #f8f9fa;
}
.stove-info-box {
  background: #f8f8f8;
  border-radius: 10px;
  border: 1px solid #222;
  padding: 1rem;
  margin-top: 1rem;
}
.stove-info-box h2 {
  margin-bottom: 1.5rem;
}
.stove-info-box p {
  margin-bottom: 1rem;
  line-height: 1.6;
}
.stove-info-box a {
  color: #000;
  font-weight: 400;
  text-decoration: none;
}
.stove-info-box a:hover {
  color: #444;
  text-decoration: underline;
}
.howitworks {
  background: #f8f8f8;
  border-radius: 10px;
  border: 1px solid #222;
  padding: 1rem;
  margin-top: 1rem;
}
.howitworks h2 {
  margin-bottom: 1.5rem;
}
.howitworks p {
  margin-bottom: 1rem;
  line-height: 1.6;
}
.howitworks a {
  color: #000;
  font-weight: 400;
  text-decoration: none;
}
.howitworks a:hover {
  color: #444;
  text-decoration: underline;
}
/* ===========================
   INLINE STYLE REPLACEMENTS
   =========================== */
/* Flex wrapper for main image + thumbnails */
.img-flex-wrap {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.main-image-container {
  width: 100%;
}

.thumb-row {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.thumb-img {
  width: 80px;
  height: auto;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.3s;
}

.thumb-img:hover {
  border-color: #007bff;
}
/* Out-of-stock / ETA messages */
.stock-msg {
  color: var(--aa-red);
  font-size: 1rem;
}
/* Item number beneath price */
.item-number-text {
  color: var(--aa-navy);
}
/* Stove compatibility large icons */
.icon-large {
  font-size: 1.4rem;
}
/* 40px bottom margin utility */
.mb-40 {
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .comparison-table {
    font-size: 0.85rem;
  }
  .comparison-table th, .comparison-table td {
    padding: 0.5rem 0.25rem;
  }
  .comparison-section {
    width: 95%;
    padding: 2rem 0;
  }
}
/* Product Card Base */
.product-card1 .row {
  margin-left: 0;
  margin-right: 0;
}
.product-card1 .row > [class*='col-'] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
/* Line 1: Best Seller & Product Title */
.best-seller-text {
  font-size: 0.875rem;
  color: #008700;
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}
.product-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--aa-navy);
  line-height: 1.3;
}
.product-title a {
  color: var(--aa-navy);
  text-decoration: none;
}
.product-title a:hover {
  color: #103658;
}
/* Line 2: Stock Status & Item Number */
.in-stock-text {
  color: #008700;
  font-weight: 600;
  font-size: 1rem;
}
.out-stock-text {
  color: #a73136;
  font-weight: 700;
  font-size: 0.9rem;
}
.backorder-text {
  color: #a73136;
  font-weight: 700;
  font-size: 1rem;
}
.item-number-text {
  color: #666;
  font-size: 1rem;
}
/* Line 3: Reviews & Write Review */
#product-rating-display {
  text-align: left;
}
.stars-display {
  font-size: 1rem;
  color: #ffa500;
  line-height: 1;
  margin-bottom: 0.25rem;
}
.review-count-link {
  text-decoration: none;
  display: block;
}
.review-count-text {
  font-size: 0.8rem;
  color: #1D4E89;
  cursor: pointer;
}
.review-count-link:hover .review-count-text {
  color: #103658;
  text-decoration: underline;
}
.no-reviews-text {
  font-size: 0.8rem;
  color: #999;
  font-style: italic;
}
.write-review-link {
  color: #1D4E89;
  font-weight: 500;
  text-decoration: none;
  font-size: 0.875rem;
  white-space: nowrap;
}
.write-review-link:hover {
  color: #103658;
  text-decoration: underline;
}
/* Line 4: Quantity */
.quantity-selector-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.quantity-selector-wrapper .form-label {
  font-weight: 600;
  color: #333;
  font-size: 0.9rem;
  margin-bottom: 0;
}
.quantity-selector-wrapper .form-select {
  width: 80px;
}
/* Line 5: Price & Add to Cart */
.product-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--aa-red);
  line-height: 1.2;
  text-align: center;
}
.btn-primary-addto {
  background-color: #1D4E89;
  border-color: #1D4E89;
  color: white;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 5px;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}
.btn-primary-addto:hover {
  background-color: #103658;
  border-color: #103658;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.out-stock-message {
  color: #a73136;
  font-size: 0.9rem;
  font-weight: 600;
  margin-top: 0.5rem;
}
.backorder-eta {
  color: #666;
  font-size: 0.8rem;
}
/* Mobile Adjustments (below 768px) */
@media (max-width: 767px) {
  .product-title {
    font-size: 1.1rem;
  }
  .best-seller-text {
    text-align: center;
  }
  .product-title {
    text-align: center;
  }
  /* Stack stock and item number */
  .product-card1 .row .col-7, .product-card1 .row .col-5 {
    width: 100%;
    text-align: center !important;
    margin-bottom: 0.25rem;
  }
  #product-rating-display {
    text-align: center;
  }
  .product-price {
    font-size: 1.5rem;
  }
  .btn-primary-addto {
    width: 100%;
    max-width: 300px;
  }
}
/* Small Mobile (below 576px) */
@media (max-width: 575px) {
  .product-title {
    font-size: 1rem;
  }
  .product-price {
    font-size: 1.35rem;
  }
  .btn-primary-addto {
    padding: 0.65rem 1rem;
    font-size: 0.95rem;
  }
}
/* Tablet Adjustments (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .product-title {
    font-size: 1rem;
  }
  .product-price {
    font-size: 1.5rem;
  }
  .btn-primary-addto {
    padding: 0.65rem 1.25rem;
    font-size: 0.95rem;
  }
}
/* ==========================================
   BUY BOX SHADING (Option A)
========================================== */
.buybox-card {
   background: #fff;   
    border: 1px solid #6666;   
    border-radius: 12px;
    padding: 1.25rem;
     
}

/* ==========================================
   REVIEW LINE — ONE LINE + CENTERED
========================================== */

/* Wraps the entire stars + rating + Write Review */
.buybox-rating-stack {
    text-align: center !important;
    margin-top: 10px !important;
    margin-bottom: 5px !important;
    white-space: nowrap !important;
}

/* Force stars + count + Write a Review INLINE */
.buybox-rating-stack > * {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

/* Spacing between stars and rating text */
.buybox-rating-stack .stars-display {
    margin-right: 6px !important;
}

/* Ensure rating text stays inline */
.buybox-rating-stack .review-count-text {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* "Write a Review" link inline + spacing */
.buybox-rating-stack .buybox-write-review {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 10px !important;
    color: var(--aa-navy);
    text-decoration: none;
}
.buybox-rating-stack .buybox-write-review:hover {
    text-decoration: underline;
}


/* Match review count text size to Write a Review */
.buybox-rating-stack .review-count-text {
    font-size: 0.875rem !important;
}

/* Set Write a Review font size */
.buybox-rating-stack .buybox-write-review {
    font-size: 1rem;
}

/* ==========================================
   BUYBOX QUANTITY SELECTOR & ACTION ROW
========================================== */

/* Quantity selector - compact width */
.buybox-qty {
    width: 70px !important;
    flex-shrink: 0;
}

/* Action row alignment */
.buybox-action-row {
    justify-content: center;
}

/* Price styling */
.buybox-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--aa-red);
}

/* Buybox badge styling */
.buybox-badge {
    display: inline-block;
    background-color: #008700;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* Buybox title */
.buybox-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--aa-navy);
    margin-bottom: 0;
}

.buybox-title a {
    color: var(--aa-navy);
    text-decoration: none;
}

.buybox-title a:hover {
    color: #103658;
}

/* Stock line */
.buybox-stockline {
    line-height: 1.6;
}

/* Divider between sections */
.buybox-divider {
    margin: 1rem 0;
    border-color: #d0d0d0;
}

/* Out of stock/backorder messages */
.buybox-outstock {
    color: var(--aa-red);
    font-weight: 700;
    padding: 1rem;
}

.buybox-backorder {
    color: #a73136;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    font-weight: 700;
}

/* Primary button for buybox - constrained width */
.btn-primary-custom {
    background-color: #008700;
    border-color: #008700;
    color: white;
    padding: 0.65rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 5px;
    transition: all 0.3s ease;
    text-decoration: none;
    max-width: 350px;
}

.btn-primary-custom:hover {
    background-color: #1a6d2e;
    border-color: #1a6d2e;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.btn-primary-custom:focus-visible {
    background-color: white !important;
    border-color: #000 !important;
    color: #000 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 135, 0, 0.25) !important;
}

.btn-primary-custom:focus-visible i {
    color: #000 !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .buybox-title {
        font-size: 1.1rem;
    }
    
    .buybox-price {
        font-size: 1.5rem;
    }
    
    .btn-primary-custom {
        font-size: 0.95rem;
        padding: 0.6rem 1rem;
        max-width: 220px;
    }
}

@media (max-width: 575px) {
    .buybox-title {
        font-size: 1rem;
    }
    
    .buybox-price {
        font-size: 1.35rem;
    }
    
    .buybox-qty {
        width: 60px !important;
    }
    
    .btn-primary-custom {
        max-width: 200px;
    }
}
/* NOTE: The old "NAVBAR - FONT SIZE REDUCTION" rules that lived here were
   removed — they overlapped and conflicted with the more complete nav-wrap
   fix at the bottom of this file (search "NAV WRAP / HEADER ROW FIX"),
   which now handles menu font-size, spacing, AND logo sizing together so
   they don't fight each other across the 992px-1400px range. */

/* ===== All American Comparison Chart Additions ===== */
/* ── Existing site table styles (unchanged) ── */
.comparison-table-consumer th:nth-child(4),
.comparison-table-consumer td:nth-child(4) { background: rgba(0,0,0,.03); }
.comparison-table-large th:nth-child(4),
.comparison-table-large td:nth-child(4) { background: rgba(0,0,0,.03); }
.comparison-table .section-label { letter-spacing: .04em; font-weight: 700; }
.comparison-table .cta-row td { background: rgba(0,0,0,.015); }

/* ── Quick Pick cards ── */
.quick-pick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin: 20px 0 36px;
}
.quick-card {
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px 22px;
  background: #fff;
}
.quick-card.most-popular {
  border: 2px solid #3b5a7d;
  background: #f0f4f8;
}
.quick-card .qc-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.quick-card.beginners .qc-tag  { background: #d4edda; color: #111; }
.quick-card.most-popular .qc-tag { background: #3b5a7d; color: #fff; }
.quick-card.high-vol .qc-tag   { background: #f5e7d8; color: #111; }
.quick-card h3 { font-size: 20px; margin: 0 0 4px; }
.quick-card .qc-models { font-size: 15px; color: #111; margin-bottom: 8px; font-style: italic; }
.quick-card p { font-size: 14px; color: #111; margin: 0; line-height: 1.5; }

/* ── Page table of contents ── */
.page-toc {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-left: 4px solid #3b5a7d;
  border-radius: 6px;
  padding: 20px 24px;
  margin-bottom: 36px;
}
.page-toc h2 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6c757d;
  margin-bottom: 12px;
}
.page-toc ol {
  list-style: none;
  counter-reset: toc;
  margin: 0; padding: 0;
}
.page-toc ol li {
  counter-increment: toc;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 5px 0;
  border-bottom: 1px solid #e9ecef;
  font-size: 14px;
}
.page-toc ol li:last-child { border-bottom: none; }
.page-toc ol li::before {
  content: counter(toc, decimal-leading-zero);
  font-size: 11px;
  color: #adb5bd;
  min-width: 22px;
  font-weight: 600;
}
.page-toc ol li a { color: #3b5a7d; text-decoration: none; }
.page-toc ol li a:hover { text-decoration: underline; }

/* ── Jar photo grid ── */
.jar-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 20px 0 36px;
}
.jar-photo-card {
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.jar-photo-card img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  background: #f8f9fa;
}
.jar-photo-card .jpc-body { padding: 13px 16px; }
.jar-photo-card .jpc-model { font-weight: 700; font-size: 14px; color: #3b5a7d; margin-bottom: 2px; }
.jar-photo-card .jpc-counts { font-size: 13px; color: #111; margin: 0; }

/* ── FAQ accordion ── */
.faq-list { list-style: none; margin: 0; padding: 0; }
.faq-item { border-bottom: 1px solid #dee2e6; }
.faq-item:first-child { border-top: 1px solid #dee2e6; }
.faq-btn {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  background: none;
  border: none;
  padding: 16px 4px;
  text-align: left;
  font-size: 16px;
  font-family: Roboto, sans-serif;
  font-weight: 500;
  color: #212529;
  cursor: pointer;
  line-height: 1.4;
}
.faq-btn:hover { color: #3b5a7d; }
.faq-btn .faq-arrow { font-size: 20px; color: #adb5bd; transition: transform .25s; flex-shrink: 0; }
.faq-item.open .faq-arrow { transform: rotate(90deg); }
.faq-body { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-item.open .faq-body { max-height: 1200px; }
.faq-body-inner { padding: 2px 4px 20px; font-size: 15px; color: #495057; line-height: 1.65; }
.faq-body-inner ul, .faq-body-inner ol { margin: 10px 0 10px 22px; }
.faq-body-inner li { margin-bottom: 5px; }
.faq-body-inner strong { color: #212529; }
.faq-body-inner p { margin-bottom: 10px; }
.faq-body-inner p:last-child { margin-bottom: 0; }

/* ── Size list inside FAQ ── */
.sz-list { list-style: none; margin: 10px 0; padding: 0; }
.sz-list li {
  display: flex;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  align-items: baseline;
}
.sz-list li:last-child { border-bottom: none; }
.sz-list .m { font-weight: 700; color: #3b5a7d; min-width: 36px; }

/* ── Height bar chart inside FAQ ── */
.hbar-wrap { margin: 12px 0; }
.hbar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.hbar-label { font-weight: 700; color: #3b5a7d; font-size: 13px; min-width: 32px; }
.hbar {
  height: 20px;
  background: #dce8f5;
  border: 1px solid #9dbddf;
  border-radius: 3px;
  display: flex;
  align-items: center;
  padding-left: 8px;
  font-size: 12px;
  color: #1a3a5c;
  font-weight: 600;
}
/* ===== End All American Comparison Chart Additions ===== */
.trust-bar {
    background: #F5F0E8;
    border-top: 3px solid #C8923A;
    border-bottom: 3px solid #C8923A;
    padding: 15px 15px;
    text-align: center;
  }
  .trust-bar-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    gap: clamp(18px, 4vw, 52px);
    flex-wrap: wrap;
  }
  .trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .82rem;
    font-weight: 600;
    color: var(--bark-mid);
    letter-spacing: .03em;
    text-transform: uppercase;
  }
  .trust-item svg { width: 16px; height: 16px; flex-shrink: 0; fill: var(--moss); }
/* ============================================================
   NAV WRAP / HEADER ROW FIX
   The logo and main nav must always sit side-by-side on one line
   on desktop — never with the nav dropping to its own line below
   the logo, at any desktop width. (Mobile menu is unaffected and
   already works correctly.)

   Root cause: #logo and <nav class="primary-menu"> are siblings
   inside .header-row, which has flex-wrap: wrap. The logo image
   renders at a FIXED height (var(--cnvs-header-height), 125px for
   this site's header-size-lg) at every desktop width, so the logo
   box stays wide even as the screen narrows. On mid-size desktop/
   laptop screens, logo width + full nav width together exceed the
   available row width, so .header-row wraps and drops the entire
   nav onto its own line beneath the logo.

   A second, smaller issue compounds this: .menu-container (the nav
   items themselves) also has flex-wrap: wrap, so even once there's
   room for the nav beside the logo, the 6 menu items could still
   wrap onto two lines within the nav if they're too wide.

   Fix, in order:
   1. Shrink the logo (via --cnvs-header-height) just enough at this
      breakpoint range to free up room for the nav beside it.
   2. Tighten nav item spacing/font slightly so all 6 items fit on
      one line within that freed-up space.
   3. Safety net: if the header's reserved space (.header-wrap-clone)
      ever needs to grow because of an unexpected wrap, let it grow
      instead of staying locked to a fixed pixel height that content
      would overlap.
   ============================================================ */

@media (min-width: 992px) and (max-width: 1400px) {
  /* Shrink the logo so it leaves enough room for the nav to stay
     inline beside it instead of wrapping below. */
  .is-expanded-menu .header-size-lg {
    --cnvs-header-height: 55px;
  }

  /* Tighten nav item spacing and font so all 6 items fit on one
     line in the narrower space now available beside the logo.
     Sized so the full nav (with dropdown carets) fits within the
     ~960px container width at the 992px breakpoint floor — the
     tightest case in this range. */
  .is-expanded-menu .menu-container > .menu-item:not(:first-child) {
    margin-left: 0;
  }
  .is-expanded-menu .menu-link {
    --cnvs-primary-menu-padding-x: 4px;
    font-size: 10px;
  }
  /* Tighten the icon gap before each dropdown caret so it doesn't add extra width */
  .is-expanded-menu .with-arrows .menu-container > .menu-item > .menu-link div > i.sub-menu-indicator {
    margin-left: 3px;
  }

  /* Safety net: let the header's reserved space grow if the nav
     ever still wraps for any reason (e.g. a future menu item is
     added), instead of staying locked to a fixed pixel height
     that page content would overlap. */
  .is-expanded-menu .header-wrap-clone {
    height: auto;
    min-height: calc(var(--cnvs-header-height) + 1px);
  }
}