/* GM Collin — Składniki aktywne (clear:both — sekcja pod pływającymi kolumnami zdjęcie/opis WooCommerce, na całą szerokość): nagłówek + kafelki (obrazek, nazwa). Desktop 4 w rzędzie (karuzela gdy więcej), tablet 3, telefon siatka 2 kolumny. */
.gmc-ingredients { clear: both; width: 100%; box-sizing: border-box; --gmc-ing-gap: 24px; --gmc-ing-line: #EBEBEB; --gmc-ing-text: #333333; --gmc-ing-arrow-bg: rgba(47,48,50,.05); --gmc-hover-time: .25s; position: relative; margin: 64px auto; max-width: 1140px; padding: 0 56px; }
.gmc-ingredients .gmc-ingredients__heading { margin: 0 0 40px; text-align: center; font-family: "Lato", sans-serif; font-size: 18px; font-weight: 500; line-height: 1.25; letter-spacing: .08em; text-transform: uppercase; color: #090A0C; }
.gmc-ingredients__slider { position: relative; }
.gmc-ingredients__swiper { overflow: hidden; position: relative; }
.gmc-ingredients__track { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: var(--gmc-ing-gap); height: auto; } /* align-items/height jawnie — Elementor ładuje własne reguły .swiper-wrapper */
.gmc-ingredients__item { flex: 0 0 calc((100% - 3 * var(--gmc-ing-gap)) / 4); max-width: calc((100% - 3 * var(--gmc-ing-gap)) / 4); margin: 0; display: flex; align-self: stretch; height: auto; } /* display:flex → kafelek (figure) rozciąga się do wysokości rzędu */
.gmc-ingredients__card { margin: 0; padding: 32px 16px 24px; border: 1px solid var(--gmc-ing-line); display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; gap: 24px; width: 100%; box-sizing: border-box; }
.gmc-ingredients__visual { display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; }
.gmc-ingredients__img { display: block; width: 120px; height: 120px; max-width: 100%; object-fit: contain; }
.gmc-ingredients__name { margin: 0; font-family: "Lato", sans-serif; font-size: 12px; font-weight: 300; font-style: normal; line-height: 1.45; text-align: center; color: var(--gmc-ing-text); }

/* karuzela (klasa is-carousel nadawana przez JS, tylko gdy kafelków jest więcej niż mieści rząd) */
.gmc-ingredients.is-carousel .gmc-ingredients__track { flex-wrap: nowrap; justify-content: flex-start; gap: 0; box-sizing: content-box; }
.gmc-ingredients.is-carousel .gmc-ingredients__swiper { touch-action: pan-y; } /* strukturalny CSS Swipera (własny arkusz Swipera nie jest ładowany): swipe poziomy na dotyku */
.gmc-ingredients.is-carousel .gmc-ingredients__track { transition-property: transform; transform: translate3d(0, 0, 0); }
.gmc-ingredients.is-carousel .gmc-ingredients__item { flex: 0 0 auto; max-width: none; height: auto; position: relative; transition-property: transform; } /* szerokość slajdu ustala Swiper (inline), nie CSS */
@media (prefers-reduced-motion: reduce) { .gmc-ingredients.is-carousel .gmc-ingredients__track, .gmc-ingredients.is-carousel .gmc-ingredients__item { transition-duration: .01ms !important; } }
.gmc-ingredients__arrow, .gmc-ingredients__arrow:hover, .gmc-ingredients__arrow:focus { position: absolute; top: 50%; z-index: 5; display: none; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0; padding: 0; transform: translateY(-50%); border: 0 !important; border-radius: 50%; background: var(--gmc-ing-arrow-bg) !important; color: #1a1a1a; box-shadow: none !important; outline: none; cursor: pointer; transition: background-color var(--gmc-hover-time), color var(--gmc-hover-time), opacity var(--gmc-hover-time); }
.gmc-ingredients.is-carousel .gmc-ingredients__arrow { display: inline-flex; }
.gmc-ingredients__arrow--prev { left: -48px; }
.gmc-ingredients__arrow--next { right: -48px; }
.gmc-ingredients__arrow:hover { background: rgba(47,48,50,.12) !important; }
.gmc-ingredients__arrow:focus-visible { outline: 1px solid #1a1a1a; outline-offset: 2px; }
.gmc-ingredients__arrow.swiper-button-disabled { opacity: .3; pointer-events: none; }

@media (max-width: 1024px) {
	.gmc-ingredients { padding: 0 44px; margin: 48px auto; }
	.gmc-ingredients__item { flex-basis: calc((100% - 2 * var(--gmc-ing-gap)) / 3); max-width: calc((100% - 2 * var(--gmc-ing-gap)) / 3); }
	.gmc-ingredients__arrow--prev { left: -40px; }
	.gmc-ingredients__arrow--next { right: -40px; }
}
@media (max-width: 767px) {
	.gmc-ingredients { --gmc-ing-gap: 16px; padding: 0; margin: 40px auto; }
	.gmc-ingredients__heading { margin-bottom: 24px; }
	.gmc-ingredients__track { justify-content: flex-start; }
	.gmc-ingredients__item, .gmc-ingredients.is-carousel .gmc-ingredients__item { flex-basis: calc((100% - var(--gmc-ing-gap)) / 2); max-width: calc((100% - var(--gmc-ing-gap)) / 2); }
	.gmc-ingredients__card { padding: 24px 12px 20px; gap: 16px; }
	.gmc-ingredients__visual, .gmc-ingredients__img { width: 96px; height: 96px; }
	.gmc-ingredients__arrow { display: none !important; }
}
