/* Lajki – opcje dodatkowe: czas realizacji, podgląd linku, koszyk
 *
 * Motyw stylizuje wszystkie <label> w formularzu produktu selektorem z #woocommerce
 * (display:block, padding, margin-bottom). Dlatego reguły kafelków mają #lcr-tiers
 * i !important przy właściwościach, które motyw nadpisuje.
 */

#lcr-tiers,
#lcr-sum,
.lcr-pv,
.lcr-paste-wrap {
	--lcr-accent: #F9335A;
	--lcr-accent-soft: #FFF3F5;
	--lcr-accent-dark: #C8174A;
	--lcr-border: #D7DAE8;
	--lcr-line: #E3E6EF;
	--lcr-text: #1A191C;
	--lcr-label: #252A31;
	--lcr-muted: #5B6170;
	--lcr-icon: #8A90A2;
	/* Ciepłe kolory opcji czasu realizacji (plakietki w podsumowaniu, „Polecany”, kafelki). */
	--lcr-slow: #E0533D;
	--lcr-fast: #DB9200;
	--lcr-fastest: #5A9E2F;
	text-align: left;
}

#lcr-sum[hidden],
.lcr-pv[hidden] {
	display: none !important;
}

/* ------------------------------------------------------------------ */
/* Kafelki czasu realizacji                                            */
/* ------------------------------------------------------------------ */

#lcr-tiers {
	display: block;
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
	min-width: 0;
}

#lcr-tiers .lcr__legend {
	display: block;
	float: none;
	width: auto;
	padding: 0;
	margin: 0 0 8px;
	border: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	color: var(--lcr-label);
}

#lcr-tiers .lcr__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	padding-top: 10px;
}

#lcr-tiers .lcr-tile {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 2px !important;
	width: auto !important;
	min-width: 0;
	min-height: 84px;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 12px 12px 12px !important;
	border: 2px solid var(--lcr-border) !important;
	border-radius: 8px !important;
	background: #fff !important;
	text-align: left !important;
	color: var(--lcr-text) !important;
	cursor: pointer;
	transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
}

/* Kolor każdej opcji: Powoli – czerwony (kolor sklepu), Szybko – żółty, Najszybciej – zielony. */
#lcr-tiers .lcr-tile {
	--lcr-tier: var(--lcr-accent);
	--lcr-tier-soft: var(--lcr-accent-soft);
	--lcr-tier-hover: #F9A3B4;
	--lcr-tier-shadow: rgba(249, 51, 90, .14);
	--lcr-tier-icon: var(--lcr-accent);
}

#lcr-tiers .lcr-tile--szybki {
	--lcr-tier: var(--lcr-fast);
	--lcr-tier-soft: #FFF8E6;
	--lcr-tier-hover: #F0C866;
	--lcr-tier-shadow: rgba(219, 146, 0, .18);
	--lcr-tier-icon: var(--lcr-fast);
}

#lcr-tiers .lcr-tile--najszybszy {
	--lcr-tier: var(--lcr-fastest);
	--lcr-tier-soft: #F3F9EC;
	--lcr-tier-hover: #A9D08A;
	--lcr-tier-shadow: rgba(90, 158, 47, .16);
	--lcr-tier-icon: var(--lcr-fastest);
}

#lcr-tiers .lcr-tile:hover {
	border-color: var(--lcr-tier-hover) !important;
	box-shadow: 0 6px 18px var(--lcr-tier-shadow);
}

#lcr-tiers .lcr-tile.is-selected,
#lcr-tiers .lcr-tile:has(input:checked) {
	border-color: var(--lcr-tier) !important;
	background: var(--lcr-tier-soft) !important;
}

/* Motyw wyłącza outline (* { outline: unset !important }) – fokus pokazujemy cieniem. */
#lcr-tiers .lcr-tile:has(input:focus-visible) {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--lcr-label) !important;
}

#lcr-tiers .lcr-tile__top {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 0 0 8px;
}

#lcr-tiers .lcr-tile__icon {
	display: block;
	width: 24px;
	height: 24px;
	flex: none;
	color: var(--lcr-icon);
}

#lcr-tiers .lcr-tile.is-selected .lcr-tile__icon,
#lcr-tiers .lcr-tile:has(input:checked) .lcr-tile__icon {
	color: var(--lcr-tier-icon);
}

/* Motyw może ukrywać lub stylować radio – przywracamy natywne. */
#lcr-tiers .lcr-tile input[type="radio"] {
	-webkit-appearance: radio !important;
	appearance: auto !important;
	display: inline-block !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	flex: none;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: var(--lcr-tier);
	cursor: pointer;
}

#lcr-tiers .lcr-tile__name,
#lcr-tiers .lcr-tile__price {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal;
}

#lcr-tiers .lcr-tile__name {
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--lcr-text) !important;
}

#lcr-tiers .lcr-tile__price {
	margin-top: auto !important;
	padding-top: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--lcr-muted) !important;
}

#lcr-tiers .lcr-tile.is-selected .lcr-tile__price,
#lcr-tiers .lcr-tile:has(input:checked) .lcr-tile__price {
	color: var(--lcr-accent-dark) !important;
}

#lcr-tiers .lcr-tile__badge {
	position: absolute;
	top: -11px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--lcr-fast); /* „Polecany” – ten sam żółty co opcja Szybko */
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .02em;
	white-space: nowrap;
}

#lcr-tiers .lcr-tile.is-disabled {
	border-style: dashed !important;
	background: #F5F6FA !important;
	box-shadow: none;
	cursor: not-allowed;
}

#lcr-tiers .lcr-tile.is-disabled .lcr-tile__icon {
	color: #B4B9C8;
}

#lcr-tiers .lcr-tile.is-disabled .lcr-tile__name,
#lcr-tiers .lcr-tile.is-disabled .lcr-tile__price {
	color: #6B7080 !important;
	font-weight: 400 !important;
}

/* ------------------------------------------------------------------ */
/* Rozpiska ceny – zastępuje cenę wariantu z motywu                    */
/* ------------------------------------------------------------------ */

form.cart.lcr-active .woocommerce-variation-price {
	display: none !important;
}

#lcr-sum {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 16px;
	padding: 16px 18px;
	border: 1px solid var(--lcr-line);
	border-radius: 8px;
	background: var(--lcr-line); /* tło w kolorze ramki – jeden kolor */
}

#lcr-sum .lcr-sum__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--lcr-muted);
}

#lcr-sum .lcr-sum__val {
	flex: none;
	font-weight: 600;
	color: var(--lcr-text);
	white-space: nowrap;
}

/* „Czas realizacji:” i plakietka w jednej linii, wyśrodkowane w pionie. */
#lcr-sum .lcr-sum__label {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 6px;
}

/* Wybrana opcja jako plakietka: białe litery i ikona na tle w kolorze opcji. */
#lcr-sum .lcr-sum__tier {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	padding: 2px 10px 2px 8px;
	border-radius: 999px;
	background: var(--lcr-slow);
	font-weight: 700;
	line-height: 1.4;
	color: #fff !important;
	white-space: nowrap;
}

#lcr-sum .lcr-sum__icon {
	display: block;
	flex: none;
	width: 16px;
	height: 16px;
	color: #fff;
}

/* Kolory opcji (ciemniejsze odcienie – czytelne na białym tle). */
#lcr-sum .lcr-sum__tier--standard   { background: var(--lcr-accent); }  /* kolor ramki kafelka „Powoli” */
#lcr-sum .lcr-sum__tier--szybki     { background: var(--lcr-fast); }    /* ciepły żółty */
#lcr-sum .lcr-sum__tier--najszybszy { background: var(--lcr-fastest); } /* ciepły zielony */

#lcr-sum .lcr-sum__sep {
	height: 1px;
	background: var(--lcr-border);
}

#lcr-sum .lcr-sum__row--total {
	font-size: 15px;
	font-weight: 700;
	color: var(--lcr-text);
}

#lcr-sum .lcr-sum__total {
	flex: none;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
	color: #000;
	white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/* Podgląd linku                                                       */
/* ------------------------------------------------------------------ */

.lcr-pv {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
	font-weight: 400;
}

.lcr-pv__card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--lcr-line);
	border-radius: 8px;
	background: #F7F8FB;
}

.lcr-pv__top {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}

.lcr-pv .lcr-pv__thumb {
	flex: none;
	display: block;
	width: 56px !important;
	height: 56px !important;
	max-width: none;
	margin: 0 !important;
	border-radius: 6px;
	object-fit: cover;
	background: var(--lcr-line);
}

.lcr-pv .lcr-pv__thumb--round {
	border-radius: 50%;
}

.lcr-pv__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.lcr-pv__title {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--lcr-text);
}

.lcr-pv__author {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	line-height: 1.4;
	color: var(--lcr-muted);
}

.lcr-pv__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin-top: 4px;
}

.lcr-pv__stat {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--lcr-muted);
	white-space: nowrap;
}

.lcr-pv__icon {
	display: inline-flex;
}

.lcr-pv .lcr-pv__locked {
	white-space: normal;
	margin-top: 4px;
	align-items: flex-start;
	font-style: italic;
}

.lcr-pv .lcr-pv__locked .lcr-pv__icon {
	margin-top: 2px;
	font-style: normal;
}

.lcr-pv__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 12px;
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--lcr-muted);
}

.lcr-pv .lcr-pv__link {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 12px;
	font-weight: 600;
	color: var(--lcr-accent-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.lcr-pv .lcr-pv__link:hover {
	color: #9E1139;
}

.lcr-pv .lcr-pv__link:focus-visible,
.lcr-pv .lcr-pv__change:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--lcr-label) !important;
	border-radius: 4px;
}

.lcr-pv__actions {
	display: flex;
	gap: 8px;
}

.lcr-pv .lcr-pv__actions .lcr-pv__btn {
	flex: 1 1 0;
	min-width: 0;
	justify-content: center;
}

.lcr-pv .lcr-pv__show svg {
	color: var(--lcr-accent-dark);
}

.lcr-pv .lcr-pv__show[aria-expanded="true"] {
	border-color: var(--lcr-accent);
	background: var(--lcr-accent-soft);
}

.lcr-pv .lcr-pv__btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 34px;
	min-width: 92px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--lcr-border);
	border-radius: 6px;
	background: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: var(--lcr-label);
	text-decoration: none !important;
	box-sizing: border-box;
	cursor: pointer;
}

.lcr-pv .lcr-pv__btn:hover {
	border-color: var(--lcr-accent);
	color: var(--lcr-accent-dark);
}

.lcr-pv .lcr-pv__open svg {
	color: var(--lcr-accent-dark);
}

.lcr-pv .lcr-pv__x {
	color: #D92D20;
}

.lcr-pv .lcr-pv__btn:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--lcr-label) !important;
}

.lcr-pv__embed {
	overflow: hidden;
	border: 1px solid var(--lcr-line);
	border-radius: 8px;
	background: #fff;
}

.lcr-pv__embed iframe {
	display: block;
	width: 100%;
	height: 560px;
	border: 0;
}

.lcr-pv__embed--youtube iframe {
	height: auto;
	aspect-ratio: 16 / 9;
}

.lcr-pv__embed--tiktok iframe {
	height: 600px;
}

.lcr-pv__embed--facebook iframe {
	height: 520px;
}

.lcr-pv__loading {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border: 1px solid var(--lcr-line);
	border-radius: 8px;
	background: #F7F8FB;
	font-size: 13px;
	color: var(--lcr-muted);
}

.lcr-pv__spin {
	flex: none;
	width: 14px;
	height: 14px;
	border: 2px solid var(--lcr-border);
	border-top-color: var(--lcr-accent);
	border-radius: 50%;
	animation: lcr-spin .8s linear infinite;
}

@keyframes lcr-spin {
	to { transform: rotate(360deg); }
}

.lcr-pv__error {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--lcr-accent-dark);
}

.lcr-pv__photo-opt summary {
	cursor: pointer;
	font-weight: 600;
}

.lcr-pv__photo-opt .lcr-pv__steps {
	margin: 6px 0 0 18px;
}

.lcr-pv__photo-ok .lcr-pv__link {
	margin-top: 4px;
}

.lcr-pv__photo-ok p {
	margin: 0;
}

.lcr-pv__card-info {
	margin: 0;
}

.lcr-pv__info {
	padding: 8px 12px;
	border-radius: 6px;
	background: #EAF2FF;
	font-size: 13px;
	line-height: 1.45;
	color: #1D3E7A;
}

.lcr-pv__error-box {
	padding: 8px 12px;
	border-radius: 6px;
	background: #FDECEF;
	font-size: 13px;
	line-height: 1.45;
	color: #9E1139;
}

/* „Jak skopiować właściwy link?” */
.lcr-pv__help {
	padding: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--lcr-label);
}

.lcr-pv__help summary {
	display: list-item;
	cursor: pointer;
	font-weight: 600;
	color: var(--lcr-accent-dark);
}

.lcr-pv__help summary:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--lcr-label) !important;
	border-radius: 4px;
}

.lcr-pv__help ol {
	margin: 6px 0 0;
	padding-left: 20px;
}

.lcr-pv__help li {
	margin: 0 0 4px;
}

/* Przycisk „Wklej” w polu linku */
.lcr-paste-wrap {
	position: relative;
	display: block;
}

.lcr-paste-wrap input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding-right: 84px !important;
}

.lcr-paste-wrap--off input {
	padding-right: 12px !important;
}

.lcr-paste-wrap .lcr-paste {
	position: absolute;
	top: 5px;
	bottom: 5px;
	right: 5px;
	height: auto;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--lcr-border);
	border-radius: 6px;
	background: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: var(--lcr-label);
	cursor: pointer;
}

.lcr-paste-wrap .lcr-paste:hover {
	border-color: var(--lcr-accent);
	color: var(--lcr-accent-dark);
}

.lcr-paste-wrap .lcr-paste:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--lcr-label) !important;
}

.lcr-pv__warn {
	padding: 8px 12px;
	border-radius: 6px;
	background: #FFF4E0;
	font-size: 13px;
	line-height: 1.45;
	color: #7A4B00;
}

.lcr-pv .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/* Stan pola linku, „po realizacji”, duplikat, profil niewidoczny      */
/* ------------------------------------------------------------------ */

html body form.cart input.lcr-field--ok,
html body #custom-field-link.lcr-field--ok,
html body #custom-field-link.lcr-field--ok:focus {
	border-color: #2E9E5B !important;
	box-shadow: 0 0 0 1px #2E9E5B !important;
}

html body form.cart input.lcr-field--bad,
html body #custom-field-link.lcr-field--bad,
html body #custom-field-link.lcr-field--bad:focus {
	border-color: #D92D20 !important;
	box-shadow: 0 0 0 1px #D92D20 !important;
}

.lcr-pv .lcr-pv__after {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: #2E7D4F;
}

.lcr-pv .lcr-pv__after[hidden] {
	display: none !important;
}

.lcr-pv .lcr-pv__box-title {
	margin: 0 0 6px;
	font-weight: 600;
}

.lcr-pv .lcr-pv__steps {
	margin: 0;
	padding-left: 20px;
}

.lcr-pv .lcr-pv__steps li {
	margin: 0 0 3px;
}

.lcr-pv .lcr-pv__box-note {
	margin: 6px 0 0;
	font-weight: 600;
}

.lcr-pv .lcr-pv__dup p {
	margin: 0 0 8px;
}

.lcr-pv .lcr-pv__dup-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lcr-pv .lcr-pv__dup-btn {
	flex: 1 1 180px;
	justify-content: center;
	min-height: 38px;
	text-align: center;
	line-height: 1.25;
}

/* ------------------------------------------------------------------ */
/* Wybór komentarza (polubienia komentarza)                            */
/* ------------------------------------------------------------------ */

#lcr-sum .lcr-sum__row[hidden] {
	display: none !important;
}

.lcr-pv .lcr-cm {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 14px;
	border: 1px solid var(--lcr-line);
	border-radius: 8px;
	background: #fff;
}

.lcr-pv .lcr-cm__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 2px 12px;
}

.lcr-pv .lcr-cm__title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--lcr-text);
}

.lcr-pv .lcr-cm__count {
	font-size: 12px;
	color: var(--lcr-muted);
}

.lcr-pv .lcr-cm__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.lcr-pv .lcr-cm__loading {
	padding: 10px 12px;
}

.lcr-pv .lcr-cm__info,
.lcr-pv .lcr-cm__empty {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--lcr-muted);
}

.lcr-pv .lcr-cm__error {
	margin: 0;
	padding: 8px 12px;
	border-radius: 6px;
	background: #FDECEF;
	font-size: 13px;
	line-height: 1.45;
	color: #9E1139;
}

.lcr-pv .lcr-cm__error[hidden] {
	display: none !important;
}

.lcr-pv .lcr-cm__search {
	display: block;
	width: 100% !important;
	min-height: 38px;
	margin: 0 !important;
	padding: 7px 12px !important;
	border: 1px solid var(--lcr-border) !important;
	border-radius: 6px !important;
	background: #fff !important;
	font: inherit;
	font-size: 14px !important;
	box-sizing: border-box;
}

.lcr-pv .lcr-cm__list {
	display: flex;
	flex-direction: column;
	max-height: 320px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 1px solid var(--lcr-line);
	border-radius: 6px;
	scrollbar-width: thin;
}

.lcr-pv .lcr-cm__item {
	flex: none;
	display: flex !important;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	min-height: 0;
	margin: 0 !important;
	padding: 9px 12px !important;
	border: 0 !important;
	border-top: 1px solid var(--lcr-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	font: inherit;
	font-weight: 400 !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--lcr-text) !important;
	cursor: pointer;
}

.lcr-pv .lcr-cm__item:first-child {
	border-top: 0 !important;
}

.lcr-pv .lcr-cm__item:hover {
	background: #F7F8FB !important;
}

.lcr-pv .lcr-cm__item:focus-visible {
	position: relative;
	outline: 2px solid var(--lcr-label);
	outline-offset: -2px;
}

.lcr-pv .lcr-cm__item[aria-selected="true"] {
	background: var(--lcr-accent-soft) !important;
	box-shadow: inset 3px 0 0 var(--lcr-accent) !important;
}

.lcr-pv .lcr-cm__main {
	flex: 1;
	min-width: 0;
	display: block; /* nie flex – inaczej przycinanie treści do 2 linii nie działa */
}

.lcr-pv .lcr-cm__author {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--lcr-text);
}

.lcr-pv .lcr-cm__text {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 13px;
	line-height: 1.4;
	color: var(--lcr-label);
	overflow-wrap: anywhere;
}

.lcr-pv .lcr-cm__likes {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding-top: 1px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--lcr-muted);
	white-space: nowrap;
}

.lcr-pv .lcr-cm__likes svg {
	width: 14px;
	height: 14px;
}

.lcr-pv .lcr-cm__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 14px;
}

.lcr-pv .lcr-cm__more {
	justify-content: center;
}

.lcr-pv .lcr-cm__more:disabled {
	opacity: .6;
	cursor: wait;
}

.lcr-pv .lcr-cm__picked {
	display: block;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--lcr-accent-soft);
	box-shadow: inset 3px 0 0 var(--lcr-accent);
}

.lcr-pv .lcr-cm__picked .lcr-cm__text {
	-webkit-line-clamp: 4;
	margin-top: 2px;
}

.lcr-pv .lcr-cm__picked .lcr-cm__likes {
	display: flex;
	margin-top: 4px;
}

.lcr-pv .lcr-cm__picked-label {
	display: block;
	margin-bottom: 2px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--lcr-accent-dark);
}

.lcr-pv .lcr-cm__again {
	margin-top: 6px !important;
}

.lcr-pv .lcr-cm__note {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lcr-pv .lcr-cm__note-label {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--lcr-label) !important;
}

.lcr-pv .lcr-cm__note textarea {
	display: block;
	width: 100% !important;
	min-height: 60px;
	margin: 0 !important;
	padding: 8px 12px !important;
	border: 1px solid var(--lcr-border) !important;
	border-radius: 6px !important;
	background: #fff !important;
	font: inherit;
	font-size: 14px !important;
	line-height: 1.4;
	resize: vertical;
	box-sizing: border-box;
}

@media (max-width: 420px) {
	.lcr-pv .lcr-cm { padding: 12px; }
	.lcr-pv .lcr-cm__list { max-height: 280px; }
	.lcr-pv .lcr-cm__item { min-height: 48px; }
	.lcr-pv .lcr-cm__more { width: 100%; }
}

/* ------------------------------------------------------------------ */
/* Koszyk: długi link przewijany w poziomie, pasek tuż pod linkiem     */
/* ------------------------------------------------------------------ */

.lajki-cart-form .product-link:not(.product-variant),
.woocommerce-cart-form .product-link:not(.product-variant) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	padding-bottom: 4px;
	scrollbar-width: thin;
	scrollbar-color: #C9CDDA transparent;
	-webkit-overflow-scrolling: touch;
}

.lajki-cart-form .product-link:not(.product-variant)::-webkit-scrollbar,
.woocommerce-cart-form .product-link:not(.product-variant)::-webkit-scrollbar {
	height: 6px;
}

.lajki-cart-form .product-link:not(.product-variant)::-webkit-scrollbar-thumb,
.woocommerce-cart-form .product-link:not(.product-variant)::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background: #C9CDDA;
}

.lajki-cart-form .product,
.woocommerce-cart-form .product {
	min-width: 0;
}

/* ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	.lcr-pv__spin { animation-duration: 2s; }
	#lcr-tiers .lcr-tile { transition: none; }
}

@media (max-width: 420px) {
	#lcr-tiers .lcr__grid { gap: 8px; }
	#lcr-tiers .lcr-tile { min-height: 80px; padding: 10px !important; }
	#lcr-tiers .lcr-tile__name { font-size: 14px !important; }
	#lcr-tiers .lcr-tile__price { font-size: 12px !important; }
	.lcr-pv__card { padding: 12px; }
	.lcr-pv .lcr-pv__btn { min-height: 40px; }
	#lcr-sum { padding: 14px 16px; }
	#lcr-sum .lcr-sum__total { font-size: 24px; }
}

/* Kasa: motyw ukrywa dl.variation w podsumowaniu zamówienia (main.purged.css), a w nim są czas realizacji
   i stan przed realizacją. Pokazujemy je w tym samym stylu co linie „Link: …” motywu. */
body.woocommerce-checkout #order_review .cart_item dl.variation {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #55525C !important;
}
body.woocommerce-checkout #order_review .cart_item dl.variation dt,
body.woocommerce-checkout #order_review .cart_item dl.variation dd,
body.woocommerce-checkout #order_review .cart_item dl.variation dd p {
	display: inline !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font: inherit !important;
	color: inherit !important;
}
body.woocommerce-checkout #order_review .cart_item dl.variation dd::after {
	content: "";
	display: block;
}

/* ------------------------------------------------------------------ */
/* Galeria w poście: zdjęcie / komentarz / reakcja (konkursy)          */
/* ------------------------------------------------------------------ */

.lcr-tg {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--lcr-line, #E3E6EE);
	border-radius: 8px;
	background: #fff;
}

.lcr-tg__title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.lcr-tg__opts {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lcr-tg__opt {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--lcr-line, #E3E6EE);
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	line-height: 1.35;
}

.lcr-tg__opt:has(input:checked) {
	border-color: var(--lcr-accent);
	background: var(--lcr-accent-soft);
}

.lcr-tg__opt input {
	margin: 2px 0 0 !important;
	flex: none;
}

.lcr-tg__opt-text {
	display: flex;
	flex-direction: column;
}

.lcr-tg__opt-text small {
	color: #6B7280;
	font-size: 12px;
}

.lcr-tg__area:empty {
	display: none;
}

.lcr-tg__area {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lcr-tg__hint {
	margin: 0;
	font-size: 13px;
}

.lcr-tg__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 8px;
}

.lcr-tg__ph {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 4px;
	border: 2px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	background: #F7F8FB;
}

.lcr-tg__ph.is-selected {
	border-color: var(--lcr-accent);
	background: var(--lcr-accent-soft);
}

.lcr-tg__ph img,
.lcr-tg__ph-empty {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1;
	object-fit: cover;
	margin: 0 !important;
	border-radius: 5px;
}

.lcr-tg__ph-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E3E6EE;
	color: #6B7280;
	font-size: 12px;
}

.lcr-tg__ph-meta {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: #4B5563;
}

.lcr-tg__ph-meta input,
.lcr-tg__rx input {
	margin: 0 !important;
}

.lcr-tg__rx-row {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr)); /* wszystkie reakcje w jednej linii, jak na Facebooku */
	gap: 4px;
}

.lcr-tg__rx {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 0;
	padding: 6px 2px;
	border: 1px solid var(--lcr-line, #E3E6EE);
	border-radius: 8px;
	cursor: pointer;
	text-align: center;
}

.lcr-tg__rx.is-selected {
	border-color: var(--lcr-accent);
	background: var(--lcr-accent-soft);
}

.lcr-tg__emoji {
	font-size: 31px;
	line-height: 1;
}

@media (max-width: 380px) {
	.lcr-tg__emoji {
		font-size: 25px;
	}

	.lcr-tg__rx-name {
		display: none; /* na wąskim telefonie same emoji – nazwa w podpowiedzi (title) */
	}
}

.lcr-tg__rx-name {
	font-size: 10px;
	line-height: 1.2;
	color: #4B5563;
}

.lcr-tg .lcr-cm {
	margin: 0;
}

/* ------------------------------------------------------------------ */
/* Wyświetlenia YouTube: film pod reklamę Google Ads                   */
/* ------------------------------------------------------------------ */

.lcr-ads {
	padding: 10px 12px;
	border: 1px solid var(--lcr-line, #E3E6EE);
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	line-height: 1.45;
}

.lcr-ads.is-bad {
	border-color: #F3B6C2;
	background: #FDECEF;
}

.lcr-ads__title {
	margin: 0 0 6px;
	font-weight: 600;
}

.lcr-ads__list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lcr-ads__row {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0 !important;
}

.lcr-ads__icon {
	flex: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	color: #fff;
	background: #9CA3AF;
}

.lcr-ads__row--ok .lcr-ads__icon { background: #5A9E2F; }
.lcr-ads__row--bad .lcr-ads__icon { background: #D63638; }
.lcr-ads__row--warn .lcr-ads__icon { background: #DB9200; }
.lcr-ads__row--manual .lcr-ads__icon { background: #6B7280; }

.lcr-ads__text {
	display: flex;
	flex-direction: column;
}

.lcr-ads__text span {
	color: #4B5563;
	font-size: 12px;
}

.lcr-ads__confirm {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--lcr-line, #E3E6EE);
	font-size: 12px;
	cursor: pointer;
}

.lcr-ads__confirm input {
	margin: 2px 0 0 !important;
	flex: none;
}

/* ------------------------------------------------------------------ */
/* Motyw stylizuje <label> i pola wyboru w formularzu produktu        */
/* (display:block, wyśrodkowanie, odstępy) – tu wymuszamy własny układ */
/* ------------------------------------------------------------------ */

#lcr-tg label,
#lcr-ads label {
	margin: 0 !important;
	text-align: left !important;
	font-weight: 400;
}

#lcr-tg .lcr-tg__opt {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 10px !important;
	padding: 10px 12px !important;
}

#lcr-tg input[type="radio"],
#lcr-ads input[type="checkbox"] {
	display: inline-block !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	flex: none !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px;
	margin: 1px 0 0 !important;
	padding: 0 !important;
	-webkit-appearance: auto !important;
	appearance: auto !important;
	accent-color: var(--lcr-accent);
	cursor: pointer;
}

#lcr-tg .lcr-tg__rx {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	padding: 6px 2px !important;
}

#lcr-tg .lcr-tg__rx input[type="radio"] {
	margin: 0 !important;
}

#lcr-tg .lcr-tg__ph {
	display: flex !important;
	flex-direction: column !important;
	padding: 4px !important;
}

#lcr-tg .lcr-tg__ph-meta input[type="radio"] {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px;
	margin: 0 !important;
}

#lcr-tg .lcr-tg__embed {
	border: 1px solid var(--lcr-line);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

#lcr-tg .lcr-tg__embed iframe {
	display: block;
	width: 100% !important;
	height: 520px;
	border: 0;
}

#lcr-tg .lcr-tg__paste {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
}

#lcr-tg .lcr-tg__paste input {
	width: 100% !important;
	box-sizing: border-box;
	font-weight: 400;
}

/* Potwierdzenie (YouTube / Google Ads): duże pole wyboru po lewej, tekst obok. */
#lcr-ads .lcr-ads__confirm {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin-top: 10px !important;
	padding: 10px 0 0 !important;
	font-size: 13px;
	line-height: 1.45;
}

#lcr-ads .lcr-ads__confirm input[type="checkbox"] {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px;
	margin: 0 !important;
}

.lcr-tg__rx-count {
	font-size: 10px;
	font-weight: 600;
	color: #6B7280;
}

/* ------------------------------------------------------------------ */
/* Podsumowanie ceny: wybrana ilość pod „Cena pakietu”, znak zapytania  */
/* ------------------------------------------------------------------ */

#lcr-sum .lcr-sum__pkg {
	display: block;
	margin-top: 1px;
	font-size: 12px;
	line-height: 1.35;
	color: #6B7280;
}

#lcr-sum .lcr-sum__pkg:empty {
	display: none;
}

.lcr-help {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 17px !important;
	height: 17px !important;
	min-width: 17px;
	margin: 0 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #9CA3AF !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 700;
	line-height: 1 !important;
	vertical-align: 1px;
	cursor: help;
	box-shadow: none !important;
}

.lcr-help::after {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 50;
	width: 240px;
	max-width: 70vw;
	transform: translateX(-50%);
	padding: 8px 10px;
	border-radius: 6px;
	background: #1F2937;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	text-align: left;
	white-space: normal;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .15s;
}

.lcr-help:hover::after,
.lcr-help:focus-visible::after,
.lcr-help.is-open::after {
	opacity: 1;
	visibility: visible;
}

.lcr-help:hover,
.lcr-help.is-open {
	background: var(--lcr-accent) !important;
}

/* Wybór ilości (wariant): więcej widocznego tekstu – mały prawy odstęp w polu.
   Miejsce na ikonę motywu po lewej daje wcięcie tekstu (text-indent), a nie lewy padding – Chrome przesuwa
   rozwiniętą listę o lewy padding pola, przez co nazwy wariantów uciekały w prawo i były ucięte. */
form.cart select[name^="attribute_"],
form.cart table.variations select {
	padding-right: 2px !important;
	text-overflow: ellipsis;
}

/* Tylko Chrome/Edge na komputerze (klasa z opcje-dodatkowe.js) – Firefox i telefony mają własną listę
   i z wcięciem przesuwały wybrany wariant w prawo. */
.lcr-cr-desktop form.cart select[name^="attribute_"],
.lcr-cr-desktop form.cart table.variations select {
	padding-left: 8px !important;
	text-indent: 46px;
}

.lcr-cr-desktop form.cart select[name^="attribute_"] option,
.lcr-cr-desktop form.cart table.variations select option {
	text-indent: 0;
}

/* Galeria: „Pokaż więcej zdjęć” i „Nie ma zdjęcia na liście”. */
#lcr-tg .lcr-tg__more {
	align-self: flex-start;
}

#lcr-tg .lcr-tg__nolist {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

#lcr-tg .lcr-tg__nolist input[type="checkbox"] {
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px;
	margin: 0 !important;
	-webkit-appearance: auto !important;
	appearance: auto !important;
	accent-color: var(--lcr-accent);
}

#lcr-tg .lcr-tg__note textarea {
	font-family: inherit !important;
	width: 100% !important;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.45;
}

/* Konkurs na wybraną reakcję: większe emoji, nazwa wyśrodkowana tuż nad licznikiem, licznik przy dolnej krawędzi. */
#lcr-tg .lcr-tg__rx {
	gap: 5px;
}

#lcr-tg .lcr-tg__rx-foot {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 1px;
	width: 100%;
	margin-top: auto;
}

#lcr-tg .lcr-tg__rx-name {
	display: block;
	width: 100%;
	margin: 0 !important;
	text-align: center !important;
	line-height: 1.15;
}

#lcr-tg .lcr-tg__rx-count {
	display: block;
	margin: 0 !important;
	text-align: center !important;
	line-height: 1.2;
}

@media (max-width: 380px) {
	#lcr-tg .lcr-tg__rx-name {
		display: none; /* na wąskim telefonie same emoji i licznik */
	}
}

.lcr-tg__rx-note,
#lcr-tg .lcr-tg__rx-note {
	margin: 6px 0 0 !important;
	font-size: 11px;
	line-height: 1.3;
	color: #6B7280;
	text-align: center;
}

/* Zdjęcie w komentarzu (często komentarz to samo zdjęcie): miniatura na liście i przy wybranym komentarzu. */
.lcr-pv .lcr-cm__img {
	flex: none;
	width: 56px;
	height: 56px;
	margin: 0 !important;
	border-radius: 6px;
	object-fit: cover;
	background: #EEF0F5;
}

.lcr-pv .lcr-cm__img--big {
	display: block;
	width: 120px;
	height: 120px;
	margin: 6px 0 !important;
}

.lcr-pv .lcr-cm__item--img {
	align-items: center;
}

/* Instagram: wybór posta z profilu (siatka miniatur pod podglądem profilu). */
.lcr-pv .lcr-igp {
	margin-top: 10px;
	padding: 12px;
	border: 1px solid var(--lcr-line, #E3E6EE);
	border-radius: 10px;
	background: #fff;
}

.lcr-pv .lcr-igp__title {
	margin: 0 0 2px !important;
	font-weight: 600;
	font-size: 15px;
}

.lcr-pv .lcr-igp__hint,
.lcr-pv .lcr-igp__note {
	margin: 0 0 10px !important;
	font-size: 12px;
	color: #6B7280;
}

.lcr-pv .lcr-igp__note {
	margin: 10px 0 0 !important;
}

.lcr-pv .lcr-igp__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}

.lcr-pv .lcr-igp__item {
	position: relative;
	display: block !important;
	aspect-ratio: 1 / 1;
	width: 100%;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: 2px solid transparent !important;
	border-radius: 8px !important;
	background: #EEF0F5 !important;
	box-shadow: none !important;
	cursor: pointer;
}

.lcr-pv .lcr-igp__item:hover,
.lcr-pv .lcr-igp__item:focus-visible {
	border-color: var(--lcr-accent) !important;
	outline: 0;
}

.lcr-pv .lcr-igp__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lcr-pv .lcr-igp__type {
	position: absolute;
	top: 4px;
	right: 6px;
	color: #fff;
	font-size: 13px;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

.lcr-pv .lcr-igp__likes {
	position: absolute;
	left: 4px;
	bottom: 4px;
	padding: 1px 5px;
	border-radius: 4px;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 11px;
	line-height: 1.4;
}

.lcr-pv .lcr-igp__more {
	width: 100%;
	margin-top: 10px !important;
}

.lcr-pv .lcr-igp__back {
	display: inline-block;
	margin-top: 8px;
}

/* Pobieranie podglądu: pasek postępu (pojawia się przy dłuższym czekaniu). */
.lcr-pv .lcr-pv__loading {
	flex-wrap: wrap;
}

.lcr-pv .lcr-pv__bar {
	display: none;
	flex-basis: 100%;
	height: 3px;
	margin-top: 8px;
	overflow: hidden;
	border-radius: 2px;
	background: var(--lcr-line, #E3E6EE);
}

.lcr-pv .lcr-pv__loading.is-slow .lcr-pv__bar {
	display: block;
}

.lcr-pv .lcr-pv__bar-fill {
	display: block;
	width: 35%;
	height: 100%;
	border-radius: 2px;
	background: var(--lcr-accent, #E91E63);
	animation: lcr-bar 1.4s ease-in-out infinite;
}

@keyframes lcr-bar {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(300%); }
}

@media (prefers-reduced-motion: reduce) {
	.lcr-pv .lcr-pv__bar-fill { animation: none; width: 100%; opacity: .5; }
}

/* Brak danych z serwisu – neutralna informacja w karcie. */
.lcr-pv .lcr-pv__nodata {
	background: #F3F4F6;
	color: #374151;
}

/* Głosy w ankiecie (Facebook): opcje do zaznaczenia */
.lcr-pv .lcr-poll__q {
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--lcr-text);
}

.lcr-pv .lcr-poll .lcr-tg__opts {
	max-height: 360px;
	overflow-y: auto;
}

.lcr-pv .lcr-poll__note {
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--lcr-muted);
}

/* Facebook: pytanie o zdjęcie profilowe / w tle */
.lcr-pv .lcr-pp__opts {
	flex-direction: row;
	flex-wrap: wrap;
}

.lcr-pv .lcr-pp__opts .lcr-tg__opt {
	flex: 1 1 200px;
}
