/**
 * RESPONSIVE — Global media queries, scroll reveal, print
 * Section 12 of main.css (lines 2387–2640)
 */

/* ===========================================================================
   RESPONSIVE ADJUSTMENTS
   =========================================================================== */

@media (max-width: 991.98px) {
	.hero {
		min-height: 50vh;
	}

	.product-gallery {
		position: static;
	}

	.product-purchase-panel-header {
		flex-direction: column;
		align-items: stretch;
	}

	.product-stock-chip {
		align-self: flex-start;
	}

	.shop-toolbar {
		padding: var(--space-sm);
	}

	.home-hero-highlights {
		grid-template-columns: 1fr;
	}

	.home-featured-heading {
		flex-direction: column;
		align-items: stretch;
	}

	.section-luxury {
		padding: 4.5rem 0;
	}
}

@media (max-width: 767.98px) {
	.product-detail-header,
	.product-detail-shell {
		gap: var(--space-sm);
	}

	.main-image-container {
		padding: 0.85rem;
	}

	.product-price-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	.product-story-panel,
	.product-purchase-panel,
	.shop-help-panel {
		padding: var(--space-md);
	}

	.product-size-option {
		min-width: calc(50% - 0.5rem);
	}

	.product-review-intro {
		margin-bottom: var(--space-md) !important;
	}

	.related-products-shell .row {
		--bs-gutter-x: 0.75rem;
		--bs-gutter-y: 0.85rem;
	}

	.shop-toolbar-primary,
	.shop-toolbar-actions {
		width: 100%;
		justify-content: space-between;
	}

	.shop-toolbar-actions .form-select {
		width: 100% !important;
	}

	.home-metric-grid {
		grid-template-columns: 1fr;
	}

	.home-cta-panel {
		padding: var(--space-lg) var(--space-sm);
	}

	.home-hero-overlay {
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.92) 0%,
			rgba(0, 0, 0, 0.65) 40%,
			rgba(0, 0, 0, 0.35) 70%,
			rgba(0, 0, 0, 0.15) 100%
		);
	}

	.hero-content {
		padding: var(--space-lg) var(--space-sm);
	}

	.hero-title {
		font-size: var(--text-3xl);
	}

	.hero-actions .btn {
		width: 100%;
		max-width: 280px;
	}

	.footer-luxury {
		text-align: center;
	}

	.footer-luxury .social-links {
		justify-content: center;
		margin-top: var(--space-sm);
	}

	/* Shop toolbar stacking on mobile */
	.shop-toolbar {
		flex-direction: column;
		gap: 0.75rem;
	}

	.shop-toolbar .d-flex {
		width: 100%;
		justify-content: space-between;
	}
}

/* Extra Small Screens (< 576px) */
@media (max-width: 575.98px) {


	/* Tighter section padding for mobile, but still breathing */
	.section-luxury {
		padding: 4rem 0;
	}

	/* Smaller hero */
	.hero {
		min-height: 40vh;
	}

	.hero-compact {
		min-height: 25vh;
		padding: 2.5rem 0;
	}

	.hero-title {
		font-size: var(--text-xl);
	}

	.hero-subtitle {
		font-size: var(--text-base);
	}

	/* Product thumbnails - smaller on mobile */
	.thumbnail-container {
		width: 60px !important;
		height: 60px !important;
	}

	/* Product card adjustments */
	.product-card .card-body {
		padding: 0.875rem;
	}

	.product-price {
		font-size: var(--text-base);
	}

	/* Filters sidebar tighter */
	.filters-sidebar {
		padding: 1rem;
	}

	/* Cart item adjustments */
	.cart-item-card .card-body {
		padding: 0.75rem;
	}

	/* Footer spacing */
	.footer-luxury {
		padding: 2.5rem 0 1.5rem;
	}

	.footer-luxury h5 {
		font-size: var(--text-base);
		margin-bottom: 1rem;
	}

	/* Checkout form tighter spacing */
	.checkout-form .card {
		margin-bottom: 1rem !important;
	}

	.checkout-form .card-body {
		padding: 1rem;
	}
}

/* ===========================================================================
   SCROLL REVEAL ANIMATIONS
   =========================================================================== */

.fade-in-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.fade-in-up.revealed {
	opacity: 1;
	transform: translateY(0);
}

/* ===========================================================================
   PRINT STYLES
   =========================================================================== */

/* ===========================================================================
   ACCESSIBILITY — Mobile touch targets (WCAG 2.1 / Apple HIG: 44px min)
   =========================================================================== */

@media (max-width: 768px) {
	.btn-sm {
		min-height: 44px;
		min-width: 44px;
	}

	.btn-icon.btn-sm {
		min-height: 44px;
		min-width: 44px;
	}
}

@media print {
	.navbar,
	.footer-luxury,
	.hero,
	.btn {
		display: none !important;
	}

	body {
		font-size: 12pt;
		color: #000;
	}

	a {
		text-decoration: underline;
	}
}
