/* ==========================================================================
 * BestKukriKnife - Mobile + responsive tweaks
 * ========================================================================== */

@media (max-width: 1024px) {
	.bkk-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.bkk-hero__panel { grid-template-columns: repeat(3, 1fr); }
	.bkk-viz__stage { grid-template-columns: 1fr; }
	.bkk-weight__inner { grid-template-columns: 1fr; }
	.bkk-map__shell { grid-template-columns: 1fr; }
	.bkk-news__inner { grid-template-columns: 1fr; }
	.bkk-loadout__panel { grid-template-columns: 1fr; }
	.bkk-maint__grid { grid-template-columns: 1fr; }
	.bkk-article__layout { grid-template-columns: 1fr; }
	.bkk-article__sidebar { position: static; }
	.bkk-footer__grid { grid-template-columns: 1fr 1fr; }
}

/* Swipeable carousels on mobile (categories, products, quickstart) */
@media (max-width: 768px) {
	.bkk-cats__grid,
	.bkk-products__grid,
	.bkk-quickstart__grid,
	.bkk-loadout__items,
	.bkk-survival__grid-out {
		grid-template-columns: none;
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 78%;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: .8rem;
		padding-bottom: .5rem;
		margin: 0 -1rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.bkk-cats__grid::-webkit-scrollbar,
	.bkk-products__grid::-webkit-scrollbar,
	.bkk-quickstart__grid::-webkit-scrollbar,
	.bkk-loadout__items::-webkit-scrollbar,
	.bkk-survival__grid-out::-webkit-scrollbar { display: none; }
	.bkk-cats__card,
	.bkk-product-box,
	.bkk-quickstart__card,
	.bkk-loadout__item { scroll-snap-align: start; min-width: 0; }
	/* Swipe affordance hint */
	.bkk-cats,
	.bkk-products,
	.bkk-quickstart,
	.bkk-loadout { position: relative; }
	.bkk-cats::after,
	.bkk-products::after,
	.bkk-quickstart::after,
	.bkk-loadout::after {
		content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 40px;
		background: linear-gradient(90deg, transparent, var(--bkk-bg)); pointer-events: none;
	}
}

@media (max-width: 768px) {
	body { font-size: 15px; }

	/* Header nav */
	.bkk-nav-toggle { display: inline-flex; }
	.bkk-primary-nav { position: fixed; inset: 60px 0 0; background: var(--bkk-bg); padding: 2rem; transform: translateY(-100%); transition: transform .3s ease; z-index: 49; max-height: 100vh; overflow-y: auto; }
	.bkk-primary-nav.is-open { transform: translateY(0); }
	.bkk-primary-nav__list, .bkk-primary-nav ul { flex-direction: column; gap: 1rem; }
	.bkk-primary-nav a { font-size: 1.3rem; }
	.bkk-header__cta { display: none; }
	.bkk-utility { display: none; }

	/* Hero */
	.bkk-hero { min-height: 70vh; padding: 3rem 0; }
	.bkk-hero__ctas { flex-direction: column; align-items: stretch; }
	.bkk-hero__ctas .bkk-btn { width: 100%; }
	.bkk-hero__panel { grid-template-columns: 1fr; }
	.bkk-hero__trust { gap: 1rem; font-size: .82rem; }
	.bkk-hero__continue { left: 1rem; right: 1rem; flex-direction: column; gap: .5rem; }

	/* Sections spacing */
	.bkk-home > section { padding: 3rem 0; }

	/* Tools shrink */
	.bkk-quiz__shell { padding: 1.2rem; }
	.bkk-quiz__q { font-size: 1.2rem; }
	.bkk-quiz__choices { grid-template-columns: 1fr; }
	.bkk-calc__grid { padding: 1.2rem; }
	.bkk-survival__form { padding: 1.2rem; }
	.bkk-viz__stage { padding: 1.2rem; }
	.bkk-weight__inner { padding: 1.2rem; }
	.bkk-map__shell { padding: .5rem; }
	.bkk-map__canvas { aspect-ratio: 4/3; }

	/* Archive grid */
	.bkk-archive__grid { grid-template-columns: 1fr; gap: 1rem; }
	.bkk-products__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
	.bkk-cats__grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
	.bkk-trust__grid { grid-template-columns: 1fr; }

	/* Mobile sticky bottom CTA */
	.bkk-mobile-sticky {
		display: flex; align-items: center; justify-content: space-between; gap: .8rem;
		position: fixed; bottom: 0; left: 0; right: 0; z-index: 55;
		background: rgba(13,13,13,.96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
		border-top: 1px solid rgba(194,65,12,.4);
		padding: .8rem 1rem; padding-bottom: calc(.8rem + env(safe-area-inset-bottom));
	}
	.bkk-mobile-sticky__label { font-size: .8rem; color: var(--bkk-accent); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
	.bkk-mobile-sticky .bkk-btn { padding: .7em 1.1em; }
	body.has-mobile-sticky { padding-bottom: 76px; }

	/* Compare drawer drops to mobile-friendly position */
	.bkk-compare-drawer { left: 1rem; right: 1rem; bottom: 76px; min-width: 0; }
	.bkk-compare-modal__inner { padding: 1rem; max-height: 100vh; border-radius: 0; }

	/* Floating action button (Find My Kukri) */
	.bkk-fab {
		display: flex !important;
		position: fixed; right: 1rem; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 54;
		width: 56px; height: 56px; border-radius: 50%; background: var(--bkk-accent);
		color: #fff; align-items: center; justify-content: center;
		box-shadow: 0 12px 32px -8px rgba(194,65,12,.7);
		border: 0; cursor: pointer; transition: transform .25s ease;
		padding: 0; overflow: hidden;
	}
	.bkk-fab:hover { transform: scale(1.06); color: #fff; }
	.bkk-fab svg { width: 26px !important; height: 26px !important; max-width: 26px !important; }

	/* Footer */
	.bkk-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
	.bkk-footer__bar { flex-direction: column; gap: .8rem; text-align: center; }

	/* Maintenance entry collapses */
	.bkk-maint__entry { grid-template-columns: 1fr; gap: .3rem; }
}

@media (max-width: 480px) {
	.bkk-cats__grid, .bkk-products__grid { grid-template-columns: 1fr; }
	.bkk-section-head__title { font-size: 1.6rem; }
	.bkk-quickstart__grid { grid-template-columns: 1fr 1fr; }
	.bkk-quiz__specs { grid-template-columns: 1fr 1fr; }
}

/* Reduced motion ---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
	.bkk-hero__smoke, .bkk-hero__glint { animation: none; }
}

/* Print ------------------------------------------------------------------- */
@media print {
	.bkk-header, .bkk-footer, .bkk-mobile-sticky, .bkk-compare-drawer, .bkk-hero__bg, .bkk-disclosure { display: none !important; }
	body { background: #fff; color: #000; }
	.bkk-container { max-width: 100%; padding: 0; }
}
