/* AAPuff storefront override. Loaded after the shared theme variables. */
:root {
  --color-primary: #171b18;
  --color-secondary: #26352f;
  --color-accent: #b6372c;
  --color-bg: #ffffff;
  --color-bg-alt: #f3f5f2;
  --color-text: #202421;
  --color-text-muted: #5f6862;
  --color-border: #d9ded9;
  --color-header-bg: #171b18;
  --color-header-text: #ffffff;
  --color-link: #1f6048;
  --color-link-hover: #143f30;
  --color-btn-bg: #1f6048;
  --radius: 4px;
  --radius-lg: 6px;
  --shadow-sm: 0 1px 2px rgba(23, 27, 24, .08);
  --shadow-md: 0 8px 24px rgba(23, 27, 24, .12);
}

.home .site-main { background: var(--color-bg); }
.home .site-footer { margin-top: 0; }

.aapuff-masthead {
  background: var(--color-bg-alt);
  border-bottom: 1px solid var(--color-border);
  padding: 3.5rem 0 3rem;
}
.aapuff-masthead__inner { max-width: 940px; }
.aapuff-kicker,
.aapuff-section-label {
  color: #8f2d25;
  font-size: .78rem;
  font-weight: 800;
  margin: 0 0 .65rem;
  text-transform: uppercase;
}
.aapuff-masthead h1 {
  font-size: 2.5rem;
  line-height: 1.08;
  margin: 0;
  max-width: 760px;
}
.aapuff-lead {
  color: #3e4741;
  font-size: 1.08rem;
  line-height: 1.65;
  margin: 1.1rem 0 1.5rem;
  max-width: 790px;
}
.aapuff-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  max-width: 760px;
}
.aapuff-search input[type="search"] {
  background: #fff;
  border-color: #aeb8b1;
  border-radius: 4px 0 0 4px;
  min-height: 50px;
  padding-inline: 1rem;
}
.aapuff-search button {
  border-radius: 0 4px 4px 0;
  min-height: 50px;
  padding-inline: 1.35rem;
}
.aapuff-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 1rem;
}
.aapuff-actions .btn { min-height: 46px; }
.aapuff-text-link { font-weight: 700; text-decoration-thickness: 1px; }

.aapuff-essentials {
  border-bottom: 1px solid var(--color-border);
  padding: 1.15rem 0;
}
.aapuff-essentials dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.aapuff-essentials dl > div {
  border-right: 1px solid var(--color-border);
  padding: .15rem 1.25rem;
}
.aapuff-essentials dl > div:first-child { padding-left: 0; }
.aapuff-essentials dl > div:last-child { border-right: 0; }
.aapuff-essentials dt {
  color: var(--color-text-muted);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}
.aapuff-essentials dd { font-weight: 750; margin: .15rem 0 0; }

.aapuff-brands { padding: 2rem 0 0; }
.aapuff-brands h2 { font-size: 1rem; margin: 0 0 .75rem; }
.aapuff-brands ul {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.2rem;
  list-style: none;
  margin: 0;
  padding: 0 0 1.5rem;
}
.aapuff-brands li { margin: 0; }
.aapuff-brands a {
  align-items: baseline;
  color: var(--color-primary);
  display: inline-flex;
  font-weight: 700;
  gap: .4rem;
  min-height: 44px;
  padding: .6rem 0;
  text-decoration-color: #aeb8b1;
}
.aapuff-brands a:hover { color: var(--color-link); }
.aapuff-brands a span { color: var(--color-text-muted); font-size: .72rem; font-weight: 600; }

.aapuff-products { padding: 2.5rem 0 3.5rem; }
.aapuff-products .section-head { margin-bottom: 1.4rem; }
.aapuff-products .woocommerce ul.products { gap: 1.15rem; margin-bottom: 0; }
.aapuff-products .woocommerce ul.products::before,
.aapuff-products .woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}
.aapuff-products .woocommerce ul.products li.product { border-radius: 6px; box-shadow: none; }
.aapuff-products .woocommerce ul.products li.product:hover {
  border-color: #9fa9a2;
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.aapuff-products .woocommerce ul.products li.product a img {
  background: #fff;
  object-fit: contain;
  padding: 1rem;
}
.aapuff-products .woocommerce-loop-product__title {
  min-height: 4.5rem;
  overflow-wrap: anywhere;
}
.aapuff-products .woocommerce ul.products li.product .button {
  align-self: stretch;
  margin-top: auto;
  text-align: center;
}

.aapuff-guide {
  background: #202823;
  color: #eef2ef;
  padding: 3.5rem 0;
}
.aapuff-guide h2 { color: #fff; font-size: 2rem; margin: 0 0 1rem; }
.aapuff-guide p { color: #cbd3ce; margin: 0; max-width: 580px; }
.aapuff-guide .aapuff-section-label { color: #f0a49d; }
.aapuff-guide__layout {
  display: grid;
  gap: 3rem;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
}
.aapuff-guide ol {
  counter-reset: catalogue-step;
  list-style: none;
  margin: 0;
  padding: 0;
}
.aapuff-guide li {
  align-items: baseline;
  border-top: 1px solid #4b5750;
  counter-increment: catalogue-step;
  display: grid;
  gap: .75rem;
  grid-template-columns: 2rem minmax(150px, .8fr) 1.2fr;
  padding: .75rem 0;
}
.aapuff-guide li::before { color: #f0a49d; content: "0" counter(catalogue-step); font-size: .78rem; font-weight: 800; }
.aapuff-guide li span { color: #b9c3bd; font-size: .88rem; }

.aapuff-guides { padding: 3.5rem 0; }
.aapuff-guides ul { border-top: 1px solid var(--color-border); list-style: none; margin: 0; padding: 0; }
.aapuff-guides li { border-bottom: 1px solid var(--color-border); }
.aapuff-guides li a {
  align-items: center;
  color: var(--color-primary);
  display: grid;
  font-weight: 700;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 58px;
  padding: .75rem 0;
  text-decoration: none;
}
.aapuff-guides li a:hover { color: var(--color-link); }
.aapuff-guides time { color: var(--color-text-muted); font-size: .78rem; font-weight: 500; }

.aapuff-notice {
  background: #f8eded;
  border-bottom: 1px solid #ead2cf;
  border-top: 1px solid #ead2cf;
  padding: 1.5rem 0;
}
.aapuff-notice .container { display: grid; gap: 1.25rem; grid-template-columns: 220px minmax(0, 1fr); }
.aapuff-notice h2 { color: #6f241e; font-size: 1rem; margin: 0; }
.aapuff-notice p { color: #5e302c; font-size: .9rem; margin: 0; }

@media (max-width: 760px) {
  .aapuff-masthead { padding: 1.75rem 0; }
  .aapuff-masthead h1 { font-size: 2rem; }
  .aapuff-lead { font-size: 1rem; line-height: 1.55; margin: .85rem 0 1.1rem; }
  .aapuff-search { grid-template-columns: minmax(0, 1fr) auto; }
  .aapuff-search input[type="search"] { border-radius: 4px 0 0 4px; }
  .aapuff-search button { border-radius: 0 4px 4px 0; padding-inline: .9rem; }
  .aapuff-actions { margin-top: .75rem; }
  .aapuff-essentials { padding: .7rem 0; }
  .aapuff-essentials dl { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .aapuff-essentials dl > div { border-bottom: 0; padding: .25rem .5rem; }
  .aapuff-essentials dl > div:first-child { padding-left: 0; }
  .aapuff-essentials dt { font-size: .62rem; }
  .aapuff-essentials dd { font-size: .78rem; line-height: 1.3; }
  .aapuff-brands { padding-top: 1.25rem; }
  .aapuff-brands h2 { margin-bottom: .25rem; }
  .aapuff-brands ul {
    flex-wrap: nowrap;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: .75rem;
  }
  .aapuff-brands li { flex: 0 0 auto; }
  .aapuff-products { padding: 1.75rem 0 3rem; }
  .aapuff-guide__layout { gap: 2rem; grid-template-columns: 1fr; }
  .aapuff-guide h2 { font-size: 1.65rem; }
  .aapuff-guide li { grid-template-columns: 2rem minmax(0, 1fr); }
  .aapuff-guide li span { grid-column: 2; }
  .aapuff-notice .container { gap: .5rem; grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
  .aapuff-brands ul { column-gap: 1rem; }
  .aapuff-products .woocommerce-loop-product__title { min-height: 0; }
  .aapuff-guides li a { align-items: start; grid-template-columns: 1fr; }
}
