/* ==========================================================================
   GM Collin Elementor Widgets — style widgetów (slider hero; kolejne w następnych krokach).
   Wartości domyślne = makieta; każdą można nadpisać w Elementorze (zakładka Styl) — kontrolki ustawiają zmienne CSS / selektory poniżej.
   ========================================================================== */

/* ---------- Swiper: minimum rdzenia (bez pełnego CSS Swipera, żeby nie kolidować z Elementorem) ---------- */
.gmc-slider .swiper { position: relative; overflow: hidden; z-index: 1; margin: 0 auto; padding: 0; list-style: none; }
.gmc-slider .swiper-wrapper { position: relative; display: flex; width: 100%; height: auto; z-index: 1; box-sizing: content-box; transition-property: transform; transform: translate3d(0, 0, 0); }
.gmc-slider .swiper-slide { position: relative; flex-shrink: 0; width: 100%; height: auto; display: block; transition-property: transform; }
.gmc-slider .swiper-fade .swiper-slide { pointer-events: none; visibility: hidden; transition-property: opacity, visibility; } /* visibility: niewidoczne slajdy poza kolejnością Tab */
.gmc-slider .swiper-fade .swiper-slide-active { pointer-events: auto; visibility: visible; }
.gmc-slider .swiper-autoheight, .gmc-slider .swiper-autoheight .swiper-slide { height: auto; }
.gmc-slider .swiper-backface-hidden .swiper-slide { transform: translateZ(0); backface-visibility: hidden; }
.gmc-slider .swiper-pagination-lock, .gmc-slider .swiper-button-lock { display: none; }
.gmc-slider .swiper-horizontal, .gmc-slider .swiper { touch-action: pan-y; } /* swipe poziomy na dotyku nie jest przechwytywany przez przeglądarkę */
/* przed inicjalizacją JS (hero): pokazuj tylko pierwszy slajd (bez „skoku” układu) */
.gmc-hero:not(.is-ready) .swiper-slide:not(:first-child) { display: none; }

/* ---------- Nawigacja wspólna (kropki, strzałki) ---------- */
.gmc-slider {
	--gmc-dot: #c9c9c9;
	--gmc-dot-active: #3c3c3c;
	--gmc-arrow: #3c3c3c;
	--gmc-arrow-hover: #8a8a8a;
	--gmc-hover-time: .25s;
	position: relative;
}
.gmc-slider__dots { position: absolute; z-index: 5; display: flex; gap: 10px; left: var(--gmc-dots-x, 64px); bottom: var(--gmc-dots-y, 32px); }
.gmc-slider__dots:empty { display: none; }
.gmc-slider__dot,
.gmc-slider__dot:hover,
.gmc-slider__dot:focus {
	/* <button> — reset stylów przycisków motywu (Hello): tylko kropka, bez tła/obramowania/paddingu */
	appearance: none; -webkit-appearance: none; display: block; width: 8px; height: 8px; min-height: 0; padding: 0; margin: 0; line-height: 0; font-size: 0;
	border: 0 !important; border-radius: 50%; box-shadow: none !important; outline: none; cursor: pointer;
	background: var(--gmc-dot) !important;
	transition: background-color var(--gmc-hover-time), transform var(--gmc-hover-time);
}
.gmc-slider__dot:hover { transform: scale(1.25); }
.gmc-slider__dot.is-active { background: var(--gmc-dot-active) !important; }
.gmc-slider__dot:focus-visible { outline: 1px solid var(--gmc-dot-active); outline-offset: 3px; }
.gmc-slider__arrow,
.gmc-slider__arrow:hover,
.gmc-slider__arrow:focus {
	position: absolute; z-index: 5; top: 50%; transform: translateY(-50%);
	display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px;
	margin: 0; padding: 0; background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important; outline: none;
	color: var(--gmc-arrow); cursor: pointer; opacity: 0;
	transition: color var(--gmc-hover-time), opacity var(--gmc-hover-time);
}
.gmc-slider__arrow--prev { left: 8px; }
.gmc-slider__arrow--next { right: 8px; }
.gmc-slider:hover .gmc-slider__arrow, .gmc-slider__arrow:focus-visible { opacity: 1; }
.gmc-slider:hover .gmc-slider__arrow.swiper-button-disabled { opacity: 0; }
.gmc-slider__arrow:hover, .gmc-slider__arrow:focus-visible { color: var(--gmc-arrow-hover); }
.gmc-slider__arrow:focus-visible { outline: 1px solid var(--gmc-arrow-hover); outline-offset: 2px; }
.gmc-slider__arrow svg { width: 28px; height: 28px; }
.gmc-slider__arrow.swiper-button-disabled { opacity: 0; pointer-events: none; }
@media (hover: none) { .gmc-slider__arrow { display: none; } }
@media (prefers-reduced-motion: reduce) { .gmc-slider .swiper-wrapper, .gmc-slider .swiper-slide { transition-duration: .01ms !important; } }

/* ---------- Slider hero ---------- */
.gmc-hero {
	--gmc-hero-bg: #f7f7f7;
	--gmc-hero-h: 540px;
	--gmc-hero-media: 50%;
}
.gmc-hero__slide { background: var(--gmc-hero-bg); }
.gmc-hero__inner { display: flex; min-height: var(--gmc-hero-h); }
.gmc-hero--image-left .gmc-hero__inner { flex-direction: row-reverse; }
.gmc-hero__content { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: flex-start; padding: 48px 64px 64px; text-align: left; }
.gmc-hero__body { max-width: 600px; width: 100%; }
.gmc-hero__media { flex: 0 0 var(--gmc-hero-media); position: relative; overflow: hidden; }
.gmc-hero .gmc-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.gmc-hero__kicker { display: block; margin: 0 0 16px; font-size: 14px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: #4a4a4a; line-height: 1.4; }
.gmc-hero__title { margin: 0 0 24px; font-size: 40px; font-weight: 700; line-height: 1.2; letter-spacing: 0; color: #3c3c3c; }
.gmc-hero__text { margin: 0 0 32px; font-size: 16px; line-height: 1.65; color: #4a4a4a; }
.gmc-hero__btn,
.gmc-hero__btn:visited {
	display: inline-block; padding: 14px 40px; border: 1px solid #2b2b2b; border-radius: 0;
	background: transparent; color: #2b2b2b; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; letter-spacing: .02em;
	transition: background-color var(--gmc-hover-time), color var(--gmc-hover-time), border-color var(--gmc-hover-time);
}
.gmc-hero__btn:hover, .gmc-hero__btn:focus-visible { background: #2b2b2b; color: #fff; border-color: #2b2b2b; text-decoration: none; }
.gmc-hero__body > :last-child { margin-bottom: 0; }

@media (max-width: 1024px) {
	.gmc-hero { --gmc-hero-media: 45%; }
	.gmc-hero__title { font-size: 32px; }
	.gmc-slider__dots { left: 40px; bottom: 24px; }
}
@media (max-width: 767px) {
	.gmc-hero__inner { flex-direction: column !important; min-height: 0; }
	.gmc-hero__media { flex: none; width: 100%; aspect-ratio: 1 / 1; order: -1; }
	.gmc-hero__title { font-size: 28px; margin-bottom: 16px; }
	.gmc-hero__text { font-size: 15px; margin-bottom: 24px; }
	.gmc-hero__btn { padding: 13px 32px; }
	.gmc-slider__dots { left: 24px; bottom: 20px; }
}

/* ---------- Produkty: zakładki + karuzela ---------- */
.gmc-pc {
	--gmc-pc-cols: 4;
	--gmc-pc-gap: 40px;
	/* zmienne karty (--gmc-card-*, --gmc-price*, --gmc-cart-*) NIE są tu deklarowane — ustawia je Elementor na .gmc-pc, a fallbacki są w product-card.css */
	--gmc-tab-color: #090a0c;
	--gmc-tab-hover: #8a8a8a;
	--gmc-tab-active-color: #090a0c;
	--gmc-tab-active-bg: rgba(47, 48, 50, .05);
	--gmc-hover-time: .25s;
	text-align: center;
}
.gmc-pc__title { margin: 0 0 28px; font-size: 18px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: #1a1a1a; line-height: 1.3; }
.gmc-pc__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin: 0 0 48px; }
.gmc-pc__tab,
.gmc-pc__tab:hover,
.gmc-pc__tab:focus {
	appearance: none; -webkit-appearance: none; display: inline-block; margin: 0; padding: 9px 16px; min-height: 0;
	border: 0 !important; border-radius: 20px; background: transparent !important; box-shadow: none !important; outline: none;
	font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; color: var(--gmc-tab-color); cursor: pointer;
	transition: color var(--gmc-hover-time), background-color var(--gmc-hover-time);
}
.gmc-pc__tab:hover { color: var(--gmc-tab-hover); }
.gmc-pc__tab.is-active, .gmc-pc__tab.is-active:hover, .gmc-pc__tab.is-active:focus { color: var(--gmc-tab-active-color); background: var(--gmc-tab-active-bg) !important; cursor: default; }
.gmc-pc__tab:focus-visible { outline: 1px solid var(--gmc-tab-active-color); outline-offset: 2px; }
.gmc-pc__panel[hidden] { display: none; }
.gmc-pc__empty { color: #7a7a7a; }

/* karuzela: przed inicjalizacją JS pokazuj siatkę (bez skoku układu) */
.gmc-pc__slider .swiper { overflow: hidden; padding-bottom: 0; }
.gmc-pc__slider:not(.is-ready) .swiper-wrapper { display: flex; gap: var(--gmc-pc-gap); overflow: hidden; }
.gmc-pc__slider:not(.is-ready) .swiper-slide { width: calc((100% - (var(--gmc-pc-cols) - 1) * var(--gmc-pc-gap)) / var(--gmc-pc-cols)); } /* jak Swiper po inicjalizacji: jeden rząd, bez zawijania */
.gmc-pc__slider .gmc-slider__arrow--prev { left: -8px; }
.gmc-pc__slider .gmc-slider__arrow--next { right: -8px; }
.gmc-pc__slider .gmc-slider__dots--center { position: static; justify-content: center; margin-top: 32px; left: auto; bottom: auto; }
.gmc-pc__slider .gmc-slider__dots--center:empty { display: none; }

/* karta produktu: assets/css/product-card.css (.gmc-card) */

@media (max-width: 1024px) {
	.gmc-pc__title { font-size: 16px; }
	.gmc-pc__tabs { margin-bottom: 32px; }
}
@media (max-width: 767px) {
	.gmc-pc { text-align: left; }
	.gmc-pc__title { font-size: 15px; text-align: center; }
	.gmc-pc__tabs { justify-content: center; }
	.gmc-pc__slider .gmc-slider__dots--center { margin-top: 24px; }
}

/* ---------- Aktualności (karuzela wpisów) ---------- */
.gmc-news { --gmc-arrow-bg: rgba(47, 48, 50, .05); text-align: center; padding: 0 56px; }
.gmc-news__kicker { margin: 0 0 24px; font-size: 13px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: #1a1a1a; }
.gmc-news__body { max-width: 640px; margin: 0 auto; }
.gmc-news__date { display: block; margin-bottom: 12px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #7a7a7a; }
.gmc-news__title { margin: 0 0 20px; font-size: 34px; font-weight: 400; line-height: 1.25; color: #1a1a1a; }
.gmc-news__title a { color: inherit; text-decoration: none; transition: color var(--gmc-hover-time); }
.gmc-news__title a:hover { color: #8a8a8a; text-decoration: none; }
.gmc-news__excerpt { margin: 0 0 28px; font-size: 15px; line-height: 1.65; color: #3c3c3c; }
.gmc-news__btn,
.gmc-news__btn:visited { display: inline-block; padding: 12px 40px; border: 1px solid #cfcfcf; border-radius: 0; background: transparent; color: #2b2b2b; font-size: 13px; font-weight: 400; line-height: 1.2; text-decoration: none; letter-spacing: .02em; transition: background-color var(--gmc-hover-time), color var(--gmc-hover-time), border-color var(--gmc-hover-time); }
.gmc-news__btn:hover, .gmc-news__btn:focus-visible { background: #2b2b2b; color: #fff; border-color: #2b2b2b; text-decoration: none; }
.gmc-news .gmc-slider__arrow--always { opacity: 1; width: 36px; height: 36px; border-radius: 50%; background: var(--gmc-arrow-bg) !important; }
.gmc-news .gmc-slider__arrow--always svg { width: 18px; height: 18px; }
.gmc-news .gmc-slider__arrow--always.swiper-button-disabled, .gmc-news:hover .gmc-slider__arrow--always.swiper-button-disabled { opacity: .3; }
.gmc-news:not(.is-ready) .swiper-slide:not(:first-child) { display: none; } /* przed JS: tylko pierwsza aktualność (bez skoku układu) */
.gmc-news .gmc-slider__arrow--prev { left: 0; }
.gmc-news .gmc-slider__arrow--next { right: 0; }
.gmc-news .gmc-slider__dots--center { position: static; justify-content: center; margin-top: 24px; }
@media (max-width: 767px) {
	.gmc-news { padding: 0 8px; }
	.gmc-news__title { font-size: 24px; }
	.gmc-news__excerpt { font-size: 14px; }
	.gmc-news .gmc-slider__arrow--always { display: none; }
}

/* ---------- Typy skóry (kafelki) ---------- */
.gmc-skin { --gmc-skin-cols: 6; --gmc-skin-gap: 40px; --gmc-skin-size: 220px; text-align: center; }
.gmc-skin__head { margin-bottom: 40px; }
.gmc-skin__title { margin: 0 0 10px; font-size: 22px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: #1a1a1a; line-height: 1.3; }
.gmc-skin__subtitle { margin: 0; font-size: 14px; color: #3c3c3c; }
.gmc-skin__slider:not(.is-ready) .swiper-wrapper { display: flex; gap: var(--gmc-skin-gap); overflow: hidden; }
.gmc-skin__slider:not(.is-ready) .swiper-slide { width: calc((100% - (var(--gmc-skin-cols) - 1) * var(--gmc-skin-gap)) / var(--gmc-skin-cols)); }
.gmc-skin__tile { display: block; color: #1a1a1a; text-decoration: none; }
.gmc-skin__tile:hover { text-decoration: none; }
.gmc-skin__media { display: block; width: 100%; max-width: var(--gmc-skin-size); margin: 0 auto; aspect-ratio: 1 / 1; border-radius: 0; overflow: hidden; background: #f2f2f2; }
.gmc-skin-shape-circle .gmc-skin__media { border-radius: 50%; }
.gmc-skin .gmc-skin__media img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; transition: transform .5s ease; }
.gmc-skin-hover-zoom .gmc-skin__tile:hover .gmc-skin__media img { transform: scale(1.05); }
.gmc-skin__caption { display: block; margin-top: 18px; font-size: 12px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; color: #1a1a1a; transition: color var(--gmc-hover-time); }
.gmc-skin__tile:hover .gmc-skin__caption { color: #8a8a8a; }
.gmc-skin .gmc-slider__arrow--prev { left: -8px; }
.gmc-skin .gmc-slider__arrow--next { right: -8px; }
.gmc-skin .gmc-slider__arrow { top: calc(var(--gmc-skin-size) / 2); }
.gmc-skin .gmc-slider__dots--center { position: static; justify-content: center; margin-top: 24px; }
@media (max-width: 1024px) { .gmc-skin__title { font-size: 18px; } }
@media (max-width: 767px) { .gmc-skin__title { font-size: 16px; } .gmc-skin__head { margin-bottom: 28px; } .gmc-skin__caption { font-size: 11px; margin-top: 12px; } }

/* ==========================================================================
   Prezenty (progi) — widgets/gift-levels.php. Tło i odstępy sekcji z kontenera Elementora (jak Aktualności: #F7F7F7, 72 px).
   Makieta: nadtytuł jak w Aktualnościach, tytuł, podtytuł, 3 progi rozdzielone pionowymi liniami, tekst pod progami; telefon — progi jeden pod drugim.
   ========================================================================== */
.gmc-gifts { --gmc-gifts-text: #1a1a1a; --gmc-gifts-muted: #3c3c3c; --gmc-gifts-line: #cfcfcf; text-align: center; font-family: "Lato", sans-serif; color: var(--gmc-gifts-text); }
.gmc-gifts__kicker { margin: 0 0 18px; font-size: 13px; font-weight: 400; line-height: 1.3; letter-spacing: .18em; text-transform: uppercase; color: var(--gmc-gifts-text); }
.gmc-gifts .gmc-gifts__title { margin: 0 0 14px; font-family: "Lato", sans-serif; font-size: 34px; font-weight: 400; line-height: 1.25; letter-spacing: 0; text-transform: none; color: var(--gmc-gifts-text); }
.gmc-gifts__subtitle { max-width: 640px; margin: 0 auto 44px; font-size: 15px; line-height: 1.6; color: var(--gmc-gifts-muted); }
.gmc-gifts__levels { display: grid; grid-template-columns: repeat(var(--gmc-gifts-cols, 3), minmax(0, 1fr)); max-width: 960px; margin: 0 auto; padding: 0; list-style: none; }
.gmc-gifts__level { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; margin: 0; padding: 6px 24px; }
.gmc-gifts__level + .gmc-gifts__level { border-left: 1px solid var(--gmc-gifts-line); }
.gmc-gifts__amount { font-size: 30px; font-weight: 400; line-height: 1.2; color: var(--gmc-gifts-text); white-space: nowrap; }
.gmc-gifts__label { max-width: 300px; margin: 2px auto 0; font-size: 14px; line-height: 1.5; text-align: center; color: var(--gmc-gifts-muted); text-wrap: balance; } /* opis poziomu w 2–3 wierszach (teksty klienta 2026-10-07) */
.gmc-gifts__note { max-width: 640px; margin: 40px auto 0; font-size: 13px; line-height: 1.6; color: #6f6f6f; }
@media (max-width: 1024px) {
	.gmc-gifts .gmc-gifts__title { font-size: 28px; }
	.gmc-gifts__amount { font-size: 26px; }
}
@media (max-width: 767px) {
	.gmc-gifts__kicker { margin-bottom: 14px; font-size: 12px; }
	.gmc-gifts .gmc-gifts__title { font-size: 24px; }
	.gmc-gifts__subtitle { margin-bottom: 32px; font-size: 14px; }
	.gmc-gifts__levels { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.gmc-gifts__level { padding: 0; }
	.gmc-gifts__level + .gmc-gifts__level { border-left: 0; }
	.gmc-gifts__amount { font-size: 26px; }
	.gmc-gifts__note { margin-top: 32px; font-size: 12px; }
}

/* ==========================================================================
   Pasek korzyści (USP) — widgets/usp-bar.php, pod banerem (ten sam kontener co baner).
   Desktop: równe kolumny z pionowymi liniami, linia pod paskiem; telefon: jeden wiersz przewijany poziomo.
   ========================================================================== */
.gmc-usp { --gmc-usp-text: #3c3c3c; --gmc-usp-line: #d9d9d9; --gmc-usp-icon: #454545; border-bottom: 1px solid #e6e6e6; font-family: "Lato", sans-serif; }
.gmc-usp__list { display: grid; grid-template-columns: repeat(var(--gmc-usp-cols, 3), minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.gmc-usp__item { display: flex; align-items: center; justify-content: center; min-height: 64px; margin: 0; padding: 0 20px; font-size: 14px; line-height: 1.4; text-align: center; color: var(--gmc-usp-text); }
.gmc-usp__item + .gmc-usp__item { background: linear-gradient(var(--gmc-usp-line), var(--gmc-usp-line)) left center / 1px 20px no-repeat; } /* pionowa linia 20 px między elementami (jak makieta) */
.gmc-usp__item, .gmc-usp__item a { gap: 12px; } /* ikona 24 px po lewej stronie tekstu, odstęp 12 px (wytyczne klienta 2026-10-01) */
.gmc-usp__item a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; transition: color .25s; }
.gmc-usp__item a:hover { color: #8a8a8a; }
.gmc-usp__icon { display: block; flex: 0 0 24px; width: 24px; height: 24px; color: var(--gmc-usp-icon); transition: color .25s; }
.gmc-usp__item a:hover .gmc-usp__icon { color: inherit; }
.gmc-usp__text { text-wrap: balance; } /* tablet: tekst w dwóch równych wierszach, bez samotnego słowa */
.gmc-usp__icon + .gmc-usp__text { text-align: left; } /* z ikoną: tekst zawijany od lewej, cała para wyśrodkowana w kolumnie */
@media (max-width: 767px) {
	.gmc-usp { margin: 0 -16px; } /* przewijanie od krawędzi do krawędzi ekranu */
	.gmc-usp__list { display: flex; overflow-x: auto; overflow-y: hidden; padding: 0 16px; scroll-snap-type: x proximity; scroll-padding-inline: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
	.gmc-usp__list::-webkit-scrollbar { display: none; }
	.gmc-usp__item { flex: 0 0 auto; min-height: 48px; padding: 0 16px; font-size: 12px; white-space: nowrap; scroll-snap-align: start; }
	.gmc-usp__item:first-child { padding-left: 0; }
	.gmc-usp__item:last-child { padding-right: 16px; }
}
