/*
 * Karta produktu „DzieciecaWyspa” (projekt 2026-11-09). Ładowana tylko przy włączonym projekcie
 * (body.dw-card-dw). Kolory i rozmiary ze zmiennych panelu Wygląd sklepu (--dw-*), z wartościami zapasowymi.
 * Telefon = (max-width: 689px), jak w Blocksy. Klasy ustawień: dw-<nazwa>-<wartość> (komputer), dw-<nazwa>-m-<wartość> (telefon).
 */

/* ---------- karta ---------- */
.dw-card-dw [data-products] .product {
	font-family: var(--dw-card-font, inherit);
	--horizontal-alignment: flex-start;
	--text-horizontal-alignment: start;
	text-align: left;
	align-items: stretch;
}
.dw-card-dw [data-products] .product > * { text-align: left; }

/* obwódka po najechaniu / dotknięciu (właściciel) - warstwa NAD kartą, wewnątrz jej krawędzi:
   karta ma overflow:hidden, a kontener overflow:clip, więc obwódka na zewnątrz była ucinana (skrajna lewa karta),
   a obwódka do środka była zasłaniana przez zdjęcie. Kliknięcia przechodzą (pointer-events: none). */
.dw-card-dw [data-products] .product { position: relative; }
.dw-card-dw [data-products] .product::after {
	content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none;
	border-radius: inherit; border: 0 solid var(--dw-btn, #a32f7b); transition: border-width .12s ease;
}
.dw-card-dw.dw-hover-1 [data-products] .product:is(:hover, :focus-within)::after { border-width: 1px; }
.dw-card-dw.dw-hover-2 [data-products] .product:is(:hover, :focus-within)::after { border-width: 2px; }

/* ---------- nazwa i podtytuł ---------- */
.dw-card-dw .dw-card-head { display: flex; flex-direction: column; gap: 2px; width: 100%; margin: 0 0 8px; }
.dw-card-dw [data-products] .product .dw-card-title { margin: 0 !important; min-height: 0 !important; line-height: 1.2; font-weight: 700 !important; color: var(--theme-headings-color, #212121) !important; -webkit-line-clamp: 2 !important; font-family: var(--dw-card-font, var(--theme-font-family)) !important; letter-spacing: -.005em; }
.dw-card-dw .dw-card-title a { color: inherit !important; text-decoration: none; }
.dw-card-dw .dw-card-sub { margin: 0; font-size: 14px; line-height: 1.35; color: #6b6f76; }

/* ---------- opis ---------- */
.dw-card-dw .dw-card-teaser {
	margin: 2px 0 16px; width: 100%;
	font-size: 13.5px; line-height: 1.45; color: var(--theme-text-color, #363636);
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}


/* ---------- cena | kolory ---------- */
/* jak w projekcie: cena | kreska | kolory - kreska mniej więcej na środku */
.dw-card-dw .dw-card-pc { display: grid; grid-template-columns: minmax(0, 1.15fr) 1px minmax(0, 1fr); align-items: center; column-gap: 16px; width: 100%; margin: 0 0 18px; }
.dw-card-dw .dw-card-pc--solo { grid-template-columns: minmax(0, 1fr); }
.dw-card-dw .dw-card-price { min-width: 0; }
.dw-card-dw [data-products] .dw-card-price .price {
	display: flex; flex-direction: column; align-items: flex-start; margin: 0;
	font-size: var(--dw-card-price-size, 24px); line-height: 1.1; font-weight: 800;
}
/* FOX opakowuje cenę: .price > .woocs_price_code > .sale-price > del + ins */
.dw-card-dw [data-products] .dw-card-price .price .woocs_price_code,
.dw-card-dw [data-products] .dw-card-price .price .sale-price { display: flex; flex-direction: column; align-items: flex-start; }
.dw-card-dw [data-products] .dw-card-price .price ins { order: -1; text-decoration: none; font-weight: 800; }
.dw-card-dw [data-products] .dw-card-price .price .woocommerce-Price-amount,
.dw-card-dw [data-products] .dw-card-price .price ins .woocommerce-Price-amount { color: var(--dw-card-price-color, var(--dw-accent, #a32f7b)) !important; white-space: nowrap; }
.dw-card-dw [data-products] .dw-card-price .price del { order: 0; font-size: .6em; font-weight: 600; opacity: 1; margin-top: 2px; }
.dw-card-dw [data-products] .dw-card-price .price del .woocommerce-Price-amount { color: #8a8f98 !important; }
/* linia Omnibus pod przyciskami (właściciel) - zawsze na końcu karty */
.dw-card-dw [data-products] .product > .dw-card-omnibus { order: 99; width: 100%; min-height: 19px; margin: 10px 0 0 !important; text-align: center; }
/* telefon: jedna kolumna - pusta linia niepotrzebna */
@media (max-width: 689px) { .dw-card-dw [data-products] .product > .dw-card-omnibus--empty { display: none; } }
.dw-card-dw [data-products] .dw-card-omnibus .dw-omnibus { display: block; font-size: 12px; line-height: 1.4; font-weight: 400; color: #555; }
.dw-card-dw .dw-card-sep { width: 1px; align-self: stretch; min-height: 44px; background: #d9dbe0; }
.dw-card-dw .dw-card-colors { display: flex; flex-direction: column; align-items: center; line-height: 1.15; text-align: center; }
.dw-card-dw .dw-card-colors__lbl { font-size: 13px; color: var(--theme-text-color, #363636); }
.dw-card-dw .dw-card-colors__n { font-size: 19px; font-weight: 800; color: var(--theme-headings-color, #212121); white-space: nowrap; }
/* bez pogrubienia: oba napisy zwykłe (ustawienie w panelu) */
.dw-card-dw.dw-colorsbold-0 .dw-card-colors__n { font-weight: 400; }
/* liczba kolorów: tekst obok ceny ALBO trójkąt na zdjęciu */
.dw-card-dw:not(.dw-colors-0) [data-products] .dw-color-badge { display: none !important; }
.dw-card-dw.dw-colors-0 .dw-card-colors,
.dw-card-dw.dw-colors-0 .dw-card-sep { display: none; }

/* ---------- przyciski ---------- */
.dw-card-dw .dw-card-btns { display: flex; gap: 10px; width: 100%; margin-top: auto; container-type: inline-size; }
/* wąska karta (np. 3 kolumny na komputerze): dwa pełne napisy, bez ikon */
.dw-card-dw .dw-card-btn .dw-s { display: none; }
/* wąska karta (np. 3 kolumny na komputerze): krótkie napisy z ikonami */
@container (max-width: 300px) {
	.dw-card-dw .dw-card-btn .dw-l { display: none; }
	.dw-card-dw .dw-card-btn .dw-s { display: inline; }
	.dw-card-dw .dw-card-btn { padding: 0 8px; gap: 6px; }
}
/* bardzo wąska (telefon 320 px): krótkie napisy bez ikon */
@container (max-width: 240px) {
	.dw-card-dw .dw-card-btn svg { display: none; }
}
/* karta „pudełko”: wewnętrzny margines 16 px jak w projekcie (więcej miejsca na przyciski) */
.dw-card-dw [data-products="type-2"] .product { padding-left: 16px; padding-right: 16px; }
.dw-card-dw .dw-card-btns { gap: 8px; }
.dw-card-dw .dw-card-btn {
	flex: 1 1 auto; min-width: 0; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 46px; padding: 0 12px; border-radius: 999px;
	font-family: var(--dw-card-font, var(--theme-font-family)); font-size: 15px; font-weight: 600; line-height: 1.1; white-space: nowrap;
	text-decoration: none !important; transition: background-color .15s, box-shadow .15s, color .15s;
}
.dw-card-dw .dw-card-btn span { overflow: hidden; text-overflow: ellipsis; }
.dw-card-dw .dw-card-btn svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dw-card-dw .dw-card-btn--desc {
	background: #fff; color: var(--dw-accent, #a32f7b) !important;
	border: 2px solid var(--dw-accent, #a32f7b);
}
.dw-card-dw .dw-card-btn--desc:hover { background: color-mix(in srgb, var(--dw-accent, #a32f7b) 8%, #fff); }
.dw-card-dw .dw-card-btn--cart {
	background-color: var(--dw-btn, #a32f7b); background-image: var(--dw-btn-gradient, none);
	color: var(--dw-btn-text, #fff) !important; border: 0;
	box-shadow: 0 6px 14px color-mix(in srgb, var(--dw-btn, #a32f7b) 30%, transparent);
}
.dw-card-dw .dw-card-btn--cart:hover { background-color: var(--dw-btn-hover, #85255f); background-image: none; }



/* ---------- na zdjęciu: PROMOCJA i serduszko ---------- */
.dw-card-dw.dw-salepill-1 ul.products li.product .onsale,
.dw-card-dw.dw-salepill-1 [data-products] .product .onsale[data-shape] {
	display: block !important;
	top: 14px !important; left: 14px !important; right: auto !important;
	width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important;
	padding: 9px 20px !important; border-radius: 999px !important; clip-path: none !important;
	background-color: var(--dw-accent, #a32f7b) !important; background-image: var(--dw-btn-gradient, none) !important;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--dw-accent, #a32f7b) 35%, transparent) !important;
	font-size: 0 !important; line-height: 1 !important; z-index: 2;
}
.dw-card-dw.dw-salepill-1 [data-products] .product .onsale .dw-sale-txt {
	position: static !important; transform: none !important; display: block;
	font-size: 14px; letter-spacing: .04em; font-weight: 600; color: #fff; font-family: var(--dw-card-font, var(--theme-font-family));
}
.dw-card-dw [data-products] .product figure > .ct-woo-card-extra .ct-wishlist-button-archive {
	--theme-button-min-height: 44px;
	width: 44px !important; height: 44px !important; min-height: 44px !important; padding: 0 !important;
	border-radius: 50% !important; background: #fff !important; border: 0 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .14) !important; color: var(--dw-accent, #a32f7b) !important;
	--theme-icon-color: var(--dw-accent, #a32f7b); --theme-icon-size: 20px;
}


/* ---------- ustawienia: komputer (od 690 px) ---------- */
@media (min-width: 690px) {
	.dw-card-dw.dw-teaser-0 .dw-card-teaser { display: none; }
	.dw-card-dw.dw-teaser-1 .dw-card-teaser { -webkit-line-clamp: 1; }
	.dw-card-dw.dw-teaser-3 .dw-card-teaser { -webkit-line-clamp: 3; }
	.dw-card-dw.dw-sub-0 .dw-card-sub { display: none; }
	/* układ przycisków - komputer */
	.dw-card-dw.dw-btns-stack .dw-card-btns { flex-direction: column; }
	.dw-card-dw.dw-btns-cart .dw-card-btn--desc { display: none; }
	.dw-card-dw.dw-btns-icon .dw-card-btn--desc { flex: 0 0 46px; padding: 0; }
	.dw-card-dw.dw-btns-icon .dw-card-btn--desc span { display: none; }
	.dw-card-dw.dw-heart-top [data-products] .product figure > .ct-woo-card-extra {
		top: 14px !important; inset-block-start: 14px !important; bottom: auto !important; inset-block-end: auto !important;
		right: 14px !important; inset-inline-end: 14px !important;
	}
	.dw-card-dw.dw-heart-bottom [data-products] .product figure > .ct-woo-card-extra { right: 14px !important; inset-inline-end: 14px !important; bottom: 14px !important; inset-block-end: 14px !important; }
}

/* ---------- telefon ---------- */
@media (max-width: 689px) {
	.dw-card-dw .dw-card-sub { font-size: 14px; }
	.dw-card-dw.dw-teaser-m-0 .dw-card-teaser { display: none; }
	.dw-card-dw.dw-teaser-m-1 .dw-card-teaser { -webkit-line-clamp: 1; }
	.dw-card-dw.dw-teaser-m-3 .dw-card-teaser { -webkit-line-clamp: 3; }
	.dw-card-dw.dw-sub-m-0 .dw-card-sub { display: none; }

	/* „przyciśnięte” przyciski - dwa obok siebie mieszczą się od 320 px */
	.dw-card-dw .dw-card-btns { gap: 8px; }
	.dw-card-dw [data-products="type-2"] .product { --card-inner-spacing: 16px; padding-left: 16px; padding-right: 16px; }
	.dw-card-dw .dw-card-btn { min-height: 44px; padding: 0 8px; gap: 6px; font-size: 13.5px; }
	.dw-card-dw .dw-card-btn svg { width: 18px; height: 18px; flex-basis: 18px; }
	.dw-card-dw.dw-btns-m-stack .dw-card-btns { flex-direction: column; }
	.dw-card-dw.dw-btns-m-cart .dw-card-btn--desc { display: none; }
	.dw-card-dw.dw-btns-m-icon .dw-card-btn--desc { flex: 0 0 44px; padding: 0; }
	.dw-card-dw.dw-btns-m-icon .dw-card-btn--desc span { display: none; }

	.dw-card-dw .dw-card-pc { column-gap: 12px; }
	.dw-card-dw .dw-card-colors__n { font-size: 18px; }

	.dw-card-dw.dw-heart-m-top [data-products] .product figure > .ct-woo-card-extra {
		top: 12px !important; inset-block-start: 12px !important; bottom: auto !important; inset-block-end: auto !important;
	}
	.dw-card-dw.dw-heart-m-bottom [data-products] .product figure > .ct-woo-card-extra {
		bottom: 12px !important; inset-block-end: 12px !important; top: auto !important; inset-block-start: auto !important;
	}
}
@media (max-width: 360px) {
	.dw-card-dw .dw-card-btn { font-size: 13px; padding: 0 6px; gap: 4px; }
}
