/* Shared header/footer and the reviewed catalogue presentation. */
.ah-header-cart { flex: 0 0 auto; text-align: center; }
.ah-header-cart button { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 7px 10px; border: 1px solid #d4d8cb; background: transparent; color: #415447; border-radius: 4px; font: 12px Arial,sans-serif; cursor: not-allowed; }
.ah-header-cart small { display: block; margin-top: 3px; font: 9px Arial,sans-serif; color: #7b8275; }
.ah-cart-count { padding-left: 4px; border-left: 1px solid #d4d8cb; }
.ah-shell .ah-unified-header:has(.ah-header-cart) { gap: 15px; }
@media(max-width:1100px) { .ah-shell .ah-unified-header:has(.ah-header-cart) { flex-wrap: wrap; } .ah-shell .ah-unified-header:has(.ah-header-cart) .ah-nav { flex-basis: 100%; order: 3; } }
.ah-shell .ah-unified-header { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 18px 4%; background: var(--ah-paper); border-bottom: 1px solid var(--ah-line); text-align: left; }
.ah-shell .ah-brand-logo { flex: 0 0 180px; }
.ah-shell .ah-brand-logo img { display: block; width: 180px; height: auto; mix-blend-mode: multiply; }
.ah-shell .ah-unified-header .ah-nav { flex: 1; margin: 0; border: 0; }
.ah-shell .ah-unified-header .ah-nav > ul { justify-content: flex-end; gap: 2px; }
.ah-shell .ah-unified-header .ah-nav > ul > li > a, .ah-shell .ah-unified-header .ah-nav > ul > li > details > summary { padding: 14px 12px; border-radius: 6px; font: 14px/1.4 Arial,sans-serif; }
.ah-shell .ah-unified-header .ah-nav > ul > li > details > ul { margin-top: 8px; border-radius: 10px; box-shadow: 0 18px 45px #102a2324; }
.ah-shell .ah-unified-header .ah-nav > ul > li:nth-last-child(-n+3) > details > ul { right: 0; }
.ah-shell .ah-unified-header .ah-nav ul ul a, .ah-shell .ah-unified-header .ah-nav ul ul summary { border-radius: 5px; }
body.ah-shell:not(.ah-home) { max-width: 1280px; padding: 0 40px 40px; }
.ah-shell:not(.ah-home) > .ah-unified-header { margin: 0 -40px 30px; }
.ah-shell .ah-home-footer { padding: 35px 5%; background: #f0eee7; border-top: 1px solid var(--ah-line); text-align: center; clear: both; }
.ah-shell:not(.ah-home) > .ah-home-footer { margin: 45px -40px -40px; }
.ah-shell .ah-home-footer h2 { font: normal 15px/2.5 Arial,sans-serif; margin: 15px 0; }
.ah-shell .ah-home-footer a { color: #263c34; }
.ah-shell .ah-home-footer p { max-width: 950px; margin: 22px auto 0; }
.ah-shell .ah-home-footer p, .ah-shell .ah-home-footer p font { font: 12px/1.7 Arial,sans-serif !important; color: #58625b !important; }
.ah-shell .ah-home-footer img { mix-blend-mode: multiply; }
.ah-footer-badges { padding-top: 20px; }
.ah-footer-badges img { max-width: 120px; max-height: 100px; object-fit: contain; }
.ah-catalogue-title { margin: 32px 0 22px; color: #193a32; font: 36px/1.2 Georgia,serif; max-width: 900px; text-wrap: balance; }
.ah-catalogue .ah-catalogue-tools { margin-top: 0; padding: 20px 24px; gap: 14px; }
.ah-catalogue.ah-shell tr.ah-product-card { padding: 0; overflow: hidden; border-radius: 8px; }
.ah-catalogue.ah-shell tr.ah-product-card > td.ah-card-media { min-height: 0; aspect-ratio: 3.05; padding: 10px; margin: 0; background: #fff; }
.ah-card-media a, .ah-card-media picture { display: contents; }
.ah-catalogue.ah-shell tr.ah-product-card > td.ah-card-media img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.ah-catalogue.ah-shell tr.ah-product-card > td.ah-card-body { padding: 20px 24px; flex: 1; display: flex; flex-direction: column; border-top: 1px solid #efeee8; }
.ah-card-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.ah-card-heading > div { min-width: 0; }
.ah-catalogue .ah-product-card .ah-card-sku, .ah-card-sku { margin: 0 0 5px; color: #70796d; font: 12px/1.5 Arial,sans-serif; letter-spacing: .04em; }
.ah-catalogue .ah-product-card .ah-card-heading h3, .ah-card-heading h3 { margin: 0; color: #253f34; font: 21px/1.35 Georgia,serif !important; }
.ah-catalogue .ah-product-card .ah-card-price, .ah-card-price { flex-shrink: 0; margin: 0; text-align: right; color: #193a32; }
.ah-card-price small { display: block; font: 10px/1.5 Arial,sans-serif; color: #6b7566; letter-spacing: .1em; }
.ah-card-price strong { font: 26px/1.25 Georgia,serif; }
.ah-card-stock { margin: 20px 0 12px; display: flex; flex-direction: column; align-items: start; gap: 8px; }
.ah-stock-line { display: inline-flex; align-items: baseline; gap: 10px; padding: 6px 10px; border-radius: 5px; background: #f1f0eb; color: #545d51; font: 13px/1.5 Arial,sans-serif; }
.ah-stock-line[data-state="in"] { color: #28563b; background: #eaf2e9; }
.ah-stock-line[data-state="out"] { color: #854536; background: #f8efeb; }
.ah-stock-line[data-state="expected"] { color: #735b2d; background: #f6f0e2; }
.ah-stock-line[data-state="note"] { padding: 0; background: transparent; color: #545d51; }
.ah-region { font-size: 10px; font-weight: bold; padding-right: 9px; border-right: 1px solid currentColor; }
.ah-card-actions { margin-top: auto; }
.ah-card-actions .ah-details-label { text-decoration: none; margin: 6px 0 0; }
.ah-bayonets { margin: 48px 0; }
.ah-bayonet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ah-bayonet-card { background: #fff; border: 1px solid #dedfd6; border-radius: 8px; padding: 24px; }
.ah-bayonet-card .ah-stock-line { margin-top: 20px; }
.ah-bayonet-card > a { display: block; margin-top: 12px; color: #193a32; }
.ah-catalogue-support { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 35px; margin: 50px 0; padding: 25px; background: #efeee7; }
.ah-catalogue-support img { width: 100%; height: auto; }
.ah-catalogue-support h3 img { width: 220px; mix-blend-mode: multiply; }
.ah-catalogue-support p { font: 15px/1.7 Arial,sans-serif; }
.ah-project-transfer { padding: 30px; margin: 35px 0; background: #efeee7; }
.ah-project-transfer > p { margin: 25px auto; max-width: 1000px; }
.ah-project-transfer img { object-fit: contain; margin: 8px; max-width: calc(100% - 16px); }
.ah-project-transfer img[src="pastclients_small.png"], .ah-project-transfer img[src="5stars.png"] { mix-blend-mode: multiply; }
@media (min-width:761px) and (max-width:1050px) {
 .ah-shell .ah-unified-header { gap: 18px; padding: 16px 24px; }
 .ah-shell .ah-brand-logo { flex-basis: 150px; }
 .ah-shell .ah-unified-header .ah-nav > ul > li > a, .ah-shell .ah-unified-header .ah-nav > ul > li > details > summary { padding: 12px 8px; font-size: 13px; }
}
@media (max-width:760px) {
 .ah-shell table[border="0"]:not(.ah-product-grid) { width: 100% !important; table-layout: fixed; }
 .ah-shell:has(.ah-project-transfer) table[border="0"], .ah-shell:has(.ah-project-transfer) table[border="0"] tbody, .ah-shell:has(.ah-project-transfer) table[border="0"] tr, .ah-shell:has(.ah-project-transfer) table[border="0"] td { display: block; width: 100% !important; box-sizing: border-box; }
 body.ah-shell:not(.ah-home) { padding: 0 16px 24px; }
 .ah-shell:not(.ah-home) > .ah-unified-header { margin: 0 -16px 24px; }
 .ah-shell .ah-unified-header { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
 .ah-shell .ah-brand-logo { flex-basis: auto; align-self: center; }
 .ah-shell .ah-brand-logo img { width: 150px; }
 .ah-shell .ah-unified-header .ah-nav { width: 100%; }
 .ah-shell .ah-unified-header .ah-nav > ul { justify-content: start; }
 .ah-shell .ah-unified-header .ah-nav > ul > li > details > ul { box-shadow: none; margin: 2px 0 10px; }
 .ah-shell:not(.ah-home) > .ah-home-footer { margin: 35px -16px -24px; }
 .ah-catalogue-title { font-size: 29px; }
 .ah-catalogue .ah-catalogue-tools { padding: 18px; }
 .ah-catalogue.ah-shell tr.ah-product-card > td.ah-card-body { padding: 18px; }
 .ah-card-heading { gap: 12px; }
 .ah-card-price strong { font-size: 23px; }
 .ah-bayonet-grid, .ah-catalogue-support { grid-template-columns: 1fr; }
 .ah-project-transfer { padding: 16px; }
}
@media print { .ah-shell .ah-unified-header { display: none; } }
.ah-product-purchase .ah-stock-line { width: fit-content; margin: 10px 0 0; font-size: 11px; }
@media(max-width:760px) {
  body.ah-shell .ah-unified-header:has(.ah-header-cart) { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
  body.ah-shell .ah-unified-header:has(.ah-header-cart) .ah-brand-logo { margin: 0; width: 150px; }
  body.ah-shell .ah-unified-header:has(.ah-header-cart) .ah-brand-logo img { width: 150px; }
  body.ah-shell .ah-unified-header:has(.ah-header-cart) .ah-nav { grid-column: 1 / -1; width: 100%; }
  body.ah-shell .ah-header-cart { justify-self: end; }
}

/* Product priorities and shared customer stories. */
.ah-primary-collections{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;align-items:stretch}
.ah-featured-muskets .ah-card-copy{background:#173f33;color:#fff9e9}
.ah-featured-muskets .ah-card-copy h3,.ah-featured-muskets .ah-card-copy p,.ah-featured-muskets .ah-card-link{color:inherit}
.ah-featured-muskets .ah-card-copy h3{font-size:clamp(28px,3vw,42px)}
.ah-primary-collections .ah-card-photo{height:340px;aspect-ratio:auto}
.ah-primary-collections .ah-card-photo img{width:100%;height:100%;object-fit:cover}
.ah-other-heading{margin-top:48px;font:normal 28px Georgia,serif;color:#214538}
.ah-footer-testimonials{text-align:center;padding:24px 20px 32px;border-bottom:1px solid #dcded3;margin-bottom:32px}
.ah-footer-testimonials h2{font:normal 28px Georgia,serif;color:#214538;margin:0 0 12px}
.ah-footer-testimonials p{margin:0 0 14px}.ah-footer-testimonials a{color:#214538}
@media(max-width:650px){.ah-primary-collections{grid-template-columns:1fr!important}.ah-primary-collections .ah-card-photo{height:260px}}

/* Shared compact footer. */
.ah-home-footer .ah-footer-inner{max-width:1180px;margin:auto;width:100%}
.ah-home-footer .ah-footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid #d8dacd}
.ah-home-footer .ah-footer-badges{margin:0;text-align:left}
.ah-home-footer .ah-footer-badges img{display:block;width:94px;height:auto;max-width:100%}
.ah-home-footer .ah-footer-socials{display:flex;align-items:center;gap:14px}
.ah-footer-socials span{font-size:13px;color:#657166;margin-right:8px}
.ah-footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:40px}
.ah-footer-socials img{width:25px;height:25px;object-fit:contain}
.ah-home-footer .ah-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 26px;padding:25px 0;font-size:14px}
.ah-footer-links a{color:#294b3d;text-underline-offset:4px}
.ah-home-footer .ah-footer-copyright p{max-width:950px;margin:0 auto;text-align:center;font-size:12px;line-height:1.8}
.ah-footer-copyright font{font:inherit!important;color:inherit!important}
.ah-home-footer .ah-footer-copyright a{font:inherit!important;line-height:inherit!important}
.ah-discontinued-notice{max-width:1100px;margin:32px auto;padding:20px 24px;background:#edf0e9;border:1px solid #dcded3;line-height:1.7}
.ah-legacy-cart-link{display:inline-block}
.ah-discovery-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-8px 0 18px}
.ah-discovery-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8d9cf;border-radius:50%;background:#fffdf8;color:#234637;font-size:22px;cursor:pointer}
.ah-other-collections.is-carousel{display:flex!important;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:18px}
.ah-other-collections.is-carousel>.ah-visual-card{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start}
.ah-other-collections.is-carousel .ah-card-photo{aspect-ratio:1.25}
@media(max-width:1000px){.ah-other-collections.is-carousel>.ah-visual-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:600px){.ah-other-collections.is-carousel>.ah-visual-card{flex-basis:85%}.ah-footer-socials span{display:none}.ah-home-footer .ah-footer-links{gap:14px 20px;font-size:13px}.ah-home-footer .ah-footer-top{gap:12px}}

.ah-other-collections.is-carousel{scrollbar-width:none;-ms-overflow-style:none;padding-bottom:0}
.ah-other-collections.is-carousel::-webkit-scrollbar{display:none}
.ah-discovery-dots{display:flex;justify-content:center;gap:4px;margin:16px 0 0}
.ah-discovery-dots button{border:0;background:transparent;padding:10px;cursor:pointer;min-width:28px;min-height:28px}
.ah-discovery-dots button::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#c9cec3}
.ah-discovery-dots button[aria-current="true"]::before{background:#315644;transform:scale(1.25)}
.ah-discovery-dots button:focus-visible{outline:2px solid #927c43;outline-offset:0;border-radius:50%}
.ah-home-footer .ah-footer-top:has(.ah-footer-badges:empty){justify-content:center}
.ah-home-footer .ah-footer-badges:empty{display:none}
body .ah-unified-header{position:sticky;top:0;z-index:100;background:#faf8f2}
body .ah-unified-header.ah-header-compact{padding-top:7px;padding-bottom:7px;box-shadow:0 3px 15px #163a2914;min-height:0}
body .ah-unified-header.ah-header-compact .ah-brand-logo{display:none}
body .ah-unified-header.ah-header-compact .ah-nav{margin:0;flex:1;order:0}
body .ah-unified-header.ah-header-compact .ah-nav>ul{justify-content:center}
html{scroll-padding-top:calc(var(--ah-sticky-height,80px) + 16px)}
@media(max-width:700px){body .ah-unified-header.ah-header-compact{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px}body .ah-unified-header.ah-header-compact .ah-header-cart{order:0;flex-direction:row;margin-left:auto;gap:12px}body .ah-unified-header.ah-header-compact .ah-nav{order:1;flex-basis:100%}body .ah-unified-header.ah-header-compact .ah-nav>ul{gap:0}body .ah-unified-header.ah-header-compact .ah-nav>ul>li>a,body .ah-unified-header.ah-header-compact .ah-nav>ul>li>details>summary{padding:8px 6px;font-size:12px}}
