/**
 * Fluffy Custom Styles — pojedyncza strona produktu.
 * Ładowane tylko przez is_product(), z priorytetem 100 (po stylach Oxygena).
 *
 * Selektory są celowo mocne (form.cart > wrapper > element), by wygrać
 * ze stylami Oxygena bez użycia !important.
 */

:root {
	--fluffy-cta: #2c3e50;
	--fluffy-cta-hover: #34495e;
	--fluffy-line: #dfe3e8;
	--fluffy-radius: 10px;
}

/* ── Rząd koszyka ──────────────────────────────────────────────────────────
   Rodzic jest już flexem (Oxygen); tu porządkujemy odstępy i zawijanie. */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce .woocommerce-variation-add-to-cart {
	/* Oxygen wymusza display:block!important w ct_code_block_css_3. */
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

/* ── „Tabela rozmiarów" (link Oxygena) — osobny wiersz nad koszykiem ──────── */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > a.ct-link {
	order: -1;
	flex: 0 0 100%;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: auto;
	margin: 6px 0 2px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > a.ct-link img {
	width: auto;
	height: 16px !important;
}

/* Mniejszy, dyskretny opis — nie konkuruje z głównym CTA. */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > a.ct-link .ct-text-block {
	padding-left: 0 !important;
	font-size: 14px !important;
	line-height: 1.25;
}

/* ── Pole ilości ─────────────────────────────────────────────────────────── */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 auto;
	display: flex;
	margin: 0;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity .qty {
	box-sizing: border-box;
	width: 58px;
	min-width: 58px;
	height: 50px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid var(--fluffy-line);
	border-radius: var(--fluffy-radius);
	background: #fff;
	color: var(--fluffy-cta);
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	line-height: 50px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity .qty:hover {
	border-color: #c9d2d8;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity .qty:focus {
	outline: none;
	border-color: var(--fluffy-cta);
	box-shadow: 0 0 0 3px rgba(44, 62, 80, .12);
}

/* ── Przycisk „Dodaj do koszyka" ─────────────────────────────────────────── */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button.button.alt {
	flex: 1 1 0;
	min-width: 0;
	height: 50px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: var(--fluffy-radius);
	background: var(--fluffy-cta);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(44, 62, 80, .22);
	transition: background-color .18s ease, box-shadow .18s ease, transform .12s ease;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button.button.alt:hover {
	background: var(--fluffy-cta-hover);
	box-shadow: 0 8px 22px rgba(44, 62, 80, .28);
	transform: translateY(-1px);
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button.button.alt:active {
	transform: translateY(0);
	box-shadow: 0 4px 12px rgba(44, 62, 80, .20);
}

/* Stan „wybierz wariant" — przycisk nieaktywny, ale nadal schludny. */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button.button.alt.disabled,
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button.button.alt:disabled {
	background: #b6c0c8;
	box-shadow: none;
	transform: none;
	cursor: not-allowed;
	opacity: 1;
}

/* ── Produkty proste ──────────────────────────────────────────────────────
   Nie mają wrappera .woocommerce-variation-add-to-cart, dlatego te same
   elementy stylujemy jako bezpośrednie dzieci form.cart. */
.woocommerce div.product.product-type-simple form.cart,
.woocommerce div.product.product-type-simple #div_block-24-31 form.cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.woocommerce div.product.product-type-simple form.cart > a.ct-link {
	order: -1;
	flex: 0 0 100%;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: auto;
	margin: 6px 0 2px !important;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce div.product.product-type-simple form.cart > a.ct-link img {
	width: auto;
	height: 16px !important;
}

.woocommerce div.product.product-type-simple form.cart > a.ct-link .ct-text-block {
	padding-left: 0 !important;
	font-size: 14px !important;
	line-height: 1.25;
}

.woocommerce div.product.product-type-simple form.cart > .quantity {
	flex: 0 0 auto;
	display: flex;
	width: auto;
	margin: 0;
}

.woocommerce div.product.product-type-simple form.cart > .quantity .qty {
	box-sizing: border-box;
	width: 58px;
	min-width: 58px;
	height: 50px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid var(--fluffy-line);
	border-radius: var(--fluffy-radius);
	background: #fff;
	color: var(--fluffy-cta);
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	line-height: 50px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce div.product.product-type-simple form.cart > .quantity .qty:hover {
	border-color: #c9d2d8;
}

.woocommerce div.product.product-type-simple form.cart > .quantity .qty:focus {
	outline: none;
	border-color: var(--fluffy-cta);
	box-shadow: 0 0 0 3px rgba(44, 62, 80, .12);
}

.woocommerce div.product.product-type-simple form.cart > button.single_add_to_cart_button.button.alt {
	flex: 1 1 0;
	min-width: 0;
	height: 50px;
	margin: 0;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: var(--fluffy-radius) !important;
	background: var(--fluffy-cta);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(44, 62, 80, .22);
	transition: background-color .18s ease, box-shadow .18s ease, transform .12s ease;
}

.woocommerce div.product.product-type-simple form.cart > button.single_add_to_cart_button.button.alt:hover {
	background: var(--fluffy-cta-hover);
	box-shadow: 0 8px 22px rgba(44, 62, 80, .28);
	transform: translateY(-1px);
}

.woocommerce div.product.product-type-simple form.cart > button.single_add_to_cart_button.button.alt:active {
	transform: translateY(0);
	box-shadow: 0 4px 12px rgba(44, 62, 80, .20);
}
