/*
Theme Name: WILDSTORE Kadence Child
Theme URI: https://wildstore.local
Description: Motyw potomny Kadence dla sklepu WILDSTORE (ręcznie robione akcesoria dla zwierząt).
Author: WILDSTORE
Template: kadence
Version: 0.1.5
Text Domain: wildstore-kadence-child
*/

.single-product .related.products {
	background-color: var(--global-palette8)!important;
}

.woocommerce.single-product div.product form.cart table.variations tbody tr + tr,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations tbody tr + tr {
	border-top: 12px solid transparent;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw,
.woocommerce.single-product div.product form.cart .variations .kt-radio-variation-container fieldset.kad_radio_variations.kt-image-color-sw,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kt-radio-variation-container fieldset.kad_radio_variations.kt-image-color-sw {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	float: none !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid color-mix(in srgb, var(--global-palette3, #2d2a26) 12%, transparent) !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, var(--global-palette9, #ffffff) 0%, var(--global-palette8, #f7fafc) 100%) !important;
	transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label::before,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label::before {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0) 45%);
	pointer-events: none;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label:hover,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label:hover {
	transform: translateY(-1px);
	border-color: color-mix(in srgb, var(--global-palette3, #2d2a26) 28%, transparent) !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw input[type="radio"]:focus + label,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw input[type="radio"]:focus + label {
	outline: 0;
	border-color: var(--global-palette1, #d86c3f) !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw input[type="radio"]:checked + label,
.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label.selectedValue,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw input[type="radio"]:checked + label,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label.selectedValue {
	transform: translateY(-1px);
	border-color: var(--global-palette1, #d86c3f) !important;
	background: linear-gradient(145deg, var(--global-palette9, #ffffff) 0%, var(--global-palette8, #f7fafc) 100%) !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label.kt_disabled,
.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label.kt_disabled_all,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label.kt_disabled,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label.kt_disabled_all {
	opacity: 0.35 !important;
	transform: none !important;
	box-shadow: none !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw label .kt_color_sw_span,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw label .kt_color_sw_span {
	display: block;
	position: relative;
	z-index: 1;
	width: 20px !important;
	height: 20px !important;
	margin: 0 auto !important;
	border-radius: 999px !important;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--global-palette3, #2d2a26) 18%, transparent);
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations.kt-image-color-sw input[type="radio"],
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations.kt-image-color-sw input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw),
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) label,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none !important;
	min-width: 46px;
	height: 36px;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid color-mix(in srgb, var(--global-palette3, #2d2a26) 16%, transparent) !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, var(--global-palette9, #ffffff) 0%, var(--global-palette8, #f7fafc) 100%) !important;
	color: var(--global-palette3, #2d2a26) !important;
	font-size: 12px;
	font-weight: 600 !important;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) label:hover,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) label:hover {
	transform: translateY(-1px);
	border-color: color-mix(in srgb, var(--global-palette3, #2d2a26) 28%, transparent) !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) input[type="radio"]:focus + label,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) input[type="radio"]:focus + label {
	outline: 0;
	border-color: var(--global-palette1, #d86c3f) !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) input[type="radio"]:checked + label,
.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) label.selectedValue,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) input[type="radio"]:checked + label,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) label.selectedValue {
	transform: translateY(-1px);
	border-color: var(--global-palette1, #d86c3f) !important;
	background: var(--global-palette1, #d86c3f) !important;
	color: var(--global-palette9, #ffffff) !important;
}

.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) label.kt_disabled,
.woocommerce.single-product div.product form.cart .variations .kad_radio_variations:not(.kt-image-color-sw) label.kt_disabled_all,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) label.kt_disabled,
.woocommerce ul.products li.product .kadence_catalog_variations_form table.variations .kad_radio_variations:not(.kt-image-color-sw) label.kt_disabled_all {
	opacity: 0.35 !important;
	box-shadow: none !important;
}

.woocommerce ul.products.woo-archive-btn-button .product-action-wrap .button:not(.kb-button), .woocommerce ul.products li.woo-archive-btn-button .button:not(.kb-button), .wc-block-grid__product.woo-archive-btn-button .product-details .wc-block-grid__product-add-to-cart .wp-block-button__link {
  border: 1px solid;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.0);
  font-style: normal;
  font-size: 15px;
}

/* Billing: ukryj "(opcjonalne)" dla Firma/NIP. */
.woocommerce #billing_company_field .optional,
.woocommerce #billing_nip_field .optional {
	display: none !important;
}

.wildstore-product-cat-advanced-description {
	margin-top: clamp(28px, 4vw, 48px);
	padding-top: clamp(18px, 2vw, 26px);
	border-top: 1px solid color-mix(in srgb, var(--global-palette3, #2d2a26) 14%, transparent);
	color: var(--global-palette5, #4a5568);
	line-height: 1.7;
}

.wildstore-product-cat-advanced-description > *:first-child {
	margin-top: 0;
}

.wildstore-product-cat-advanced-description > *:last-child {
	margin-bottom: 0;
}

/* Contact Form 7 */
.wpcf7 {
	--wildstore-cf7-border: color-mix(in srgb, var(--global-palette3, #2d2a26) 22%, transparent);
	--wildstore-cf7-focus: var(--global-palette1, #d86c3f);
	--wildstore-cf7-bg: var(--global-palette9, #ffffff);
	--wildstore-cf7-muted: var(--global-palette6, #718096);
	--wildstore-cf7-text: var(--global-palette3, #2d2a26);
	--wildstore-cf7-error: var(--global-palette13, #b82105);
	max-width: 760px;
}

.wpcf7 form {
	display: grid;
	gap: 14px;
	padding: clamp(18px, 2.2vw, 30px);
	border: 1px solid var(--wildstore-cf7-border);
	border-radius: 14px;
	background: linear-gradient(180deg, color-mix(in srgb, var(--wildstore-cf7-bg) 92%, var(--global-palette8, #f7fafc) 8%), var(--wildstore-cf7-bg));
}

.wpcf7 p {
	margin: 0;
}

.wpcf7 label {
	display: block;
	color: var(--wildstore-cf7-text);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.45;
}

.wpcf7-form-control-wrap {
	display: block;
	margin-top: 7px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	border: 1px solid var(--wildstore-cf7-border);
	border-radius: 10px;
	padding: 0.72rem 0.88rem;
	color: var(--wildstore-cf7-text);
	background-color: var(--wildstore-cf7-bg);
	font: inherit;
	line-height: 1.5;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.wpcf7 textarea {
	min-height: 140px;
	resize: vertical;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--wildstore-cf7-muted);
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border-color: var(--wildstore-cf7-focus);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wildstore-cf7-focus) 22%, transparent);
}

.wpcf7 .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.7rem 1.2rem;
	border: 1px solid var(--global-palette1, #d86c3f);
	border-radius: 999px;
	background: var(--global-palette1, #d86c3f);
	color: var(--global-palette9, #ffffff);
	font-weight: 700;
	line-height: 1.1;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.wpcf7 .wpcf7-submit:hover {
	background: color-mix(in srgb, var(--global-palette1, #d86c3f) 84%, #000);
	border-color: color-mix(in srgb, var(--global-palette1, #d86c3f) 84%, #000);
}

.wpcf7 .wpcf7-submit:active {
	transform: translateY(1px);
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--wildstore-cf7-error);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--wildstore-cf7-error);
	color: var(--wildstore-cf7-error);
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--global-palette11, #13612e);
	color: var(--global-palette11, #13612e);
}

.wpcf7 .wpcf7-response-output {
	margin: 10px 0 0;
	padding: 0.75rem 0.85rem;
	border-radius: 10px;
	font-weight: 600;
}

.wpcf7 .wpcf7-spinner {
	margin-left: 10px;
}

@media (max-width: 767px) {
	.wpcf7 form {
		padding: 16px;
		border-radius: 12px;
	}
}

@media (min-width: 1025px) {
	:root {
		--wildstore-gallery-sticky-top: 96px;
	}

	.single-product .product-gallery-summary {
		align-items: flex-start;
	}

	/* JS fallback sticky: parenty musza miec overflow visible. */
	.single-product .site,
	.single-product .content-bg,
	.single-product .site-main,
	.single-product .product-gallery-summary,
	.single-product .product-gallery-container,
	.single-product .product_image {
		overflow: visible !important;
	}

	/* Related products ma być zawsze nad galerią i bez najeżdżania. */
	.single-product .related.products {
		position: relative;
		z-index: 3;
		background: var(--global-palette9, #ffffff);
	}
}
