/*
Theme Name:     Beaux Child
Theme URI: 		https://dtbeaux.wpengine.com/
Author: 		the DesignThemes team
Author URI: 	http://themeforest.net/user/designthemes
Description:    Child theme for the Beaux theme powered by DesignThemes
Template:       beaux
Version:        1.0.13
*/

h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* =========================================================
   WooCommerce — formularz opinii produktu w stylistyce KALA
   ========================================================= */
.woocommerce #review_form #respond,
.wr-product-reviews #respond {
	--kala-review-accent: #ff4081;
	--kala-review-text: #171717;
	--kala-review-muted: #6f6f6f;
	--kala-review-line: #f7dbe7;
	--kala-review-border: #d3d3d3;
	--kala-review-star-empty: #d7d7d7;
	display: block;
	width: 100%;
	margin: 48px 0 0;
	padding: 34px 0 0;
	border-top: 1px solid var(--kala-review-line);
	background: transparent;
	color: var(--kala-review-text);
	font-family: Inter, Arial, sans-serif;
}

.woocommerce #review_form #respond h3#reply-title,
.wr-product-reviews #respond h3#reply-title {
	display: block;
	width: 100%;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kala-review-text);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
}

.woocommerce #review_form #respond form.comment-form,
.wr-product-reviews #respond form.comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
	width: 100%;
	margin: 0;
}

.woocommerce #review_form #respond form.comment-form > p,
.woocommerce #review_form #respond .comment-form-rating,
.wr-product-reviews #respond form.comment-form > p,
.wr-product-reviews #respond .comment-form-rating {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.woocommerce #review_form #respond .comment-form-rating,
.woocommerce #review_form #respond .comment-form-comment,
.woocommerce #review_form #respond .comment-form-cookies-consent,
.woocommerce #review_form #respond .form-submit,
.wr-product-reviews #respond .comment-form-rating,
.wr-product-reviews #respond .comment-form-comment,
.wr-product-reviews #respond .comment-form-cookies-consent,
.wr-product-reviews #respond .form-submit {
	grid-column: 1 / -1;
}

.woocommerce #review_form #respond label,
.wr-product-reviews #respond label {
	display: block;
	margin: 0 0 7px;
	color: var(--kala-review-text);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

.woocommerce #review_form #respond .required,
.wr-product-reviews #respond .required {
	visibility: visible;
	color: var(--kala-review-accent);
}

/* Reset pionowych gwiazdek narzucanych przez motyw Beaux. */
.woocommerce #review_form #respond p.stars,
.wr-product-reviews #respond p.stars {
	display: block;
	width: auto;
	height: 32px;
	margin: 2px 0 0;
	padding: 0;
	border: 0;
	line-height: 1;
}

.woocommerce #review_form #respond p.stars span,
.wr-product-reviews #respond p.stars span {
	display: inline-flex;
	gap: 5px;
	width: auto;
	margin: 0;
	padding: 0;
}

.woocommerce #review_form #respond p.stars a,
.wr-product-reviews #respond p.stars a {
	position: relative;
	display: block;
	clear: none;
	width: 28px;
	height: 30px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: transparent;
	font-size: 0;
	line-height: 30px;
	text-align: left;
	text-indent: -9999px;
	box-shadow: none;
}

.woocommerce #review_form #respond p.stars a::before,
.wr-product-reviews #respond p.stars a::before {
	display: none;
	content: none;
}

.woocommerce #review_form #respond p.stars a::after,
.wr-product-reviews #respond p.stars a::after {
	position: absolute;
	inset: 0;
	display: block;
	width: 28px;
	height: 30px;
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--kala-review-star-empty);
	content: "★";
	font-family: Arial, sans-serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 30px;
	text-align: center;
	text-indent: 0;
	box-shadow: none;
}

.woocommerce #review_form #respond p.stars:hover a::after,
.woocommerce #review_form #respond p.stars.selected a::after,
.wr-product-reviews #respond p.stars:hover a::after,
.wr-product-reviews #respond p.stars.selected a::after {
	color: var(--kala-review-accent);
}

.woocommerce #review_form #respond p.stars a:hover ~ a::after,
.woocommerce #review_form #respond p.stars.selected a.active ~ a::after,
.wr-product-reviews #respond p.stars a:hover ~ a::after,
.wr-product-reviews #respond p.stars.selected a.active ~ a::after {
	color: var(--kala-review-star-empty);
}

.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce #review_form #respond select,
.woocommerce #review_form #respond textarea,
.wr-product-reviews #respond input[type="text"],
.wr-product-reviews #respond input[type="email"],
.wr-product-reviews #respond select,
.wr-product-reviews #respond textarea {
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid var(--kala-review-border);
	border-radius: 8px;
	background: #fff;
	color: var(--kala-review-text);
	font: inherit;
	box-shadow: none;
}

.woocommerce #review_form #respond textarea#comment,
.wr-product-reviews #respond textarea#comment {
	height: 150px;
	min-height: 150px;
	resize: vertical;
}

.woocommerce #review_form #respond input:focus,
.woocommerce #review_form #respond select:focus,
.woocommerce #review_form #respond textarea:focus,
.wr-product-reviews #respond input:focus,
.wr-product-reviews #respond select:focus,
.wr-product-reviews #respond textarea:focus {
	border-color: var(--kala-review-accent);
	outline: 0;
}

.woocommerce #review_form #respond .form-submit,
.wr-product-reviews #respond .form-submit {
	text-align: left;
}

.woocommerce #review_form #respond .form-submit input#submit,
.wr-product-reviews #respond .form-submit input#submit {
	float: none;
	width: auto;
	min-height: 48px;
	margin: 0;
	padding: 12px 28px;
	border: 1px solid var(--kala-review-accent);
	border-radius: 8px;
	background: var(--kala-review-accent);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

.woocommerce #review_form #respond .form-submit input#submit:hover,
.wr-product-reviews #respond .form-submit input#submit:hover {
	background: var(--kala-review-accent);
	color: #fff;
	filter: brightness(.95);
}

@media (max-width: 600px) {
	.woocommerce #review_form #respond form.comment-form,
	.wr-product-reviews #respond form.comment-form {
		grid-template-columns: 1fr;
	}

	.woocommerce #review_form #respond .comment-form-author,
	.woocommerce #review_form #respond .comment-form-email,
	.wr-product-reviews #respond .comment-form-author,
	.wr-product-reviews #respond .comment-form-email {
		grid-column: 1;
	}
}

.blog-section .blog-entry .entry-button a.dt-sc-button {
	color: #e60070 !important;
}

.blog-section .blog-entry .entry-button a.dt-sc-button:before,
.blog-section .blog-entry .entry-button a.dt-sc-button:after {
	bottom: -7px !important;
	height: 3px !important;
}

.fullwidth-video-bg:before {
	background-color: unset !important;
	background: linear-gradient(
		to bottom,
		rgba(253, 245, 248, 0.8) 0%,
		rgba(255, 227, 237, 0.8) 100%
	);
}

/* =========================
   Contact Form 7 — styl wg screena
   ========================= */
.form--contact {
	--brand: #e05a8a; /* różowy obrys pól */
	--focus: #3b82f6; /* niebieski ring przy focusie */
	--text: #2b2b2b;
	--muted: #8c8f95;
}

/* Kontener i odstępy pól (CF7 zwykle owija pola w <p>) */
.form--contact .wpcf7-form {
	max-width: 980px;
	margin: 0 auto;
}
.form--contact .wpcf7-form > p {
	margin: 0 0 22px 0;
}

/* Tytuł (jeśli chcesz podpiąć do h2 w tej sekcji) */
.form--contact h2,
.form--contact .form-title {
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--brand);
	margin: 0 0 26px 0;
}
.wpcf7-form-control-wrap:hover:before,
.wpcf7-form-control-wrap:before {
	width: unset;
	content: none;
}
/* Pola tekstowe */
.form--contact input[type="text"],
.form--contact input[type="email"],
.form--contact input[type="tel"],
.form--contact input[type="url"],
.form--contact input[type="number"],
.form--contact textarea {
	width: 100%;
	background: #fff;
	color: var(--text);
	border: 1px solid var(--brand);
	border-radius: 0; /* prostokąt jak na screenie */
	padding: 12px 14px;
	margin: 5px 0;
	font-size: 12px;
	line-height: 1.4;
	transition:
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}

/* Placeholder = uppercase, szary */
.form--contact ::placeholder {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #9a9a9a;
	opacity: 1;
}

/* Focus — niebieski ring + zmiana koloru obramowania */
.form--contact input:focus,
.form--contact textarea:focus {
	outline: none;
	border-color: var(--focus);
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.35);
}

/* Wiadomość (trochę wyższe min-height) */
.form--contact textarea {
	min-height: 180px;
	resize: vertical;
}

/* ===== Checkbox (RODO) ===== */
.form--contact .wpcf7-list-item {
	margin: 0;
} /* CF7 domyślnie dodaje odstęp */
.form--contact .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: #454545;
	cursor: pointer;
	user-select: none;
}

/* Custom checkbox */
.form--contact input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	border: 2px solid var(--brand);
	border-radius: 3px;
	background: #fff;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease;
}
.form--contact input[type="checkbox"]:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}
.form--contact input[type="checkbox"]:checked {
	background: var(--brand);
	border-color: var(--brand);
}
.form--contact input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 6px;
	height: 12px;
	border: 2px solid #fff;
	border-top: none;
	border-left: none;
	transform: rotate(45deg);
}

/* ===== Przyciski ===== */
.form--contact .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 0;
	width: 195px;
	background: #000;
	color: #fff;
	border: 0;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-weight: 600;
	font-size: 12px;
	cursor: pointer;
	transition:
		transform 0.12s ease,
		filter 0.12s ease,
		background-color 0.2s ease;
}
.form--contact .wpcf7-submit:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
}
.form--contact .wpcf7-submit:active {
	transform: translateY(0);
	filter: brightness(0.97);
}

/* Wyślij na środku */
.form--contact .wpcf7 form .wpcf7-submit {
	margin: 14px auto 0 auto;
}
.form--contact .wpcf7-spinner {
	margin-left: 10px;
}

/* ===== Komunikaty CF7 ===== */
.form--contact .wpcf7-response-output {
	margin-top: 18px;
	border-radius: 6px;
	font-size: 14px;
	padding: 12px 14px;
}
.form--contact .wpcf7 form.invalid .wpcf7-response-output {
	border: 1px solid #e03131;
	background: #fff5f5;
	color: #7d2121;
}
.form--contact .wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #2b8a3e;
	background: #f1fff4;
	color: #1b5e2b;
}

/* ===== Błędy pól ===== */
.form--contact .wpcf7-not-valid {
	border-color: #e03131 !important;
}
.form--contact .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12px;
	color: #e03131;
}

/* ===== RWD drobiazgi ===== */
@media (max-width: 480px) {
	.form--contact input[type="text"],
	.form--contact input[type="email"],
	.form--contact input[type="tel"],
	.form--contact input[type="url"],
	.form--contact input[type="number"],
	.form--contact textarea {
		padding: 18px 20px;
		font-size: 16px;
	}
	.form--contact .wpcf7-submit {
		width: 100%;
	}
}

body.single #primary {
	padding-bottom: 0;
}

.home #primary.content-full-width {
	margin-top: 0 !important;
}

.single-case_study .entry-post-navigation,
.single-case_study .entry-meta-group {
	display: none !important;
}

#slider {
	margin-top: 100px;
}
.wr-unified-single {
	margin: 100px 0;
}

#footer .dt-sc-dark-bg .footer-links li a {
	padding-top: 0;
	padding-bottom: 0;
	font-family: "Inter", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 15px;
	line-height: 30px;
	letter-spacing: 0;
}

#footer .dt-sc-dark-bg .footer-links li a:hover {
	color: #e60070;
}
@media (max-width: 1540px) {
	#video {
		height: 400px;
		width: 100%;
	}
	#video * {
		height: 100%;
		width: 100%;
	}
}

@media (max-width: 1280px) {
	#video {
		height: 300px;
		width: 100%;
	}
	#video * {
		height: 100%;
		width: 100%;
	}
}
body.page-with-slider #header-wrapper.header-top-absolute #header {
	position: inherit;
}
/* Desktop i większe (>1024px) – wymuś zachowanie jak cover
   tylko dla fullheight image layer w RevSlider */

@media (min-width: 1025px) {
	/* Rodzic ma ucinać nadmiar */
	rs-module rs-layer[data-type="image"][data-basealign="slide"] {
		overflow: hidden !important;
	}

	/* Obraz zachowuje się jak background-size: cover */
	rs-module rs-layer[data-type="image"] > img[data-c="fullheight"] {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
		display: block !important;
	}
}
#primary.content-full-width {
	margin-top: 0 !important;
}

body.single.single-post #main {
	margin-top: 100px;
}

#header-wrapper #header > .container {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#header-wrapper .dt-header-tpl,
#header-wrapper .dt-header-tpl > .elementor,
#header-wrapper .dt-header-tpl .elementor-section-full_width,
#header-wrapper .dt-header-tpl .elementor-section-stretched {
	width: 100% !important;
	max-width: none !important;
}

#header-wrapper .dt-header-tpl .elementor-section-stretched {
	left: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

#footer .elementor-button,
#footer .elementor-button .elementor-button-text {
	font-size: 12px !important;
}

#toTop,
#toTopHover {
	display: none !important;
}

#myCustomScrollUp {
	position: fixed !important;
	bottom: 30px !important;
	right: 30px !important;
	z-index: 9999999 !important;
	display: inline-flex;
	align-items: center !important;
	justify-content: center !important;
	width: 61px !important;
	height: 61px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background-color: #feebec !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	cursor: pointer !important;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease,
		background-color 0.2s ease;
}

#myCustomScrollUp.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

#myCustomScrollUp svg {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	overflow: visible !important;
	fill: none;
	stroke: #d81b60;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform: translateY(-2px) !important;
}

#myCustomScrollUp:hover,
#myCustomScrollUp:focus {
	background-color: #fddde0 !important;
	transform: translateY(-5px);
}

/* =========================
   Contact Form 7 — newsletter KALA
   ========================= */
.kala-newsletter-form {
	--kala-newsletter-pink: #ff397f;
	--kala-newsletter-bg: #fbe8f3;
	--kala-newsletter-border: #c8c8c8;
	--kala-newsletter-text: #111;
	width: 100%;
	padding: 16px 22px 31px;
	background: var(--kala-newsletter-bg);
	color: var(--kala-newsletter-text);
	font-family: Arial, sans-serif;
	box-sizing: border-box;
	container-name: kala-newsletter;
	container-type: inline-size;
}

/* Elementor potrafi zachować szerokość kolumny ustawioną wcześniej na
   widżecie shortcode. Formularz newslettera zawsze korzysta z całego
   dostępnego wiersza. */
.elementor-widget:has(.kala-newsletter-form) {
	width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
	align-self: stretch !important;
}

.elementor-widget:has(.kala-newsletter-form) > .elementor-widget-container,
.elementor-widget:has(.kala-newsletter-form) .wpcf7,
.elementor-widget:has(.kala-newsletter-form) .wpcf7-form {
	width: 100% !important;
	max-width: none !important;
}
.kala-newsletter-form *,
.kala-newsletter-form *::before,
.kala-newsletter-form *::after {
	box-sizing: border-box;
}
.kala-newsletter-form p {
	margin: 0;
}
.kala-newsletter-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}
.kala-newsletter-form__field {
	min-width: 0;
	display: block;
	margin: 0;
}
.kala-newsletter-form__label {
	display: block;
	margin: 0;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0;
	text-box-trim: none;
}
.kala-newsletter-form__field .wpcf7-form-control-wrap {
	display: block;
	margin-top: 9px;
}
.kala-newsletter-form__field input[type="text"],
.kala-newsletter-form__field input[type="email"] {
	width: 100% !important;
	height: 50px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border: 1px solid var(--kala-newsletter-border) !important;
	border-radius: 6px !important;
	outline: 0;
	background: #fff !important;
	color: var(--kala-newsletter-text) !important;
	box-shadow: none !important;
	font-family: "Inter", sans-serif;
	font-size: 14px !important;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0;
	text-box-trim: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}
.kala-newsletter-form__field input::placeholder {
	color: #626262;
	opacity: 1;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	text-box-trim: none;
}
.kala-newsletter-form__field input:hover {
	border-color: #aaa !important;
}
.kala-newsletter-form__field input:focus {
	border-color: var(--kala-newsletter-pink) !important;
	box-shadow: 0 0 0 3px rgb(255 57 127 / 12%) !important;
}
.kala-newsletter-form__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 157px;
	align-items: start;
	gap: 30px;
	margin-top: 12px;
}
.kala-newsletter-form__consent {
	min-width: 0;
}
.kala-newsletter-form__consent .wpcf7-form-control-wrap,
.kala-newsletter-form__consent .wpcf7-form-control,
.kala-newsletter-form__consent .wpcf7-list-item {
	display: block;
	width: 100%;
	margin: 0;
}
.kala-newsletter-form__consent .wpcf7-list-item > label {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	margin: 0;
	cursor: pointer;
}
.kala-newsletter-form__consent input[type="checkbox"] {
	position: relative;
	width: 26px !important;
	height: 26px !important;
	margin: 7px 0 0 !important;
	padding: 0 !important;
	border: 2px solid #aaa !important;
	border-radius: 0 !important;
	appearance: none;
	-webkit-appearance: none;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
}
.kala-newsletter-form__consent input[type="checkbox"]:checked {
	border-color: var(--kala-newsletter-pink) !important;
	background: var(--kala-newsletter-pink) !important;
}
.kala-newsletter-form__consent input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 8px;
	width: 7px;
	height: 14px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.kala-newsletter-form__consent input[type="checkbox"]:focus-visible {
	outline: 3px solid rgb(255 57 127 / 25%);
	outline-offset: 3px;
}
.kala-newsletter-form__consent .wpcf7-list-item-label {
	color: var(--kala-newsletter-text);
	font-family: "Inter", sans-serif;
	font-size: 12.64px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0;
	leading-trim: both;
	text-edge: cap;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}
.kala-newsletter-form__consent a {
	color: inherit;
	text-decoration: none;
}
.kala-newsletter-form__consent a:hover {
	color: var(--kala-newsletter-pink);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.kala-newsletter-form__submit-wrap {
	position: relative;
	width: 157px;
	margin: 0;
	justify-self: end;
}
.kala-newsletter-form__submit {
	width: 100% !important;
	height: 60px !important;
	min-height: 60px !important;
	margin: 0 !important;
	padding: 16px 44px 16px 24px !important;
	border: 0 !important;
	border-radius: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: var(--kala-newsletter-pink) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-family: "Inter", sans-serif;
	font-size: 14px !important;
	font-weight: 500 !important;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0;
	leading-trim: none;
	text-box-trim: none;
	text-align: center;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}
.kala-newsletter-form__submit-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 24px;
	width: 16px;
	height: 16px;
	background: url("assets/white-right-arrow.svg") center / contain no-repeat;
	pointer-events: none;
	transform: translateY(-50%);
}
.kala-newsletter-form__submit:hover {
	background: #e9226b !important;
}
.kala-newsletter-form__submit:active {
	transform: translateY(1px);
}
.kala-newsletter-form__submit:focus-visible {
	outline: 3px solid rgb(255 57 127 / 30%);
	outline-offset: 3px;
}
.kala-newsletter-form__submit:disabled,
.kala-newsletter-form__submit:disabled:hover,
.kala-newsletter-form__submit[aria-disabled="true"] {
	background: #aaa !important;
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}
.kala-newsletter-form .wpcf7-not-valid-tip {
	margin-top: 7px;
	color: #c90045;
	font-size: 14px;
}
.kala-newsletter-form .wpcf7-spinner {
	position: absolute;
	right: 8px;
	bottom: -30px;
	margin: 0;
}
.wpcf7 form .kala-newsletter-form + .wpcf7-response-output {
	margin: 16px 13px 0;
}

/* Układ reaguje na realną szerokość formularza, a nie wyłącznie viewport. */
@container kala-newsletter (max-width:360px) {
	.kala-newsletter-form__bottom {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}
	.kala-newsletter-form__submit-wrap {
		width: 100% !important;
	}
	.kala-newsletter-form__submit {
		height: 60px !important;
		min-height: 60px !important;
	}
}

@container kala-newsletter (max-width:360px) {
	.kala-newsletter-form {
		padding: 24px 18px 32px;
	}
	.kala-newsletter-form__fields {
		grid-template-columns: 1fr !important;
		gap: 22px;
	}
	.kala-newsletter-form__label {
		margin: 0;
		font-size: 14px !important;
	}
	.kala-newsletter-form__field .wpcf7-form-control-wrap {
		margin-top: 10px;
	}
	.kala-newsletter-form__field input[type="text"],
	.kala-newsletter-form__field input[type="email"] {
		height: 62px !important;
		padding: 0 20px !important;
		border-radius: 8px !important;
		font-size: 14px !important;
	}
	.kala-newsletter-form__consent .wpcf7-list-item > label {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 14px;
	}
	.kala-newsletter-form__consent input[type="checkbox"] {
		width: 32px !important;
		height: 32px !important;
		margin-top: 3px !important;
		border-width: 2px !important;
	}
	.kala-newsletter-form__consent input[type="checkbox"]:checked::after {
		top: 5px;
		left: 10px;
		width: 8px;
		height: 15px;
		border-width: 0 2px 2px 0;
	}
	.kala-newsletter-form__consent .wpcf7-list-item-label {
		font-size: 12.64px;
		line-height: 1.4;
	}
	.kala-newsletter-form__submit {
		height: 60px !important;
		min-height: 60px !important;
		padding: 16px 65px 16px 25px !important;
		border-radius: 0 !important;
		font-size: 14px !important;
	}
	.kala-newsletter-form__submit-wrap::after {
		right: 24px;
	}
}

@media (max-width: 360px) {
	.kala-newsletter-form {
		padding: 24px 18px 32px;
	}
	.kala-newsletter-form__fields {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.kala-newsletter-form__label {
		margin: 0;
		font-size: 14px !important;
	}
	.kala-newsletter-form__field .wpcf7-form-control-wrap {
		margin-top: 10px;
	}
	.kala-newsletter-form__field input[type="text"],
	.kala-newsletter-form__field input[type="email"] {
		height: 62px !important;
		padding: 0 20px !important;
		border-radius: 8px !important;
		font-size: 14px !important;
	}
	.kala-newsletter-form__bottom {
		grid-template-columns: 1fr;
		gap: 26px;
		margin-top: 24px;
	}
	.kala-newsletter-form__consent .wpcf7-list-item > label {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 14px;
	}
	.kala-newsletter-form__consent input[type="checkbox"] {
		width: 32px !important;
		height: 32px !important;
		margin-top: 3px !important;
		border-width: 2px !important;
	}
	.kala-newsletter-form__consent input[type="checkbox"]:checked::after {
		top: 5px;
		left: 10px;
		width: 8px;
		height: 15px;
		border-width: 0 2px 2px 0;
	}
	.kala-newsletter-form__consent .wpcf7-list-item-label {
		font-size: 12.64px;
		line-height: 1.4;
	}
	.kala-newsletter-form__submit-wrap {
		width: 100%;
	}
	.kala-newsletter-form__submit {
		height: 60px !important;
		min-height: 60px !important;
		padding: 16px 65px 16px 25px !important;
		border-radius: 0 !important;
		font-size: 14px !important;
	}
	.kala-newsletter-form__submit-wrap::after {
		right: 24px;
	}
}
