/* =========================================================
   TazaShop — Responsive
   Desktop > 1200 · Laptop 992-1200 · Tablette 768-991 · Mobile < 768
   Aucune règle de header ni de footer : ils sont gérés par Elementor.
   ========================================================= */

/* ---------- Laptop ---------- */
@media (max-width: 1200px) {
	/* Comme la colonne services : désactive le sticky sous 1200 px. */
	.taza-product-hero__gallery {
		position: static;
		top: auto;
	}

	.tz-theme ul.products {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	}

	.taza-product-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.taza-product-main {
		grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
		gap: 24px;
		align-items: start;
	}

	.taza-product-hero > .tz-product-aside {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tz-theme.single-product .taza-gallery .taza-gallery__stage {
		height: auto;
		min-height: 0;
		max-height: none;
	}

	.tz-theme.single-product .taza-related ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.tz-blog {
		grid-template-columns: minmax(0, 1fr) 270px;
		gap: 30px;
	}

	.tz-articles {
		gap: 24px 20px;
	}
}

/* ---------- Tablette ---------- */
@media (max-width: 991px) {
	/* Boutique : filtres repliables */
	.tz-shop {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.tz-filters-toggle {
		display: inline-flex;
	}

	.tz-shop__sidebar {
		display: none;
		position: static;
	}

	.tz-shop__sidebar.is-open {
		display: block;
	}

	.tz-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 30px;
	}

	.tz-hero__media {
		display: none;
	}

	/* Fiche produit : galerie + achat côte à côte, services en dessous. */
	.taza-product-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.taza-product-main {
		grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
		gap: 20px;
		align-items: start;
	}

	body.tz-theme.single-product .taza-product-hero__gallery .taza-gallery {
		gap: 10px;
		height: auto;
	}

	.taza-gallery__thumbs {
		flex-basis: 68px;
	}

	.taza-gallery__thumb {
		width: 68px;
	}

	body.tz-theme.single-product .taza-gallery .taza-gallery__stage {
		height: auto;
		min-height: 0;
		max-height: none;
	}

	body.tz-theme.single-product .taza-gallery .taza-gallery__slide.is-active {
		padding: 12px;
	}

	.taza-gallery__nav {
		width: 36px;
		height: 36px;
	}

	.tz-desc.has-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.tz-desc__media {
		max-width: 560px;
	}

	.tz-theme.single-product .taza-related ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tz-reviews-preview__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Blog */
	.tz-articles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tz-blog {
		grid-template-columns: minmax(0, 1fr);
	}

	.tz-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tz-post-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}

	.tz-post__content {
		max-width: none;
	}

	.tz-comments {
		grid-template-columns: minmax(0, 1fr);
	}

	.tz-comment-form,
	.tz-comments #respond {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.tz-hero__title {
		font-size: 34px;
	}

	/* Catégories : défilement horizontal */
	.tz-cats__list {
		flex-wrap: nowrap;
		overflow-x: auto;
		justify-content: flex-start;
		padding-bottom: 8px;
		scrollbar-width: none;
	}

	.tz-cats__list::-webkit-scrollbar {
		display: none;
	}

	.tz-cats__item {
		width: 88px;
		flex: 0 0 88px;
	}

	.tz-cats__media {
		width: 76px;
		height: 76px;
	}

	/* Grille produits : 2 colonnes */
	.tz-theme ul.products,
	.tz-theme.single-product .taza-related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.tz-theme ul.products.tz-products--list li.product {
		flex-direction: column;
	}

	.tz-theme ul.products.tz-products--list .tz-card__media {
		flex: 1 1 auto;
		max-width: none;
	}

	.tz-theme ul.products li.product .button {
		padding: 12px 10px;
	}

	.tz-toolbar {
		gap: 10px;
	}

	.tz-toolbar__tools {
		width: 100%;
		justify-content: space-between;
	}

	.tz-theme .woocommerce-ordering select {
		min-width: 0;
		width: 100%;
	}

	.tz-theme .woocommerce-ordering {
		flex: 1 1 auto;
	}

	/* Fiche produit : une colonne, ordre dédié, CTA pleine largeur */
	.taza-product-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}


	.taza-product-main {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		align-items: start;
	}
	.taza-product-hero > .tz-product-aside {
		grid-template-columns: minmax(0, 1fr);
	}

	.taza-product-hero__info {
		display: flex;
		flex-direction: column;
	}

	.tz-theme.single-product .summary > .tz-product__brand {
		order: 1;
	}

	.tz-theme.single-product .summary > .product_title {
		order: 2;
		font-size: 27px;
	}

	.tz-theme.single-product .summary > .tz-product__subtitle {
		order: 3;
		font-size: 18px;
	}

	.tz-theme.single-product .summary > .woocommerce-product-rating {
		order: 4;
	}

	.tz-theme.single-product .summary > .woocommerce-product-details__short-description {
		order: 5;
		max-width: none;
	}

	.tz-theme.single-product .summary > .tz-product__price {
		order: 6;
	}

	.tz-theme.single-product .summary > .tz-stock {
		order: 7;
	}

	.tz-theme.single-product .summary > form.cart,
	.tz-theme.single-product .summary > .stock {
		order: 8;
	}

	.tz-theme.single-product .summary > .tz-product__actions {
		order: 9;
	}

	.tz-theme.single-product .summary > .product_meta {
		order: 10;
	}

	body.tz-theme.single-product .taza-product-actions form.cart div.quantity {
		display: flex;
		width: 100%;
	}

	body.tz-theme.single-product .taza-product-actions form.cart .quantity input.qty {
		flex: 1 1 auto;
		width: auto;
	}

	body.tz-theme.single-product .taza-product-hero__gallery .taza-gallery {
		flex-direction: column;
		gap: 10px;
		height: auto;
	}

	body.tz-theme.single-product .taza-gallery .taza-gallery__stage {
		width: 100%;
		height: auto;
		min-height: 0;
		max-height: none;
	}

	body.tz-theme.single-product .taza-gallery .taza-gallery__slide.is-active {
		padding: 10px;
	}

	.taza-gallery__thumbs {
		order: 1;
		flex-direction: row;
		flex: 0 0 auto;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.taza-gallery__thumbs::-webkit-scrollbar {
		display: none;
	}

	.taza-gallery__thumb {
		width: 64px;
		flex: 0 0 64px;
	}

	body.tz-theme.single-product .taza-gallery__thumbs .taza-gallery__thumb img {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.taza-product-container {
		padding: 20px 16px 0;
	}

	.tz-theme.single-product .woocommerce-tabs {
		margin-top: 40px;
	}

	.tz-theme.single-product .woocommerce-tabs ul.tabs {
		overflow-x: auto;
		flex-wrap: nowrap;
		scrollbar-width: none;
	}

	.tz-theme.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}

	.tz-theme.single-product .woocommerce-tabs ul.tabs li a {
		white-space: nowrap;
		padding: 13px 4px;
		margin-right: 16px;
		font-size: 15px;
	}

	.tz-theme.single-product .taza-related,
	.tz-reviews-preview {
		margin-top: 44px;
	}

	.tz-reviews-preview__list {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Blog */
	.tz-articles {
		grid-template-columns: minmax(0, 1fr);
	}

	.tz-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.tz-post-hero__title {
		max-width: none;
	}

	.tz-post__footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.tz-post-nav {
		width: 100%;
		justify-content: space-between;
	}

	.tz-comments #respond .comment-form-author,
	.tz-comments #respond .comment-form-email {
		width: 100%;
		margin-left: 0;
	}
}

/* ---------- Très petits écrans ---------- */
@media (max-width: 479px) {
	.tz-theme ul.products {
		grid-template-columns: minmax(0, 1fr);
	}

	.tz-theme.single-product .taza-related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tz-hero__title {
		font-size: 30px;
	}

	.tz-post-hero__title {
		font-size: 27px;
	}
}
