/* Strona produktu (odwzorowanie brendz.com) */

/* ---------- Pasek okruszków ---------- */
.pbc { background: #f6f9fc; }
.pbc__inner { display: flex; align-items: center; gap: 14px; padding-block: 8px; min-height: 50px; }
.pbc__back {
	display: inline-flex;
	align-items: center;
	padding: 0 14px;
	min-height: 34px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	font-size: 12px;
	font-weight: 500;
	line-height: 19px;
	color: var(--text);
	text-decoration: none;
}
.pbc__back:hover { color: var(--green); }
.pbc__list { padding: 0; }
@media (max-width: 767px) { .pbc__list { display: none; } }

/* ---------- Hero ---------- */
.product-view__notices:empty { display: none; }
.product-view__notices { padding-top: 16px; }

.product-view__wrapper { display: grid; gap: 21px; padding-block: 24px 40px; }
@media (min-width: 992px) {
	.product-view__wrapper { grid-template-columns: 1fr 1fr; gap: 0 144px; align-items: start; padding-block: 32px 64px; }
}

.product-view__gallery { position: relative; }
.gallery__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
}
.product-view .gallery__img { display: none; width: 75.4%; max-width: 436px; height: auto; border-radius: 14px; object-fit: contain; }
.product-view .gallery__img.is-active { display: block; }
@media (max-width: 991px) { .gallery__img { width: 100%; max-width: 460px; } .gallery__stage { aspect-ratio: auto; } }
.gallery__zoom {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	padding: 6px;
	border: 0;
	background: none;
	color: var(--text);
	cursor: zoom-in;
}
.gallery__zoom:hover { color: var(--green); }
.gallery__thumbs { display: flex; justify-content: center; gap: 10px; margin-top: 14px; }
.gallery__thumb { display: block; width: 64px; height: 64px; padding: 4px; border: 1px solid var(--border); border-radius: 8px; background: #fff; cursor: pointer; }
.gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gallery__thumb.is-active { border-color: var(--green); }

.product-view__details {
	position: relative;
	padding: 24px 20px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4.2px 21.35px -5.25px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) { .product-view__details { padding: 32px; } }

.product-view__stock {
	position: absolute;
	top: 98px;
	right: 0;
	padding: 7.35px 14px 7.35px 10.15px;
	border-radius: 3.5px 0 0 3.5px;
	background: #42d697;
	font-size: 12.25px;
	font-weight: 500;
	line-height: 18.4px;
	color: #fff;
}
.product-view__stock--out { background: #e1706a; }

.product-view__title {
	margin: 0;
	padding-right: 70px;
	font-family: "Baloo 2", var(--font);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
	color: #1a1b1d;
}
/* padding-right: plakietka „Dostępny” jest położona absolutnie – długi tytuł (3 linie) nie może pod nią wchodzić */
@media (min-width: 768px) { .product-view__title { padding-right: 96px; font-size: 42px; } }

.product-view__rating { display: flex; align-items: center; gap: 8px; padding: 4px 0 14px; font-size: 14px; line-height: 22.4px; }
.product-view__rating a { color: #0d6efd; }
.stars { position: relative; display: inline-block; width: 84px; height: 15px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='15' viewBox='0 0 84 15'%3E%3Cg fill='%23dde3ea'%3E%3Cpath id='s' d='m8.4 1 2 4.2 4.6.6-3.4 3.2.9 4.5-4.1-2.3-4.1 2.3.9-4.5L1.8 5.8l4.6-.6z'/%3E%3Cuse href='%23s' x='15'/%3E%3Cuse href='%23s' x='30'/%3E%3Cuse href='%23s' x='45'/%3E%3Cuse href='%23s' x='60'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 84px 15px; }
.stars > span { position: absolute; inset: 0 auto 0 0; overflow: hidden; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='15' viewBox='0 0 84 15'%3E%3Cg fill='%23f5a623'%3E%3Cpath id='s' d='m8.4 1 2 4.2 4.6.6-3.4 3.2.9 4.5-4.1-2.3-4.1 2.3.9-4.5L1.8 5.8l4.6-.6z'/%3E%3Cuse href='%23s' x='15'/%3E%3Cuse href='%23s' x='30'/%3E%3Cuse href='%23s' x='45'/%3E%3Cuse href='%23s' x='60'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 84px 15px; }

.product-view__price { margin: 16px 0 0; font-size: 21px; font-weight: 700; line-height: 28px; color: var(--green); }
.product-view__price del { margin-right: 8px; color: var(--muted); font-weight: 400; font-size: 16px; }
.product-view__price ins { text-decoration: none; }

.product-view__short { margin-top: 14px; font-size: 14px; line-height: 21px; }
.product-view__short p { margin: 0; }

/* Formularz dodawania do koszyka (WooCommerce) */
.product-view__form form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px; padding: 24px 0; margin: 0; }
.product-view__form .quantity { flex: none; }
.pqty { display: flex; align-items: stretch; width: 130px; height: 49px; border: 1px solid var(--border); border-radius: 4px; background: #fff; }
.pqty__btn { flex: none; width: 36px; border: 0; background: none; font-size: 18px; line-height: 1; color: var(--muted); cursor: pointer; }
.pqty__btn:hover { color: var(--green); }
.pqty .qty { flex: 1; min-width: 0; width: 100%; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.pqty .qty::-webkit-outer-spin-button, .pqty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pqty .qty:focus { outline: 0; }
.product-view .product-view__form .single_add_to_cart_button.button,
.product-view .product-view__form .single_add_to_cart_button.button.alt {
	flex: 1 1 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 49px;
	padding: 16px;
	border: 0;
	border-radius: 4.9px;
	background: var(--green);
	font: 700 14px/14px var(--font);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.product-view .product-view__form .single_add_to_cart_button::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("../img/icons/cart.svg") center / contain no-repeat;
	mask: url("../img/icons/cart.svg") center / contain no-repeat;
}
.product-view .product-view__form .single_add_to_cart_button.button:hover,
.product-view .product-view__form .single_add_to_cart_button.button.alt:hover { background: #249a31; color: #fff; }
.product-view .product-view__form .single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; }
.product-view__form .stock.out-of-stock { margin: 16px 0; color: #a12622; }

.product-view__usps { margin: 0; }
.product-view__usps li { display: flex; align-items: flex-start; gap: 7px; margin-bottom: 7px; font-size: 14px; line-height: 21px; }
.product-view__usps .icon { margin-top: 2px; color: var(--green); }
.product-view__usps strong { font-weight: 400; color: var(--green); }

/* ---------- Pasek zakładek ---------- */
.product-tabs__nav { position: sticky; top: 0; z-index: 30; padding: 14px 0 7px; background: #f6f9fc; }
body.admin-bar .product-tabs__nav { top: 32px; }
@media (min-width: 1200px) { .product-tabs__nav { top: 0; } }
.product-tabs__list { display: flex; flex-wrap: wrap; justify-content: center; }
@media (max-width: 767px) { .product-tabs__list { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; } }
.product-tabs__pill {
	flex: none;
	margin: 0 3.5px 7px;
	padding: 7px 16.8px;
	border-radius: 700px;
	background: #fff;
	font-size: 14px;
	line-height: 21px;
	color: var(--text);
	text-decoration: none;
}
.product-tabs__pill:hover, .product-tabs__pill.is-active { background: var(--green); color: #fff; }

/* ---------- Sekcje ---------- */
.psec { scroll-margin-top: 70px; }
.psec--specs, .psec--reviews, .psec--downloads { padding-block: 42px; border-top: 1px solid var(--border); }
.psec--details { padding-bottom: 28px; }
.psec__title { margin: 0 0 14px; font-size: 28px; font-weight: 700; line-height: 44.8px; color: #1a1b1d; }
.psec__content { padding-block: 32px; }

.pbanner { height: 225px; overflow: hidden; background: #000; }
@media (min-width: 576px)  { .pbanner { height: 325px; } }
@media (min-width: 768px)  { .pbanner { height: 425px; } }
@media (min-width: 1024px) { .pbanner { height: 525px; } }
.pbanner .pbanner__img { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; }

.picons { position: relative; padding-block: 56px; }
@media (min-width: 768px) { .picons { padding-block: 84px; } }
.picons::before { content: ""; position: absolute; inset: 0 0 50% 0; background: #f6f9fc; }
.picons > .container { position: relative; }
.picons__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 14px; }
@media (min-width: 768px) { .picons__list { grid-template-columns: repeat(4, 1fr); } }
.picons__item { display: flex; flex-direction: column; align-items: center; text-align: center; }
.picons__icon { display: block; width: min(183px, 100%); aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--green); }
.picons .picons__icon img { display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; }
.picons__label { margin: 20px 0 0; font-size: 17px; font-weight: 700; line-height: 1.4; color: #1a1b1d; }
@media (min-width: 768px) { .picons__label { margin-top: 32px; font-size: 21px; line-height: 33.6px; } }

.pfeature { padding: 24px 0; }
@media (min-width: 768px) { .pfeature { padding: 48px 0; } }
.pfeature__inner { display: grid; gap: 21px; max-width: 1000px; margin-inline: auto; padding-inline: 10.5px; }
@media (min-width: 768px) {
	.pfeature__inner { grid-template-columns: 1fr 1fr; align-items: center; gap: 0; }
	.pfeature__media { padding-inline: 48px; }
	.pfeature__text { padding-inline: 48px; }
	.pfeature--right .pfeature__media { grid-column: 2; grid-row: 1; }
	.pfeature--right .pfeature__text { grid-column: 1; grid-row: 1; }
}
.pfeature__media { margin: 0; }
.pfeature .pfeature__media img { display: block; width: 100%; max-width: none; height: auto; border-radius: 14px; }
.pfeature__text h2 { margin: 0 0 14px; font-size: 24px; font-weight: 700; line-height: 1.6; color: #1a1b1d; }
@media (min-width: 768px) { .pfeature__text h2 { font-size: 28px; line-height: 44.8px; } }
.pfeature__text p { margin: 0 0 16px; font-size: 16px; line-height: 25.6px; color: var(--text-soft); }
.pfeature__text > :last-child { margin-bottom: 0; }

/* Lightbox */
.plightbox { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(15, 20, 30, 0.85); }
.plightbox.is-open { display: flex; }
.plightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; background: #fff; }
.plightbox__close { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; font-size: 22px; cursor: pointer; }

/* ---------- Dopracowanie 1:1 (wymiary z oryginału) ---------- */

/* Hero */
.product-view__title { margin-top: 38px; line-height: 42px; }
@media (max-width: 767px) { .product-view__title { font-size: 28px; line-height: 28px; } }
.product-view__rating { padding: 0 0 14px; line-height: 22.4px; }
.product-view__price { line-height: 25px; }
@media (min-width: 992px) {
	.gallery__stage { justify-content: flex-end; margin-right: -48px; aspect-ratio: auto; height: 578px; }
	.product-view .gallery__img { width: 436px; max-width: none; }
}

/* Pasek zakładek */
.product-tabs__pill { border: 1px solid var(--border); }
.product-tabs__pill:hover, .product-tabs__pill.is-active { border-color: var(--green); }

/* Ikony i bloki cech */
.picons__item { width: 100%; }
.picons__label { margin-bottom: 10.5px; }
@media (max-width: 767px) {
	.picons__list { grid-template-columns: 1fr; gap: 28px; }
	.picons__icon { width: min(299px, 100%); }
}
.pfeature__inner { max-width: 1021px; }
@media (max-width: 767px) { .pfeature__media, .pfeature__text { padding-inline: 42px; } }

/* Specyfikacja: osobna tabela dla każdej grupy */
.pspecs__group { margin: 14px 0 7px; font-size: 17.5px; font-weight: 700; line-height: 28px; color: #1a1b1d; }
.psec--specs .psec__title + .pspecs__group { margin-top: 0; }
.pspecs { width: 100%; margin: 0; border-collapse: collapse; font-size: 14px; line-height: 22.4px; }
.pspecs td { padding: 8px; vertical-align: top; text-align: left; }
.pspecs td:first-child { width: 41.6%; font-weight: 500; }
.pspecs tr:nth-child(odd) td { background: #f6f9fc; }
@media (max-width: 767px) { .pspecs td:first-child { width: 46%; } }

/* Opinie */
.psec--reviews .psec__summary { margin: 0; font-size: 12.25px; line-height: 22.4px; }
.psec--reviews .psec__summary a, .psec--reviews .woocommerce-Reviews-title { color: #0d6efd; }
.psec--reviews .woocommerce-Reviews-title, .psec--reviews .woocommerce-noreviews { display: none; }
.psec--reviews #reviews { font-size: 14px; line-height: 21px; }
.psec--reviews #comments { margin-top: 28px; }
.psec--reviews .commentlist { margin: 0 0 21px; max-width: 760px; }
.psec--reviews .commentlist > li { padding: 16px 0; border-top: 1px solid var(--border); }
.psec--reviews .comment_container { display: flex; gap: 14px; }
.psec--reviews .comment_container img.avatar { flex: none; width: 48px; height: 48px; border-radius: 50%; }
.psec--reviews .comment-text .meta { margin: 4px 0 6px; color: var(--muted); }
.psec--reviews .review-title { margin: 6px 0 4px; font-weight: 700; color: #1a1b1d; }
.psec--reviews .comment-text p { margin: 0; }
.psec--reviews .star-rating { position: relative; display: block; width: 84px; height: 15px; overflow: hidden; }
.psec--reviews .star-rating::before { content: "★★★★★"; position: absolute; inset: 0; color: #dde3ea; letter-spacing: 2px; line-height: 15px; }
.psec--reviews .star-rating span { position: absolute; inset: 0 auto 0 0; overflow: hidden; padding-top: 1.5em; }
.psec--reviews .star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: #f5a623; letter-spacing: 2px; line-height: 15px; }

.psec--reviews #review_form_wrapper { margin-top: 42px; }
.psec--reviews #review_form, .psec--reviews #respond { max-width: 494px; }
.psec--reviews #review_form_wrapper #review_form #respond { padding: 28px; border-radius: 14px; background: #f6f9fc; }
.psec--reviews .comment-reply-title { margin: 0 0 14px; font-size: 28px; font-weight: 500; line-height: 44.8px; color: #1a1b1d; }
.psec--reviews .comment-form { display: block; max-width: none; }
.psec--reviews .comment-form > p, .psec--reviews .comment-form-rating { margin: 0 0 14px; }
.psec--reviews .comment-form label, .psec--reviews .comment-form-rating__legend { display: block; margin: 0 0 4.9px; font-size: 14px; font-weight: 400; line-height: 22.4px; color: var(--text); }
.psec--reviews .comment-form-rating__legend { margin-bottom: 4px; }
.psec--reviews .comment-form input[type=text], .psec--reviews .comment-form textarea {
	display: block; width: 100%; padding: 14px; border: 1px solid #ced4da; border-radius: 3.5px; background: #fff; font: inherit; font-size: 14px; line-height: 21px; color: var(--text);
}
.psec--reviews .comment-form input[type=text] { height: 48px; }
.psec--reviews .comment-form textarea { height: 135px; resize: none; }
.psec--reviews .comment-form input:focus, .psec--reviews .comment-form textarea:focus { outline: 0; border-color: var(--green); }
.psec--reviews .comment-form .form-submit { margin: 0; }
.psec--reviews .comment-form .form-submit .submit, .psec--reviews .comment-form .form-submit input[type=submit] {
	display: block; width: 100%; min-height: 42px; padding: 14px 21px; border: 0; border-radius: 4.9px; background: var(--green); font: 700 14px/14px var(--font); color: #fff; cursor: pointer; transition: background-color 0.2s ease;
}
.psec--reviews .comment-form .form-submit .submit:hover { background: #249a31; }
.psec--reviews .comment-form .comment-form-cookies-consent, .psec--reviews .comment-form-email, .psec--reviews .comment-form-url { display: none; }

/* Gwiazdki oceny (radio) */
.rstars { display: flex; gap: 0; margin-left: -3.5px; }
.rstars__star { position: relative; display: block; width: 24px; height: 24px; margin: 0 !important; cursor: pointer; }
.rstars__star input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.rstars__icon { display: block; width: 24px; height: 24px; background: #dde3ea; -webkit-mask: url("../img/icons/star.svg") center / contain no-repeat; mask: url("../img/icons/star.svg") center / contain no-repeat; transition: background-color 0.15s ease; }
.rstars:hover .rstars__icon { background: #f5a623; }
.rstars__star:hover ~ .rstars__star .rstars__icon { background: #dde3ea; }
.rstars:has(input:checked) .rstars__icon { background: #f5a623; }
.rstars__star:has(input:checked) ~ .rstars__star .rstars__icon { background: #dde3ea; }
.rstars:has(input:focus-visible) { outline: 2px solid var(--green); outline-offset: 2px; }

/* Instrukcje: pigułka z plikiem */
.psec--downloads .psec__title { line-height: 28px; }
.pdownloads { display: flex; flex-wrap: wrap; gap: 0; }
.pdownloads li { margin: 0 7px 7px 0; }
.pdownloads__link { display: inline-flex; align-items: center; padding: 14px 16.8px; border: 1px solid #dae1e7; border-radius: 14px; color: var(--text); text-decoration: none; }
.pdownloads__link .icon { margin-right: 14px; color: var(--muted); }
.pdownloads__name { font-size: 14px; line-height: 22.4px; }
.pdownloads small { margin-left: 14px; font-size: 12.25px; line-height: 18.4px; color: #adb5bd; }
.pdownloads__link:hover { border-color: var(--green); color: var(--green); text-decoration: none; }

/* Dolny pasek „Dodaj do koszyka” */
.pbar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 50;
	background: #fff;
	box-shadow: 0 4.2px 21.35px 3.85px rgba(0, 0, 0, 0.1);
	transform: translateY(100%);
	visibility: hidden;
	transition: transform 0.3s ease, visibility 0s 0.3s;
}
.pbar.is-visible { transform: none; visibility: visible; transition: transform 0.3s ease; }
.pbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 65px; }
@media (min-width: 768px) { .pbar__inner { min-height: 77px; } }
.pbar__title { display: flex; align-items: center; gap: 0; min-width: 0; }
.pbar__img { flex: none; width: 45px; height: 45px; object-fit: contain; }
@media (min-width: 768px) { .pbar__img { width: 60px; height: 60px; } }
.pbar__details { min-width: 0; margin-left: 16px; }
.pbar__name { margin: 0; overflow: hidden; font-size: 16px; font-weight: 700; line-height: 25.6px; color: #1a1b1d; text-overflow: ellipsis; white-space: nowrap; }
.pbar__price { display: block; font-size: 14px; line-height: 21px; color: var(--green); }
.pbar__btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 62px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 4.9px;
	background: var(--green);
	font: 700 14px/14px var(--font);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.pbar__btn:hover { background: #249a31; }
.pbar__btn-text { display: none; }
.pbar__btn .icon { width: 20px; height: 20px; }
@media (min-width: 768px) { .pbar__btn { width: 300px; } .pbar__btn-text { display: inline; } }
body.has-pbar { padding-bottom: 0; }

.product-view__price { margin-top: 17px; }
.product-view__short { margin-top: 15px; }
.product-view__usps { margin-top: 21px; }
.psec--reviews #review_form_wrapper #review_form #respond .form-submit input#submit,
.psec--reviews #review_form_wrapper #review_form #respond .form-submit .submit {
	display: block; width: 100%; min-height: 42px; padding: 14px 21px; border: 0; border-radius: 4.9px; background: var(--green); font: 700 14px/14px var(--font); color: #fff; cursor: pointer;
}
.psec--reviews #review_form_wrapper #review_form #respond .form-submit input#submit:hover { background: #249a31; color: #fff; }

/* Formularz opinii: wymiary jak w oryginale (specyficzność > WooCommerce) */
.psec--reviews #review_form #respond #reply-title { display: block; margin: 0 0 14px; font-size: 28px; font-weight: 500; line-height: 44.8px; }
.psec--reviews #review_form #respond #reply-title small { display: none; }
.psec--reviews #review_form #respond .comment-form > p,
.psec--reviews #review_form #respond .comment-form .comment-form-rating { margin: 0 0 16px; }
.psec--reviews #review_form #respond .comment-form .comment-form-rating { margin-bottom: 14px; }
.psec--reviews #review_form #respond .rstars { height: 29px; align-items: center; }
.psec--reviews #review_form #respond #comment { height: 135px; min-height: 135px; }
.psec--reviews #review_form #respond .comment-form .form-submit { margin: 0; }

/* Telefon: wymiary karty jak w oryginale */
@media (max-width: 767px) {
	.pbc__inner { min-height: 46px; }
	.product-view__wrapper { padding-top: 0; gap: 0; }
	.product-view .gallery__stage { height: 369px; margin-bottom: 30px; }
	.product-view .gallery__img { width: calc(100% - 16px); max-width: none; }
	.product-view__details { padding: 17px; }
	.product-view__form form.cart { flex-wrap: nowrap; }
	.pqty { height: 46px; }
	.product-view .product-view__form .single_add_to_cart_button.button { flex: 1 1 0; min-width: 0; min-height: 46px; }
	.product-view__usps li { font-size: 12.25px; line-height: 18.4px; }
	.product-tabs__pill { padding: 6px 14px; font-size: 12.25px; line-height: 18.4px; }
	.picons { padding-block: 35px; }
	.picons__list { gap: 27px; }
	.picons__label { margin-top: 15px; font-size: 15.4px; line-height: 20px; }
}

/* Zdjęcie dopasowane do wysokości tekstu (opcja bloku cech) */
@media (min-width: 768px) {
	.pfeature--fit .pfeature__media { position: relative; align-self: stretch; }
	.pfeature .pfeature__media img { }
	.pfeature--fit .pfeature__media img { position: absolute; top: 0; bottom: 0; left: 48px; width: calc(100% - 96px); height: 100%; object-fit: cover; }
}

.psec--reviews .psec__summary { margin: 0; font-size: 14px; line-height: 22.4px; color: var(--muted); }
