/* Mobile-only layout pass. The existing desktop stylesheet remains unchanged. */
.nav-toggle,.mobile-bottom-bar{display:none}
@media (max-width:768px){
  html,body{overflow-x:hidden}
  *,*::before,*::after{box-sizing:border-box}
  [hidden]{display:none!important}
  body{font-size:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .wrap{width:100%;padding-inline:16px}
  header{padding:16px;flex-wrap:wrap;align-items:center;gap:12px}
  header .brand{font-size:22px;max-width:calc(100% - 72px)}
  header .brand small{font-size:8px;letter-spacing:1.25px;white-space:normal}
  .js-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:auto;padding:10px;border:1px solid #ffffff45;background:transparent;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px}
  .js-ready header nav[aria-label="Main navigation"]{display:none;flex-direction:column;align-items:stretch;width:100%;max-width:none;gap:0;padding-top:8px}
  .js-ready header.nav-open nav[aria-label="Main navigation"]{display:flex}
  .js-ready header nav[aria-label="Main navigation"]>a{display:flex;align-items:center;min-height:48px;width:100%;padding:12px 0;border-top:1px solid #ffffff1f;font-size:14px}
  .js-ready header nav[aria-label="Main navigation"]>a.button{justify-content:center;margin-top:8px;padding:12px 16px}
  .hero,.page-hero{padding:32px 16px}
  .hero>img{width:100%;max-width:100%;object-fit:cover}
  .page-hero .wrap{padding:0}
  .intro{padding:32px 16px}
  h1{font-size:clamp(32px,9vw,44px);letter-spacing:-1.5px}
  h2{font-size:clamp(30px,8vw,40px)}
  .hero-bottom{padding:16px 0 0;align-items:stretch;flex-direction:column}
  .hero-bottom p{font-size:16px}
  .lede,.section-description,.section-head>p,.card-body p,.model-card p,.model-card li,.path-card p,.bwc-feature p:not(.eyebrow),.bwc-feature li,.inventory-note,.inventory-status,.inventory-empty p,.inventory-model,.inventory-details,.business-inquiry p:not(.eyebrow),.inquiry>div>p:not(.eyebrow),.team p,.steps p,.editorial-panel p,.editorial-panel li,.mount-panel p:not(.eyebrow),.page-contact p:not(.eyebrow){font-size:16px}
  .button,a.button,button.button{width:100%;min-height:48px}
  .hero-bottom .button{width:100%}
  #home{display:flex;flex-direction:column}
  #home>.hero{order:0}
  #home>.intro{order:1}
  #home>.browse-paths{order:2}
  #home>.catalog{order:3}
  #home>.bwc-feature{order:4}
  #home>.team{order:5}
  #home>.business-inquiry{order:6}
  #home>.inquiry{order:7}
  main>*{min-width:0}
  .section-head{display:block}
  .filters,.inventory-filters{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;gap:8px;padding-inline:0}
  .filters::-webkit-scrollbar,.inventory-filters::-webkit-scrollbar{display:none}
  .filters button,.inventory-filters a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;padding:10px 15px}
  .grid,.inventory-grid,.model-grid,.model-grid.two,.path-grid,.team-grid,.bwc-feature,.inquiry,.editorial-panel,.mount-panel,.finish-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .mount-showcases{gap:16px}
  .team-grid>*,.bwc-feature>*,.inquiry>*,.editorial-panel>*,.mount-panel>*{min-width:0}
  .gear-card,.model-card,.inventory-card,.path-card{width:100%;min-width:0}
  .product,.product-photo,.inventory-photo,.bwc-photo,.cew-photo,.holster-photo,.dfa-photo{width:100%;max-width:100%}
  .product img,.product-photo img,.inventory-photo img,.bwc-photo img,.cew-photo img,.holster-photo img,.dfa-photo img{width:100%;max-width:100%;object-fit:contain;display:block}
  .cew-photo,.holster-photo{margin:0 0 16px}
  .product,.card-body,.inventory-card-body,.model-card,.path-card,.editorial-panel,.mount-label,.mount-panel>div:last-child,.inventory-empty{padding:16px}
  .text-link:not([hidden]){display:flex;align-items:center;width:100%;min-height:48px;padding:12px 0;font-size:16px}
  .model-card .text-link{padding:12px 0}
  .inventory-card .button,.business-inquiry .button,.page-contact .button{width:100%;min-height:48px}
  .inquiry{padding:32px 16px}
  .form-row{grid-template-columns:minmax(0,1fr);gap:0}
  input,select,textarea{width:100%;min-width:0;min-height:48px;font-size:16px}
  textarea{min-height:120px}
  .business-inquiry{padding:24px 16px;gap:20px;flex-direction:column;align-items:stretch}
  .page-contact{flex-direction:column;align-items:stretch;gap:16px}
  .page-contact>div{width:100%;min-width:0}
  .contact a,footer>a:not(.brand){overflow-wrap:anywhere}
  .experience-switch{overflow-x:auto;white-space:nowrap;padding-top:16px}
  .experience-switch>a{min-height:48px;display:flex;align-items:center;flex:0 0 auto;padding:12px 16px}
  .experience-switch span{display:none}
  .mobile-bottom-bar{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:#0c1b29eF;border-top:1px solid #ffffff2b;backdrop-filter:blur(10px)}
  .mobile-bottom-bar a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px;background:#152b3c;color:#fff;font-size:13px;font-weight:700;border:1px solid #ffffff25}
  .mobile-bottom-bar a:last-child{background:var(--bronze)}
  /* Keep the existing content, with less scrolling and easier touch controls. */
  html{scroll-padding-top:16px;scroll-padding-bottom:96px}
  .catalog,.page-section{padding-block:32px}
  .bwc-feature{padding-bottom:32px}
  .team{padding-block:32px}
  .business-inquiry,.editorial-panel{margin-bottom:32px}
  .principles{gap:12px 20px;line-height:1.6}
  .path-grid,.model-grid{margin-top:20px}
  .path-card h3{margin:16px 0 12px}
  .path-card p{margin-bottom:18px}
  .product{height:clamp(190px,60vw,260px)}
  .inventory-photo img,.holster-photo img,.cew-photo img,.dfa-photo img{height:clamp(200px,65vw,280px)}
  .bwc-photo img,.product-photo img{max-height:320px;object-fit:contain}
  .page-tabs{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-top:12px}
  .page-tabs a{flex:0 0 auto;display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #ffffff35;white-space:nowrap}
  .category-link,.manufacturer-link,.breadcrumb,.model-card summary{min-height:44px;padding-block:12px}
  .manufacturer-link{display:inline-block;font-size:12px}
  .model-card summary{font-size:16px}
  .filters,.inventory-filters{scroll-padding-inline:4px;padding-block:6px 12px;scrollbar-width:thin}
  .filters::-webkit-scrollbar,.inventory-filters::-webkit-scrollbar{display:block;height:4px}
  .filters::-webkit-scrollbar-thumb,.inventory-filters::-webkit-scrollbar-thumb{background:#8b959c;border-radius:4px}
  .inquiry>form{grid-row:1}
  .inquiry>div{grid-row:2;border-top:1px solid var(--line);padding-top:24px}
  label{font-size:14px}
  .form-note,.caption{font-size:13px;color:#596873}
  .button,.mobile-bottom-bar a:last-child{background:#8c633b}
  body:has(#inquiry-form input:focus) .mobile-bottom-bar,
  body:has(#inquiry-form select:focus) .mobile-bottom-bar,
  body:has(#inquiry-form textarea:focus) .mobile-bottom-bar{display:none}
  input,select,textarea{scroll-margin-block:24px}
}
