/* Storefront layer, loaded last on the index, shop and account pages.
   1) fixes from the live-site audit, 2) the bold, gun-forward look (2026-10-28). */

:root { --peHot: #ff3d9a; --peHotDark: #c81f72; --peInk: #0a0a0c; --pePanel: #121216; --peLine: #2a2a31; --peText: #f4f4f6; --peMuted: #a9a9b3; --peStock: #35d07f; }

/* ---------- Audit fixes ---------- */
/* Phones: logo + Mobile Pawn + search + cart were wider than the screen and pushed the cart off the edge. */
@media (max-width: 520px) {
  .peNavWrap { gap: 8px !important; padding-left: 10px !important; padding-right: 10px !important; }
  .peNavWrap > .peMainNav { flex: 0 0 0; }
  .peLogoBrand { min-width: 0; flex-shrink: 1; }
  .peNavActions { gap: 8px !important; flex-shrink: 0; }
  .peMobilePawnTop { padding: 6px 8px !important; font-size: 10px !important; }
  .peMobilePawnTop img { width: 18px; height: 18px; }
}
@media (max-width: 360px) { .peMobilePawnTop { display: none !important; } }

/* ---------- Bold headings ---------- */
.peBold, .peFireQuick h2, .peFeaturedHead h2, .peGunHub h2, #inventory .head h2 {
  font-family: Impact, 'Arial Narrow', 'Arial Black', sans-serif !important; font-weight: 400 !important;
  text-transform: uppercase; letter-spacing: .5px; line-height: .95;
}
.peFireQuick h2, .peFeaturedHead h2, .peGunHub h2 { font-size: clamp(34px, 5vw, 58px) !important; }
.peFireQuick .eyebrow, .peFeaturedHome .eyebrow, .peGunHub .peKicker { color: var(--peHot) !important; letter-spacing: 3px; font-weight: 900; font-size: 13px; }

/* Trust strip: one slim, bold line instead of a tall block. */
.peTrustBar { padding: 14px 0 !important; background: #0d0d10 !important; border-top: 3px solid var(--peHot); border-bottom: 1px solid var(--peLine); }
.peTrustBar * { min-height: 0 !important; }

/* Quick-shop tiles: big, bold, with live counts. */
.peFireQuick { padding: 54px 0 30px !important; background: var(--peInk) !important; }
.peFireQuick .head { text-align: left !important; margin-bottom: 22px !important; }
.peFireQuickGrid { gap: 12px !important; }
.peFireTile { min-height: 230px !important; border-radius: 6px !important; border: 2px solid #ffffff14 !important; transition: transform .15s, border-color .15s !important; }
.peFireTile:hover { transform: translateY(-3px); border-color: var(--peHot) !important; }
.peFireTile b { font-family: Impact, 'Arial Narrow', sans-serif; font-weight: 400; font-size: 34px !important; letter-spacing: .5px; }
.peFireTile strong { background: var(--peHot); color: #fff !important; padding: 6px 10px; border-radius: 3px; display: inline-block; }
.peFireTile em.peTileCount { all: unset; position: absolute; top: 12px; right: 12px; z-index: 3; background: #000d; color: var(--peStock); border: 1px solid #35d07f66; font: 900 12px/1 Arial, sans-serif; letter-spacing: .5px; padding: 6px 10px; border-radius: 99px; text-transform: uppercase; }

/* Trust strip: four items in one row on wide screens. */
@media (min-width: 900px) { .peTrustBar .peTrustInner { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 12px !important; } }
/* Hero slides and the featured slider were wider than the page, causing a sideways scrollbar. */
.peHeroSlider, #homeHero { overflow: hidden; }
#featuredHome, #newArrivalsHome { overflow-x: clip; }

/* ---------- Guns In Stock (homepage) ---------- */
.peGunHub { background: linear-gradient(180deg, var(--peInk), #111015); padding: 34px 0 60px; border-bottom: 1px solid var(--peLine); }
.peGunHub .wrap { width: min(1240px, calc(100% - 28px)); margin: auto; }
.peGunHubHead { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.peGunHubHead h2 { margin: 6px 0 0; color: #fff; }
.peGunTabs { display: flex; gap: 8px; flex-wrap: wrap; }
.peGunTabs button { background: transparent; color: #fff; border: 2px solid #ffffff2e; padding: 9px 15px; font-weight: 900; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; border-radius: 3px; }
.peGunTabs button.on, .peGunTabs button:hover { background: var(--peHot); border-color: var(--peHot); }
.peGunGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.peGunCard { display: flex; flex-direction: column; background: var(--pePanel); border: 1px solid var(--peLine); border-radius: 6px; overflow: hidden; color: var(--peText); text-decoration: none; transition: transform .15s, border-color .15s, box-shadow .15s; }
.peGunCard:hover { transform: translateY(-3px); border-color: var(--peHot); box-shadow: 0 14px 34px #000a; }
.peGunImg { aspect-ratio: 4 / 3; background: #fff; display: grid; place-items: center; overflow: hidden; position: relative; }
.peGunImg img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.peGunImg img.pePhoto { object-fit: cover; padding: 0; }   /* the shop's own photos fill the frame */
.peGunTag { position: absolute; top: 8px; left: 8px; background: var(--peHot); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: 1px; padding: 4px 8px; border-radius: 2px; }
.peGunBody { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.peGunBrand { color: var(--peHot); font-size: 12px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }
.peGunTitle { font-weight: 800; font-size: 15px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 38px; }
.peGunPrice { font-family: Impact, 'Arial Narrow', sans-serif; font-size: 30px; color: #fff; letter-spacing: .5px; margin-top: auto; }
.peGunMeta { font-size: 12px; color: var(--peMuted); font-weight: 700; }
.peGunMeta .in { color: var(--peStock); }
.peGunCta { display: block; text-align: center; background: var(--peHot); color: #fff; font-weight: 900; letter-spacing: 1px; padding: 10px; border-radius: 3px; font-size: 13px; }
.peGunCard:hover .peGunCta { background: var(--peHotDark); }
.peGunHubFoot { display: flex; justify-content: center; margin-top: 22px; }
.peBigBtn { display: inline-block; background: #fff; color: #000 !important; font-family: Impact, 'Arial Narrow', sans-serif; font-size: 22px; letter-spacing: 1px; padding: 13px 30px; border-radius: 3px; text-decoration: none; border: 2px solid #fff; }
.peBigBtn:hover { background: var(--peHot); border-color: var(--peHot); color: #fff !important; }
.peGunEmpty { grid-column: 1 / -1; color: var(--peMuted); padding: 30px; text-align: center; border: 1px dashed var(--peLine); }
@media (max-width: 980px) { .peGunGrid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .peGunGrid { grid-template-columns: repeat(2, 1fr); gap: 10px; } .peGunPrice { font-size: 24px; } .peGunTitle { font-size: 13px; } }

/* The "Find Your Next Favorite" block repeated the quick-shop tiles; the gun hub replaces it. */
body.peHome #services { display: none !important; }

/* ---------- Product cards (shop + featured) ---------- */
article.product { border-radius: 6px !important; border: 1px solid var(--peLine) !important; background: var(--pePanel) !important; overflow: hidden; transition: transform .15s, border-color .15s; }
article.product:hover { transform: translateY(-3px); border-color: var(--peHot) !important; }
article.product img[src*="chattanoogashooting.com"] { background: #fff; object-fit: contain !important; }   /* white supplier product shots */
#inventory .btn.alt, .peFeaturedHome .btn.alt { color: #fff !important; }
article.product h3 { font-weight: 800 !important; font-size: 16px !important; line-height: 1.25; }
article.product .price { font-family: Impact, 'Arial Narrow', sans-serif !important; font-weight: 400 !important; font-size: 30px !important; letter-spacing: .5px; color: #fff !important; }
article.product .btn { border-radius: 3px !important; font-weight: 900 !important; letter-spacing: .8px; }
article.product .btn.alt { color: #fff !important; border-color: #ffffff55 !important; background: transparent !important; }
article.product .btn.alt:hover { border-color: var(--peHot) !important; color: var(--peHot) !important; }
.featuredBadge { border-radius: 2px !important; font-weight: 900 !important; letter-spacing: 1px; }

/* ---------- Brand spotlight: tiles are links to guns in stock ---------- */
.info-brand { position: relative; transition: transform .15s, border-color .15s; }
.info-brand:hover { transform: translateY(-2px); border-color: var(--peHot) !important; }
.peBrandCount { position: absolute; top: 6px; right: 6px; font-size: 10px; font-weight: 900; color: #fff; background: #000c; border: 1px solid #ffffff2a; padding: 2px 7px; border-radius: 99px; }
.peBrandCount b { color: var(--peStock); }
.peMenuCount { font-size: .78em; font-weight: 700; opacity: .7; white-space: nowrap; }

/* Shop page: brand banner */
.peBrandBanner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: var(--pePanel); border: 1px solid var(--peLine); border-left: 4px solid var(--peHot); padding: 14px 16px; margin: 0 0 16px; border-radius: 4px; }
.peBrandBanner h3 { margin: 0; font-family: Impact, 'Arial Narrow', sans-serif; font-weight: 400; font-size: 28px; letter-spacing: .5px; text-transform: uppercase; color: #fff; }
.peBrandBanner a { color: var(--peHot); font-weight: 900; text-decoration: none; }

/* Phones: filters fold behind a button so products come first. */
.peFilterToggle { display: none; }
@media (max-width: 820px) {
  .peFilterToggle { display: flex; width: 100%; justify-content: space-between; align-items: center; background: var(--pePanel); color: #fff; border: 2px solid #ffffff30; padding: 12px 14px; font-weight: 900; letter-spacing: 1px; border-radius: 4px; margin-bottom: 12px; cursor: pointer; font-size: 14px; }
  body.peFiltersFolded .shopSidebar { display: none !important; }
}

/* Top menu: Firearms and Brands mega-menus (same layout as Our Store). White product shots and brand
   logos sit on white so they read like the photo cards. */
.info-menu-card.peShotCard img { background: #fff !important; object-fit: contain !important; padding: 8px; }
.peBrandGrid { grid-template-columns: repeat(4, 1fr) !important; }
.info-menu-card.peBrandCard img { background: #0b0b0e !important; object-fit: contain !important; padding: 16px 22px; }
.info-menu-card.peBrandCard img.peInvert { filter: brightness(0) invert(1); background: transparent !important; }
.info-menu-card.peBrandCard .peBrandArt { display: grid; place-items: center; height: 130px; background: #0b0b0e; }
@media (max-width: 900px) { .peBrandGrid { grid-template-columns: repeat(2, 1fr) !important; } }
/* Phones: the nav's no-wrap text made every dropdown wider than the screen, cutting off the right column. */
@media (max-width: 760px) {
  .info-mega { grid-template-columns: minmax(0, 1fr) !important; }
  .info-mega-main { white-space: normal; min-width: 0; }
  .info-menu-card span { white-space: normal; }
}

/* ---------- Deal of the Week: full-width photo, centered panel, big countdown ---------- */
#homepageDealDisplay.info-wide-spotlight {
  background: linear-gradient(90deg, #0009 0%, #0003 50%, #0009 100%), url('/assets/hero/scoped-rifle.jpg') center 58% / cover no-repeat !important;
  padding: 64px 16px !important; border-top: 3px solid var(--peHot); border-bottom: 3px solid var(--peHot);
}
#homepageDealDisplay .info-wide-panel {
  max-width: 1040px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1fr 1fr !important;
  background: #07080bf2 !important; border: 1px solid #ffffff1f !important; border-radius: 4px; box-shadow: 0 30px 70px #000c; overflow: hidden; padding: 0 !important; gap: 0 !important;
}
#homepageDealDisplay .info-wide-copy { display: flex !important; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 42px 28px !important; background: transparent !important; }
#homepageDealDisplay .info-wide-copy > p { color: #fff !important; font: 900 13px/1 Arial, sans-serif !important; letter-spacing: 3px; margin: 0 0 12px !important; }
#homepageDealDisplay .info-wide-copy > p::after { content: ' • NEW DEALS WEEKLY'; color: var(--peHot); }
#homepageDealDisplay h2 { font-family: Impact, 'Arial Narrow', sans-serif !important; font-weight: 400 !important; font-size: clamp(40px, 5.4vw, 64px) !important; letter-spacing: 1px; line-height: .95 !important; color: #fff !important; margin: 0 0 22px !important; text-transform: uppercase; }
#homepageDealDisplay .homepage-deal-countdown { display: flex !important; gap: 12px !important; justify-content: center; }
#homepageDealDisplay .homepage-deal-countdown span { display: flex !important; flex-direction: column; align-items: center; gap: 8px; background: transparent !important; border: 0 !important; padding: 0 !important; min-width: 0 !important; }
#homepageDealDisplay .homepage-deal-countdown b {
  display: grid; place-items: center; width: 74px; height: 70px; border-radius: 6px; background: linear-gradient(180deg, var(--peHot) 0 50%, var(--peHotDark) 50% 100%) !important;
  color: #fff !important; font: 400 44px/1 Impact, 'Arial Narrow', sans-serif !important; letter-spacing: 1px; box-shadow: 0 8px 20px #ff3d9a40, inset 0 0 0 1px #ffffff26;
}
#homepageDealDisplay .homepage-deal-countdown small { color: #fff !important; font: 900 11px/1 Arial, sans-serif !important; letter-spacing: 2px; }
#homepageDealDisplay .info-wide-item { background: #0e0f13 !important; border-left: 1px solid #ffffff14 !important; padding: 26px !important; display: flex !important; flex-direction: column; gap: 10px; border-radius: 0 !important; }
#homepageDealDisplay .info-wide-item img { width: 100% !important; aspect-ratio: 4 / 3; object-fit: contain !important; background: #fff !important; border-radius: 3px; padding: 8px; height: auto !important; }
#homepageDealDisplay .info-wide-item h3 { font-family: Impact, 'Arial Narrow', sans-serif !important; font-weight: 400 !important; font-size: 26px !important; line-height: 1.1 !important; letter-spacing: .5px; color: #fff !important; margin: 6px 0 0 !important; }
#homepageDealDisplay .info-wide-item p { font: 400 32px/1 Impact, 'Arial Narrow', sans-serif !important; color: #fff !important; margin: 0 !important; letter-spacing: .5px; }
#homepageDealDisplay .info-wide-item a.info-pink-link {
  display: block !important; text-align: center; background: var(--peHot) !important; color: #fff !important; padding: 14px !important; border-radius: 3px !important;
  font: 400 22px/1 Impact, 'Arial Narrow', sans-serif !important; letter-spacing: 1px; margin-top: 4px; text-decoration: none;
}
#homepageDealDisplay .info-wide-item a.info-pink-link:hover { background: var(--peHotDark) !important; }
@media (max-width: 760px) {
  #homepageDealDisplay .info-wide-panel { grid-template-columns: 1fr !important; }
  #homepageDealDisplay .info-wide-item { border-left: 0 !important; border-top: 1px solid #ffffff14 !important; }
  #homepageDealDisplay .homepage-deal-countdown b { width: 62px; height: 60px; font-size: 36px !important; }
}

/* Distributor items don't take offers (MAP pricing). */
.peNoOffer .makeOfferBtn { display: none !important; }

/* Shop sidebar (categories and filters): on wider screens it stays in view and scrolls on its own,
   so its lower half is reachable without scrolling to the bottom of the products. */
@media (min-width: 801px) {
  .shopSidebar { max-height: calc(100vh - 116px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #555 transparent; }
  .shopSidebar::-webkit-scrollbar { width: 8px; }
  .shopSidebar::-webkit-scrollbar-thumb { background: #555; border-radius: 8px; }
}

/* Product pages: 48 to a page with numbered navigation under the grid. */
.pePager { margin: 22px 0 8px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pePagerInfo { color: #bcbcc5; font-size: 14px; text-align: center; }
.pePagerBtns { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.pePagerBtns button { min-width: 40px; padding: 9px 12px; border-radius: 8px; border: 1px solid #303038; background: #141419; color: #fff; font-weight: 800; cursor: pointer; }
.pePagerBtns button.on { background: var(--pePink, #e85d9d); border-color: var(--pePink, #e85d9d); }
.pePagerBtns button:disabled { opacity: .4; cursor: default; }
.pePagerBtns button:not(:disabled):not(.on):hover { border-color: var(--pePink, #e85d9d); }
.pePagerGap { color: #bcbcc5; padding: 9px 2px; }

/* ---------- Phones: fit the screen and feel lighter ----------
   Nothing may push the page wider than the phone (the zoomed hero slide did, so the page could slide
   sideways and the right edge, e.g. the footer links, was cut off). Sections are tighter, titles fit
   their tiles, and the slide arrows no longer sit on the headline. Desktop is unchanged. */
html, body { overflow-x: clip; }
.peHero, .peHeroSlider { overflow: hidden; }
@media (max-width: 640px) {
  .peHeroSlider { padding: 0 !important; }
  .peHeroSlider, .peHeroSlider .peHeroInner { min-height: 400px !important; }
  .peHeroInner { padding: 26px 18px 64px !important; }
  .peHeroKicker { font-size: 11px !important; letter-spacing: 2px !important; margin-bottom: 10px !important; }
  .peHeroTitleWhite, .peHeroTitlePink { font-size: clamp(32px, 10.5vw, 42px) !important; }
  .peHeroSub { font-size: 18px !important; margin-top: 14px !important; }
  .peHeroSmall { font-size: 15px !important; }
  .peHeroArrow { top: auto !important; bottom: 12px !important; transform: none !important; width: 36px !important; height: 36px !important; font-size: 22px !important; line-height: 1 !important; }
  .peHeroArrow.prev { left: 14px !important; } .peHeroArrow.next { right: 14px !important; }
  .peHeroDots { bottom: 25px !important; }

  .peFireQuick { padding: 30px 0 18px !important; }
  .peFireQuick h2, .peFeaturedHead h2, .peGunHub h2 { font-size: clamp(26px, 8vw, 34px) !important; }
  .peFireQuickGrid { gap: 10px !important; }
  .peFireTile { min-height: 150px !important; }
  .peFireTile span { left: 12px !important; right: 12px !important; bottom: 12px !important; }
  .peFireTile b { font-size: clamp(19px, 6.2vw, 26px) !important; overflow-wrap: anywhere; }
  .peFireTile small { font-size: 12px !important; }
  .peFireTile strong { font-size: 11px !important; padding: 5px 8px !important; }
  .peFireTile em.peTileCount { top: 8px !important; right: 8px !important; font-size: 10px !important; }
  .peFireQuickGrid > .peFireTile:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 120px !important; }

  .peTrustBar .peTrustInner { grid-template-columns: 1fr 1fr !important; gap: 10px 12px !important; }
  .peTrustBar .peTrustItem { gap: 8px !important; align-items: center !important; }
  .peTrustBar .peTrustItem > span { font-size: 16px !important; width: 30px !important; height: 30px !important; flex: none !important; }
  .peTrustBar .peTrustItem b { font-size: 12px !important; line-height: 1.2 !important; }
  .peTrustBar .peTrustItem small { font-size: 11px !important; line-height: 1.25 !important; }
  .peGunHub { padding-top: 30px !important; padding-bottom: 30px !important; }
  .peGunGrid > .peGunCard:nth-child(n+7) { display: none !important; }   /* six on a phone; "Shop all firearms" lists the rest */
  .peGunGrid { gap: 8px !important; }
  .peGunImg img { padding: 6px !important; }

  .peFeaturedHome { padding-top: 30px !important; padding-bottom: 30px !important; }

  .peBrandCount { position: static !important; display: inline-block; margin-top: 4px; font-size: 9px !important; }

  .info-mobile-pawn .info-mobile-pawn-stores { width: 100%; }
}
