/*!
 * AGH Theme WooCommerce - Responsive Styles
 */

/*--------------------------------------------------------------
1.0 Mobile First (Default)
--------------------------------------------------------------*/

/*--------------------------------------------------------------
2.0 Small Devices (≥576px)
--------------------------------------------------------------*/
@media (min-width: 576px) {
	.container {
		padding: 0 calc(var(--spacing-unit) * 4);
	}
	
	.hero-title {
		font-size: 2.5rem;
	}
	
	.category-grid {
		gap: calc(var(--spacing-unit) * 3);
	}
}

/*--------------------------------------------------------------
3.0 Medium Devices (≥768px)
--------------------------------------------------------------*/
@media (min-width: 768px) {
	.container {
		padding: 0 calc(var(--spacing-unit) * 5);
	}
	
	/* Header */
	.mobile-menu-toggle {
		display: none;
	}
	
	.main-navigation {
		display: flex !important;
	}
	
	/* Hero */
	.hero-title {
		font-size: 3rem;
	}
	
	.hero-subtitle {
		font-size: 1.5rem;
	}
	
	/* Category Grid */
	.category-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: calc(var(--spacing-unit) * 4);
	}
	
	/* Product Grid */
	.products {
		grid-template-columns: repeat(3, 1fr);
	}
	
	/* Trust Badges */
	.trust-badges {
		grid-template-columns: repeat(2, 1fr);
	}
}

/*--------------------------------------------------------------
4.0 Large Devices (≥992px)
--------------------------------------------------------------*/
@media (min-width: 992px) {
	.container {
		padding: 0 calc(var(--spacing-unit) * 6);
	}
	
	/* Hero */
	.hero-title {
		font-size: 3.5rem;
	}
	
	/* Category Grid */
	.category-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: calc(var(--spacing-unit) * 6);
	}
	
	/* Product Grid */
	.products {
		grid-template-columns: repeat(4, 1fr);
	}
	
	/* Single Product */
	.single-product .product {
		grid-template-columns: 1fr 1fr;
	}
	
	/* Trust Badges */
	.trust-badges {
		grid-template-columns: repeat(4, 1fr);
	}
	
	/* Checkout */
	.woocommerce-checkout {
		grid-template-columns: 2fr 1fr;
	}
}

/*--------------------------------------------------------------
5.0 Extra Large Devices (≥1200px)
--------------------------------------------------------------*/
@media (min-width: 1200px) {
	.hero-title {
		font-size: 4rem;
	}
	
	.category-grid {
		gap: calc(var(--spacing-unit) * 8);
	}
}

/*--------------------------------------------------------------
6.0 Mobile Specific Styles
--------------------------------------------------------------*/
@media (max-width: 767px) {
	/* Hide desktop navigation */
	.main-navigation {
		display: none;
	}
	
	/* Show mobile menu toggle */
	.mobile-menu-toggle {
		display: flex;
	}
	
	/* Adjust header spacing */
	.header-icons {
		gap: calc(var(--spacing-unit) * 1);
	}
	
	.header-icon {
		width: 36px;
		height: 36px;
	}
	
	/* Hero adjustments */
	.hero-title {
		font-size: 2rem;
	}
	
	.hero-subtitle {
		font-size: 1rem;
	}
	
	.hero-button {
		padding: calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);
	}
	
	/* Category cards */
	.category-card {
		aspect-ratio: 3/4;
	}
	
	.category-name {
		font-size: 1.25rem;
	}
	
	/* Product grid */
	.products {
		grid-template-columns: repeat(2, 1fr);
		gap: calc(var(--spacing-unit) * 2);
	}
	
	.product-info {
		padding: calc(var(--spacing-unit) * 2);
	}
	
	.add-to-cart-button {
		opacity: 1;
		transform: none;
	}
	
	/* Single product */
	.single-product .product {
		gap: calc(var(--spacing-unit) * 4);
	}
	
	.product_title {
		font-size: 1.5rem;
	}
	
	.price {
		font-size: 1.25rem;
	}
	
	/* Product tabs */
	.wc-tabs {
		flex-direction: column;
		border-bottom: none;
	}
	
	.wc-tabs li {
		margin-right: 0;
		margin-bottom: calc(var(--spacing-unit) * 1);
	}
	
	.wc-tabs a {
		padding: calc(var(--spacing-unit) * 2);
		background: var(--color-light-gray);
		border-radius: 4px;
	}
	
	.wc-tabs a.active::after {
		display: none;
	}
	
	.wc-tabs a.active {
		background: var(--color-primary);
		color: var(--color-white);
	}
	
	/* Cart table */
	.cart-table {
		display: block;
		overflow-x: auto;
	}
	
	.cart-table th,
	.cart-table td {
		min-width: 100px;
	}
	
	/* Checkout */
	.woocommerce-checkout {
		gap: calc(var(--spacing-unit) * 4);
	}
	
	/* Footer */
	.legal-links {
		flex-direction: column;
		gap: calc(var(--spacing-unit) * 2);
		text-align: center;
	}
	
	/* Promo bar scroll text */
	.promo-content {
		white-space: normal;
		overflow: visible;
	}
	
	.promo-text {
		animation: none;
	}
}

/*--------------------------------------------------------------
7.0 Very Small Devices (≤375px)
--------------------------------------------------------------*/
@media (max-width: 375px) {
	.hero-title {
		font-size: 1.75rem;
	}
	
	.category-grid {
		grid-template-columns: 1fr;
	}
	
	.products {
		grid-template-columns: 1fr;
	}
	
	.product {
		max-width: 300px;
		margin: 0 auto;
	}
	
	.trust-badges {
		grid-template-columns: 1fr;
	}
}

/*--------------------------------------------------------------
8.0 Landscape Orientation
--------------------------------------------------------------*/
@media (max-height: 600px) and (orientation: landscape) {
	.hero-section {
		min-height: 80vh;
	}
	
	.hero-content {
		padding: calc(var(--spacing-unit) * 4) var(--container-padding);
	}
}

/*--------------------------------------------------------------
9.0 High DPI Screens
--------------------------------------------------------------*/
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.hero-button,
	.category-button,
	.single_add_to_cart_button {
		border-radius: 6px;
	}
	
	.swatch,
	.size-option {
		border-radius: 8px;
	}
}

/*--------------------------------------------------------------
10.0 Print Styles
--------------------------------------------------------------*/
@media print {
	.site-header,
	.promo-bar,
	.mobile-menu-drawer,
	.search-overlay,
	.site-footer,
	.add-to-cart-button,
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error {
		display: none !important;
	}
	
	body {
		color: #000;
		background: #fff;
	}
	
	.container {
		max-width: 100%;
		padding: 0;
	}
	
	.hero-section {
		min-height: auto;
		background: #fff !important;
		color: #000 !important;
	}
	
	.hero-background,
	.hero-overlay {
		display: none;
	}
	
	.hero-content {
		color: #000;
		padding: 0;
	}
	
	a {
		color: #000;
		text-decoration: underline;
	}
	
	img {
		max-width: 50% !important;
	}
}

/*--------------------------------------------------------------
11.0 Shop Mobile Refinement (content area only)
--------------------------------------------------------------*/
@media (max-width: 768px) {
	body.woocommerce-shop .container,
	body.post-type-archive-product .container,
	body.tax-product_cat .container,
	body.tax-product_tag .container {
		width: 100%;
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}

	body.woocommerce-shop .woocommerce-content,
	body.post-type-archive-product .woocommerce-content,
	body.tax-product_cat .woocommerce-content,
	body.tax-product_tag .woocommerce-content {
		width: 100%;
		max-width: 100%;
		overflow-x: clip;
	}

	body.woocommerce-shop .woocommerce-result-count,
	body.post-type-archive-product .woocommerce-result-count,
	body.tax-product_cat .woocommerce-result-count,
	body.tax-product_tag .woocommerce-result-count,
	body.woocommerce-shop .woocommerce-ordering,
	body.post-type-archive-product .woocommerce-ordering,
	body.tax-product_cat .woocommerce-ordering,
	body.tax-product_tag .woocommerce-ordering {
		float: none !important;
		clear: both;
		width: 100%;
		margin: 0 0 8px;
	}

	body.woocommerce-shop .woocommerce-result-count,
	body.post-type-archive-product .woocommerce-result-count,
	body.tax-product_cat .woocommerce-result-count,
	body.tax-product_tag .woocommerce-result-count {
		display: none !important;
	}

	body.woocommerce-shop .woocommerce-ordering,
	body.post-type-archive-product .woocommerce-ordering,
	body.tax-product_cat .woocommerce-ordering,
	body.tax-product_tag .woocommerce-ordering {
		position: relative;
		margin-bottom: 16px;
	}

	body.woocommerce-shop .woocommerce-ordering select,
	body.post-type-archive-product .woocommerce-ordering select,
	body.tax-product_cat .woocommerce-ordering select,
	body.tax-product_tag .woocommerce-ordering select {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: 40px;
		padding: 8px 34px 8px 12px;
		border-radius: 10px;
		font-size: 0.8rem;
	}

	body.woocommerce-shop .woocommerce-ordering:after,
	body.post-type-archive-product .woocommerce-ordering:after,
	body.tax-product_cat .woocommerce-ordering:after,
	body.tax-product_tag .woocommerce-ordering:after {
		position: absolute;
		left: auto;
		right: 12px;
		top: 50%;
		transform: translateY(-56%) rotate(45deg);
	}

	/* Common mobile filter triggers (plugin-safe, shop-only). */
	body.woocommerce-shop .woocommerce-content button[class*='filter'],
	body.post-type-archive-product .woocommerce-content button[class*='filter'],
	body.tax-product_cat .woocommerce-content button[class*='filter'],
	body.tax-product_tag .woocommerce-content button[class*='filter'],
	body.woocommerce-shop .woocommerce-content .prdctfltr_filter_trigger,
	body.post-type-archive-product .woocommerce-content .prdctfltr_filter_trigger,
	body.tax-product_cat .woocommerce-content .prdctfltr_filter_trigger,
	body.tax-product_tag .woocommerce-content .prdctfltr_filter_trigger {
		min-height: 40px;
		padding: 8px 12px;
		border-radius: 10px;
		margin: 0 0 8px;
		max-width: 100%;
	}

	body.woocommerce-shop .woocommerce ul.products,
	body.post-type-archive-product .woocommerce ul.products,
	body.tax-product_cat .woocommerce ul.products,
	body.tax-product_tag .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	body.woocommerce-shop .woocommerce ul.products li.product,
	body.post-type-archive-product .woocommerce ul.products li.product,
	body.tax-product_cat .woocommerce ul.products li.product,
	body.tax-product_tag .woocommerce ul.products li.product {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 10px;
		gap: 6px;
		border-radius: 12px;
		box-shadow: 0 6px 14px rgba(0, 0, 0, 0.04);
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}

	body.woocommerce-shop .woocommerce ul.products li.product a img,
	body.post-type-archive-product .woocommerce ul.products li.product a img,
	body.tax-product_cat .woocommerce ul.products li.product a img,
	body.tax-product_tag .woocommerce ul.products li.product a img {
		width: 100%;
		aspect-ratio: 4 / 5;
		height: auto;
		object-fit: cover;
	}

	body.woocommerce-shop .woocommerce ul.products li.product:hover,
	body.post-type-archive-product .woocommerce ul.products li.product:hover,
	body.tax-product_cat .woocommerce ul.products li.product:hover,
	body.tax-product_tag .woocommerce ul.products li.product:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
	}

	body.woocommerce-shop .woocommerce ul.products li.product .onsale,
	body.post-type-archive-product .woocommerce ul.products li.product .onsale,
	body.tax-product_cat .woocommerce ul.products li.product .onsale,
	body.tax-product_tag .woocommerce ul.products li.product .onsale {
		top: 8px;
		left: 8px;
		padding: 6px 10px;
		font-size: 0.64rem;
		letter-spacing: 0.06em;
		border-radius: 4px;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce-shop .woocommerce ul.products li.product .product-title,
	body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.post-type-archive-product .woocommerce ul.products li.product .product-title,
	body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_cat .woocommerce ul.products li.product .product-title,
	body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.tax-product_tag .woocommerce ul.products li.product .product-title {
		margin: 0;
		line-height: 1.28;
		overflow-wrap: anywhere;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .agh-loop-rating,
	body.post-type-archive-product .woocommerce ul.products li.product .agh-loop-rating,
	body.tax-product_cat .woocommerce ul.products li.product .agh-loop-rating,
	body.tax-product_tag .woocommerce ul.products li.product .agh-loop-rating {
		margin: 0 0 2px;
		font-size: 12px;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .price,
	body.post-type-archive-product .woocommerce ul.products li.product .price,
	body.tax-product_cat .woocommerce ul.products li.product .price,
	body.tax-product_tag .woocommerce ul.products li.product .price {
		margin-top: 0;
		gap: 5px;
		align-items: baseline;
		line-height: 1.2;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .price del,
	body.post-type-archive-product .woocommerce ul.products li.product .price del,
	body.tax-product_cat .woocommerce ul.products li.product .price del,
	body.tax-product_tag .woocommerce ul.products li.product .price del {
		font-size: 0.82rem;
		opacity: 0.55;
		margin: 0;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .price ins,
	body.post-type-archive-product .woocommerce ul.products li.product .price ins,
	body.tax-product_cat .woocommerce ul.products li.product .price ins,
	body.tax-product_tag .woocommerce ul.products li.product .price ins {
		font-size: 1.05rem;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .add-to-cart-button,
	body.post-type-archive-product .woocommerce ul.products li.product .add-to-cart-button,
	body.tax-product_cat .woocommerce ul.products li.product .add-to-cart-button,
	body.tax-product_tag .woocommerce ul.products li.product .add-to-cart-button {
		margin-top: 6px;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .button,
	body.woocommerce-shop .woocommerce ul.products li.product .add_to_cart_button,
	body.woocommerce-shop .woocommerce ul.products li.product .add-to-cart-button .button.product_type_variable,
	body.post-type-archive-product .woocommerce ul.products li.product .button,
	body.post-type-archive-product .woocommerce ul.products li.product .add_to_cart_button,
	body.post-type-archive-product .woocommerce ul.products li.product .add-to-cart-button .button.product_type_variable,
	body.tax-product_cat .woocommerce ul.products li.product .button,
	body.tax-product_cat .woocommerce ul.products li.product .add_to_cart_button,
	body.tax-product_cat .woocommerce ul.products li.product .add-to-cart-button .button.product_type_variable,
	body.tax-product_tag .woocommerce ul.products li.product .button,
	body.tax-product_tag .woocommerce ul.products li.product .add_to_cart_button,
	body.tax-product_tag .woocommerce ul.products li.product .add-to-cart-button .button.product_type_variable {
		width: 100%;
		min-height: 36px;
		padding: 8px 10px;
		font-size: 0.78rem;
	}

	body.woocommerce-shop .woocommerce ul.products li.product .shopengine-quickview-trigger,
	body.woocommerce-shop .woocommerce ul.products li.product .shopengine-add-to-wishlist,
	body.woocommerce-shop .woocommerce ul.products li.product .woosw-btn,
	body.post-type-archive-product .woocommerce ul.products li.product .shopengine-quickview-trigger,
	body.post-type-archive-product .woocommerce ul.products li.product .shopengine-add-to-wishlist,
	body.post-type-archive-product .woocommerce ul.products li.product .woosw-btn,
	body.tax-product_cat .woocommerce ul.products li.product .shopengine-quickview-trigger,
	body.tax-product_cat .woocommerce ul.products li.product .shopengine-add-to-wishlist,
	body.tax-product_cat .woocommerce ul.products li.product .woosw-btn,
	body.tax-product_tag .woocommerce ul.products li.product .shopengine-quickview-trigger,
	body.tax-product_tag .woocommerce ul.products li.product .shopengine-add-to-wishlist,
	body.tax-product_tag .woocommerce ul.products li.product .woosw-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		margin: 0 6px 0 0;
	}
}

@media (max-width: 375px) {
	body.woocommerce-shop .products,
	body.post-type-archive-product .products,
	body.tax-product_cat .products,
	body.tax-product_tag .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.woocommerce-shop .product,
	body.post-type-archive-product .product,
	body.tax-product_cat .product,
	body.tax-product_tag .product {
		max-width: none;
		margin: 0;
	}
}

/* Remove intrusive floating close buttons across pages */
.promo-close {
	display: none !important;
}

body:not(.single-product) .agh-review-restriction-notice--portal,
body:not(.single-product) .agh-review-restriction-notice__close {
	display: none !important;
}

/*--------------------------------------------------------------
12.0 Shop Mobile Hotfixes (high specificity)
--------------------------------------------------------------*/
@media (max-width: 768px) {
	/* Always hide results-count sentence on mobile shop/archive */
	body.woocommerce:not(.single-product) .woocommerce-result-count {
		display: none !important;
	}

	/* Compact card internals using actual loop wrappers */
	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .product-info-wrapper,
	body.woocommerce:not(.single-product) .products li.product .product-info-wrapper,
	body.woocommerce:not(.single-product) .elementor-widget-woocommerce-products .products li.product .product-info-wrapper {
		display: flex;
		flex-direction: column;
		gap: 4px !important;
	}

	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .product-title,
	body.woocommerce:not(.single-product) .products li.product .woocommerce-loop-product__title,
	body.woocommerce:not(.single-product) .products li.product .product-title {
		margin: 0 !important;
		font-size: 0.9rem;
		line-height: 1.22;
	}

	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .agh-loop-rating,
	body.woocommerce:not(.single-product) .products li.product .agh-loop-rating {
		margin: 0 !important;
	}

	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .price,
	body.woocommerce:not(.single-product) .products li.product .price {
		margin: 0 !important;
		gap: 4px !important;
	}

	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .add-to-cart-button,
	body.woocommerce:not(.single-product) .products li.product .add-to-cart-button {
		margin-top: 4px !important;
	}

	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .button,
	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .add_to_cart_button,
	body.woocommerce:not(.single-product) .products li.product .button,
	body.woocommerce:not(.single-product) .products li.product .add_to_cart_button,
	body.woocommerce:not(.single-product) .woocommerce ul.products li.product .add-to-cart-button .button.product_type_variable,
	body.woocommerce:not(.single-product) .products li.product .add-to-cart-button .button.product_type_variable {
		min-height: 34px !important;
		padding: 7px 10px !important;
		font-size: 0.75rem !important;
	}
}

/* Quick-view modal baseline: prevent floating close button when modal is not active */
.quick-view-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10005;
	align-items: center;
	justify-content: center;
}

.quick-view-modal.active {
	display: flex;
}

.quick-view-modal .quick-view-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.quick-view-modal .quick-view-container {
	position: relative;
	z-index: 1;
	width: min(920px, calc(100% - 24px));
	max-height: 90vh;
	overflow: auto;
	background: #fff;
	border-radius: 12px;
}

.quick-view-modal .quick-view-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #d9d9d9;
	border-radius: 999px;
	background: #fff;
	color: #111;
	cursor: pointer;
	z-index: 2;
}
