/* Product photography, purchase placeholders, and curated editorial content. */
.ah-product-modern { --product-ink: #213f35; }
.ah-product-page { padding: 5px 0 24px; color: #334039; }
.ah-product-back { display: inline-block; font-size: 13px; margin: 0 0 28px; text-decoration: none; }
.ah-product-page a:not([data-photo]):not([data-enlarge]) { color: #315a43; text-underline-offset: 3px; }
.ah-product-intro { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 60px; align-items: start; margin-bottom: 35px; }
.ah-product-page .ah-eyebrow { margin: 0 0 12px; font: 11px/1.5 Arial,sans-serif; text-transform: uppercase; letter-spacing: .16em; color: #7b7053; }
.ah-product-page h1, .ah-product-intro h2 { font: normal clamp(28px,3.3vw,44px)/1.13 Georgia,serif; color: var(--product-ink); margin: 0 0 22px; max-width: 770px; text-align: left; text-wrap: balance; }
.ah-product-page .ah-product-description { max-width: 660px; font-size: 16px; line-height: 1.7; margin: 0 0 17px; }
.ah-product-page .ah-product-state { font-size: 12px; color: #6d7169; margin: 0; }
.ah-product-purchase { padding: 0 0 0 28px; border-left: 1px solid #d9d7ca; }
.ah-product-page .ah-model-code { font: 11px/1.6 Arial,sans-serif; letter-spacing: .035em; color: #6c7067; margin: 0 0 6px; }
.ah-price-pair { display: flex; gap: 15px; align-items: baseline; flex-wrap: wrap; }
.ah-price { color: var(--product-ink); font: 34px/1.2 Georgia,serif; white-space: nowrap; }
.ah-price small { font: 10px Arial,sans-serif; letter-spacing: .06em; }
.ah-price-secondary { font-size: 13px; color: #6c7067; white-space: nowrap; }
.ah-offer + .ah-offer { margin-top: 15px; padding-top: 15px; border-top: 1px solid #dfded6; }
.ah-add-cart { display: block; width: 100%; margin-top: 22px; padding: 14px 20px; border: 1px solid #263e34; border-radius: 4px; background: #263e34; color: #fff; font: 14px Arial,sans-serif; opacity: .65; cursor: not-allowed; }
.ah-product-page .ah-cart-note { margin: 7px 0 0; text-align: center; font-size: 11px; color: #77796f; }
.ah-inspection { border: 1px solid #e1dfd5; border-radius: 8px; background: #fff; overflow: hidden; }
.ah-carousel-frame {position:relative;}
.ah-inspection .ah-carousel-arrow {position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;box-shadow:0 2px 12px #253b2420;background:#fffefaee;font-size:20px;padding:0;z-index:2;}
.ah-inspection .ah-carousel-prev {left:14px;}.ah-inspection .ah-carousel-next {right:14px;}
.ah-carousel-frame .ah-inspection-stage {padding-left:65px;padding-right:65px;}
.ah-inspection-thumbs {scrollbar-width:none;scroll-behavior:smooth;position:relative;}
.ah-inspection-thumbs::-webkit-scrollbar {display:none;}
@media(prefers-reduced-motion:reduce){.ah-inspection-thumbs {scroll-behavior:auto;}}
@media(max-width:600px){.ah-carousel-frame .ah-inspection-stage {padding-left:40px;padding-right:40px;}.ah-inspection .ah-carousel-arrow {width:32px;height:32px;}.ah-inspection .ah-carousel-prev {left:5px;}.ah-inspection .ah-carousel-next {right:5px;}}
.ah-inspection-stage { display: flex; height: clamp(210px,29vw,365px); align-items: center; justify-content: center; background: #f0f2ef; padding: 28px; cursor: zoom-in; }
.ah-inspection-stage > img { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; border: 0; }
.ah-inspection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 20px; font: 12px/1.5 Arial,sans-serif; color: #5d6960; border-top: 1px solid #e1dfd5; }
.ah-gallery-controls { display: flex; gap: 7px; }
.ah-gallery-controls[hidden] { display: none; }
.ah-inspection button { color: #234034; border: 1px solid #d8dcd3; background: #fff; border-radius: 3px; padding: 8px 13px; font: 12px/1.3 Arial,sans-serif; cursor: pointer; }
.ah-inspection button:hover { background: #edf1eb; }
.ah-inspection button:disabled { opacity: .4; cursor: default; }
.ah-inspection-thumbs { display: flex; gap: 10px; padding: 0 20px 18px; overflow-x: auto; }
.ah-inspection-thumbs a { flex: 0 0 126px; height: 78px; padding: 6px; border: 1px solid #dfe2d9; border-radius: 4px; background: #f1f3f0; }
.ah-inspection-thumbs a[aria-current="true"] { border: 2px solid #8d7947; padding: 5px; }
.ah-inspection-thumbs img { width: 100%; height: 100%; object-fit: contain; margin: 0; }
.ah-product-page details.ah-technical { border-top: 0; margin: 0 0 64px; border-bottom: 1px solid #d7d6cc; }
.ah-technical summary { padding: 22px 0; cursor: pointer; color: #294536; font: 18px Georgia,serif; }
.ah-technical summary span { font: 12px Arial,sans-serif; color: #6c746a; margin-left: 12px; }
.ah-spec-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 44px; padding: 0; margin: 0 0 25px; list-style: none; }
.ah-spec-list li { display: flex; justify-content: space-between; gap: 24px; padding: 14px 0; border-bottom: 1px solid #e3e2d8; font-size: 14px; }
.ah-spec-list strong { font-weight: normal; color: #6b7268; }
.ah-spec-list span { text-align: right; color: #223b2d; }
.ah-technical-copy { max-width: 78ch; padding-bottom: 25px; font-size: 14px; line-height: 1.8; }
.ah-section-heading { margin-bottom: 30px; }
.ah-section-heading > span { text-transform: uppercase; letter-spacing: .14em; font-size: 10px; color: #7c7155; }
.ah-product-page .ah-section-heading h2 { font: normal 32px/1.3 Georgia,serif; color: #234033; margin: 8px 0; }
.ah-story-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 40px; margin: 0 0 45px; padding-bottom: 40px; border-bottom: 1px solid #deddd2; }
.ah-story-panel:has(> figure:only-child) { display: block; }
.ah-story-copy { font: 15px/1.85 Arial,sans-serif; overflow-wrap: anywhere; }
.ah-story-copy > p:first-child { margin-top: 0; }
.ah-story-copy p { margin: 0 0 20px; }
.ah-story-copy h3 { font: normal 23px/1.3 Georgia,serif; color: #284638; }
.ah-story-tail { max-width: 78ch; margin: 0 auto 40px; }
.ah-story-panel figure { margin: 0; min-width: 0; }
.ah-history-images { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; align-items: start; }
.ah-history-images > img, .ah-history-images > a { min-width: 0; max-width: 100%; flex: 1 1 40%; }
.ah-history-images img { width: 100%; height: auto; max-height: 540px; object-fit: contain; border-radius: 4px; }
.ah-product-history figcaption { color: #6a7168; font: 12px/1.65 Arial,sans-serif; margin-top: 13px; text-align: left; }
.ah-story-panel:has(> figure:only-child) figure { max-width: 820px; margin: auto; }
.ah-product-page a:not(.ah-inspection-stage):not([data-photo]):focus-visible, .ah-product-page button:focus-visible, .ah-product-page summary:focus-visible { outline: 2px solid #a78940; outline-offset: 4px; }
.ah-product-policies { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; border-top: 1px solid #dbdbce; padding-top: 20px; }
.ah-product-policies summary { cursor: pointer; color: #294436; font: 17px/1.6 Georgia,serif; padding: 10px 0; }
.ah-product-policies p { font: 13px/1.8 Arial,sans-serif; }
.ah-photo-dialog { box-sizing: border-box; width: min(1440px,96vw); height: min(900px,94vh); max-width: 96vw; max-height: 94vh; border: 0; border-radius: 8px; padding: 20px; background: #f5f6f1; color: #233f34; }
.ah-photo-dialog::backdrop { background: #101e18d9; }
.ah-photo-dialog[open] { display: flex; flex-direction: column; gap: 12px; }
.ah-dialog-toolbar, .ah-dialog-navigation { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 13px; }
.ah-dialog-toolbar > div { display: flex; gap: 8px; }
.ah-zoom-surface { flex: 1; min-height: 0; overflow: auto; display: grid; place-items: center; }
.ah-zoom-surface img { display: block; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; }
.ah-zoom-surface.is-zoomed { display: block; }
.ah-zoom-surface.is-zoomed img { width: auto; height: auto; max-width: none; max-height: none; min-width: 150%; }
.ah-artillery-second { padding-top: 40px; border-top: 1px solid #dcdacf; }
@media(max-width:760px) {
  .ah-product-intro { grid-template-columns: 1fr; gap: 26px; }
  .ah-product-purchase { padding: 20px 0 0; border-left: 0; border-top: 1px solid #dbd9cd; }
  .ah-product-page h1 { font-size: 33px; }
  .ah-product-page .ah-product-description { font-size: 15px; }
  .ah-inspection-stage { padding: 12px; height: 220px; }
  .ah-inspection-toolbar { padding: 12px; flex-wrap: wrap; }
  .ah-inspection-thumbs { padding: 0 12px 12px; }
  .ah-inspection-thumbs a { flex-basis: 96px; height: 66px; }
  .ah-gallery-hint { font-size: 10px; }
  .ah-technical summary span { display: block; margin: 8px 0 0 18px; }
  .ah-spec-list, .ah-story-panel, .ah-product-policies { grid-template-columns: 1fr; }
  .ah-story-panel { gap: 15px; margin-bottom: 30px; padding-bottom: 26px; }
  .ah-story-copy { font-size: 14px; }
  .ah-photo-dialog { padding: 12px; }
  .ah-dialog-toolbar { align-items: start; }
}
