.qk-support-area,
.qk-support-section,
.qk-support-register,
.qk-support-login-required,
.qk-support-logout {
	--qk-support-border: #dfe5ea;
	--qk-support-border-strong: #c8d2dc;
	--qk-support-radius: 0.45rem;
	--qk-support-gap: 1rem;
	--qk-support-primary: #0f5187;
	--qk-support-primary-hover: #212d4b;
	--qk-support-text: #1f2933;
	--qk-support-muted: #667085;
	--qk-support-surface: #fff;
	--qk-support-surface-soft: #f7f9fb;
	--qk-support-success: #287a4b;
	--qk-support-error: #b42318;
	color: var(--qk-support-text);
}

/* Layout */
.qk-support-section,
.qk-support-register,
.qk-support-login-required {
	margin: 0 0 1.5rem;
	padding: 1.25rem;
	border: 1px solid var(--qk-support-border);
	border-radius: var(--qk-support-radius);
	background: var(--qk-support-surface);
}

.qk-support-section h2,
.qk-support-register h2,
.qk-support-login-required h2 {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	line-height: 1.35;
}

.qk-support-empty-state {
	padding: 1rem;
	border: 1px dashed var(--qk-support-border-strong);
	border-radius: var(--qk-support-radius);
	background: var(--qk-support-surface-soft);
	color: var(--qk-support-muted);
}

.qk-support-empty-state p {
	margin: 0;
}

.qk-support-register__panels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--qk-support-gap);
}

.qk-support-register__panel {
	padding: 1rem;
	border: 1px solid var(--qk-support-border);
	border-radius: var(--qk-support-radius);
	background: var(--qk-support-surface);
}

.qk-support-register__panel h3 {
	margin: 0 0 3rem;
	color: #0f5187;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.35;
}

/* Forms */
.qk-support-register__field,
.qk-support-field,
.qk-support-login-required .login-username,
.qk-support-login-required .login-password {
	margin: 0 0 1rem;
}

.qk-support-register__field label,
.qk-support-field label,
.qk-support-login-required label {
	display: block;
	margin-bottom: 0.4rem;
	color: #212d4b;
	font-weight: 300;
	line-height: 1.4;
}

.qk-support-register__field input[type="email"],
.qk-support-register__field input[type="password"],
.qk-support-register__field input[type="text"],
.qk-support-field input,
.qk-support-field textarea,
.qk-support-login-required input[type="text"],
.qk-support-login-required input[type="password"] {
	width: 100%;
	max-width: 100%;
	min-height: 2.75rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--qk-support-border-strong);
	border-radius: 0.2rem;
	background: #fff;
	color: var(--qk-support-text);
	line-height: 1.5;
}

.qk-support-field textarea {
	min-height: 8rem;
	resize: vertical;
}

.qk-support-register__field--hidden {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.qk-support-hidden-fields {
	display: none;
}

.qk-support-register__check {
	margin: 0 0 0.9rem;
	color: var(--qk-support-muted);
}

.qk-support-register__check label,
.qk-support-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0;
	color: var(--qk-support-muted);
	font-size: 0.9rem;
	font-weight: 300;
	line-height: 1.4;
}

.qk-support-checkbox span,
.qk-support-checkbox a {
	font-size: 0.9rem;
}

.qk-support-register__check input[type="checkbox"],
.qk-support-checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0.2rem 0 0;
	padding: 0;
}

.qk-support-form-actions {
	margin-top: 2rem;
}

.qk-support-login__lost-password {
	margin: 0.75rem 0 0;
}

.qk-support-login-required .login-remember {
	display: none;
}

:where(.qk-support-area, .qk-support-section, .qk-support-register, .qk-support-login-required) a:not(.qk-support-button):not(.qk-support-info-button):not(.qk-support-conversation-card__link) {
	color: #00AEEF;
}

.qk-support-button,
.qk-support-register__submit,
.qk-support-register input[type="submit"],
.qk-support-section input[type="submit"],
.qk-support-login-required input[type="submit"],
.qk-support-info-button,
.qk-support-conversation-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4rem 1rem 0.4rem 1rem;
	border: 1px solid var(--qk-support-primary);
	border-radius: 0.20rem;
	background-color: var(--qk-support-primary);
	color: #fffbfa;
	fill: #fffbfa;
	font-family: "Zalando Sans", Sans-serif;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.4rem;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.qk-support-button:hover,
.qk-support-button:focus,
.qk-support-register__submit:hover,
.qk-support-register__submit:focus,
.qk-support-register input[type="submit"]:hover,
.qk-support-register input[type="submit"]:focus,
.qk-support-section input[type="submit"]:hover,
.qk-support-section input[type="submit"]:focus,
.qk-support-login-required input[type="submit"]:hover,
.qk-support-login-required input[type="submit"]:focus,
.qk-support-info-button:hover,
.qk-support-info-button:focus,
.qk-support-conversation-card__link:hover,
.qk-support-conversation-card__link:focus {
	border-color: var(--qk-support-primary-hover);
	background-color: var(--qk-support-primary-hover);
	color: #fffbfa;
	text-decoration: none;
}

.qk-support-register .qk-support-button {
	padding: 0.4rem 1rem 0.4rem 1rem;
	min-height: unset;
}

/* Ticket list */
.qk-support-section h2.qk-support-conversation-list__heading {
	margin: 0 0 1rem;
	color: #0f5187;
	font-family: "Funnel Display", Sans-serif;
	font-weight: 900;
	font-size: 1.6rem;
	line-height: 1.25;
}

.qk-support-ticket-list,
.qk-support-conversations,
.qk-support-tickets {
	display: grid;
	gap: var(--qk-support-gap);
	margin: 0;
	padding: 0;
}

.qk-support-ticket-card,
.qk-support-conversation-card,
.qk-support-ticket {
	display: grid;
	gap: 0.9rem;
	padding: 1rem;
	border: 1px solid var(--qk-support-border);
	border-radius: var(--qk-support-radius);
	background: var(--qk-support-surface-soft);
}

.qk-support-conversation-card__header {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	align-items: center;
}

.qk-support-conversation-card__id,
.qk-support-conversation-detail__id {
	margin: 0;
	font-weight: 700;
	color: var(--qk-support-primary);
}

.qk-support-conversation-card__title {
	margin: 0;
	color: #0f5187;
	font-size: 1rem;
	line-height: 1.35;
}

.qk-support-conversation-status,
.qk-support-ticket-status {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0;
	padding: 0.25rem 0.55rem;
	border: 1px solid var(--qk-support-border);
	border-radius: 999px;
	background: #fff;
	color: var(--qk-support-muted);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.2;
}

.qk-support-conversation-status--open,
.qk-support-conversation-status--pending_admin {
	border-color: #b9d6ea;
	background: #eef7fd;
	color: #0f5187;
}

.qk-support-conversation-status--pending_user {
	border-color: #f2d7aa;
	background: #fff7e8;
	color: #8a5a10;
}

.qk-support-conversation-status--resolved {
	border-color: #b9dfc7;
	background: #effaf2;
	color: var(--qk-support-success);
}

.qk-support-conversation-status--closed {
	border-color: #d6d9de;
	background: #f3f4f6;
	color: #5b6472;
}

.qk-support-conversation-card__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 0;
	color: var(--qk-support-muted);
}

.qk-support-conversation-card__meta dt {
	margin: 0 0 0.15rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--qk-support-text);
}

.qk-support-conversation-card__meta dd {
	margin: 0;
}

.qk-support-conversation-card__link {
	justify-self: start;
}

/* Ticket detail */
.qk-support-conversation-detail__header {
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--qk-support-border);
}

.qk-support-conversation-detail__header h2 {
	margin: 0 0 0.6rem;
	color: #0F5187;
	font-size: 1.1rem;
	line-height: 1.35;
}

.qk-support-conversation-detail__product {
	margin: 0.75rem 0 0;
	color: var(--qk-support-muted);
}

.qk-support-back-link,
.qk-support-lost-password a {
	color: #00AEEF;
	font-weight: 600;
	text-decoration: none;
}

.qk-support-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.qk-support-back-link__icon {
	color: #00AEEF;
	transform: rotate(180deg);
}

.qk-support-back-link:hover,
.qk-support-back-link:focus,
.qk-support-lost-password a:hover,
.qk-support-lost-password a:focus {
	color: var(--qk-support-primary-hover);
	text-decoration: underline;
}

/* Messages */
.qk-support-message-list,
.qk-support-messages {
	display: grid;
	gap: 0.9rem;
	margin: 1.25rem 0;
}

.qk-support-message {
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--qk-support-border);
	border-radius: var(--qk-support-radius);
	background: #fff;
}

.qk-support-message--user {
	border-color: #c9dbea;
	background: #f3f8fc;
}

.qk-support-message--admin {
	border-color: #d6dde6;
	background: #fff;
}

.qk-support-message--system {
	border-style: dashed;
	background: var(--qk-support-surface-soft);
}

.qk-support-message__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.75rem;
	margin-bottom: 0.5rem;
	color: var(--qk-support-muted);
	font-size: 0.9rem;
}

.qk-support-message__meta strong {
	color: var(--qk-support-text);
}

.qk-support-message__content > :last-child {
	margin-bottom: 0;
}

/* Notices */
.qk-support-notice {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--qk-support-border);
	border-left: 4px solid var(--qk-support-primary);
	border-radius: var(--qk-support-radius);
	background: var(--qk-support-surface-soft);
	color: var(--qk-support-text);
}

.qk-support-notice--error {
	border-left-color: var(--qk-support-error);
}

.qk-support-notice--success {
	border-left-color: var(--qk-support-success);
}

.qk-support-notice--info {
	border-left-color: var(--qk-support-primary);
	background: #eef7fd;
}

.qk-support-new-ticket__product {
	font-weight: 400;
}

.qk-support-new-ticket__product a {
	font-weight: 600;
}

/* Logout */
.qk-support-logout {
	display: inline-block;
	margin: 0 0 1rem;
}

.qk-support-logout__button {
	cursor: pointer;
}

.qk-support-info-button {
	text-align: center;
}

/* Product attributes */
.qk-product-attribute-list {
	margin: 0 0 1.5rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--qk-support-border, #dfe5ea);
	border-radius: 0.2rem;
	background: var(--qk-support-surface-soft, #f7f9fb);
	color: var(--qk-support-text, #1f2933);
}

.qk-product-attribute-list__title {
	margin: 0 0 0.75rem;
	color: #0f5187;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

.qk-product-attribute-list__items {
	display: grid;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.qk-product-attribute-list__items li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
}

.qk-product-attribute-list__items li:last-child {
	margin-bottom: 0;
}

.qk-product-attribute-list__icon {
	width: 0.9rem;
	height: 0.9rem;
	color: #00AEEF;
	fill: currentColor;
	flex: 0 0 1rem;
	margin-top: 0.25em;
}

.qk-product-attribute-list__item-text {
	flex: 1 1 auto;
	line-height: 1.4rem;
	font-weight: 300;
}

/* Elementor filters */
.qk-filter-main.qk-filter-is-hidden,
.qk-filter-group.qk-filter-is-hidden,
.qk-filter-group .e-filter-item.qk-filter-is-hidden {
	display: none;
}

body.qk-products-filter-loading .elementor-widget-loop-grid {
	position: relative;
	min-height: 10rem;
}

body.qk-products-filter-loading .elementor-widget-loop-grid::before {
	position: absolute;
	inset: 0;
	z-index: 20;
	background: rgba(255, 255, 255, 0.72);
	content: '';
}

body.qk-products-filter-loading .elementor-widget-loop-grid::after {
	position: absolute;
	top: 5rem;
	left: 50%;
	z-index: 21;
	width: 2.75rem;
	height: 2.75rem;
	margin: -1.375rem 0 0 -1.375rem;
	border: 4px solid rgba(15, 81, 135, 0.2);
	border-top-color: #0f5187;
	border-radius: 50%;
	content: '';
	animation: qk-product-filter-spin 700ms linear infinite;
}

@keyframes qk-product-filter-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.qk-products-filter-loading .elementor-widget-loop-grid::after {
		animation-duration: 1400ms;
	}
}

/* WooCommerce account */
.elementor-12 .elementor-element.elementor-element-b098fa8 .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) h2,
.elementor-12 .elementor-element.elementor-element-b098fa8 .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) h3 {
	font-size: 1rem;
}

.elementor-12 .elementor-element.elementor-element-b098fa8 .woocommerce-MyAccount-content address,
.elementor-12 .elementor-element.elementor-element-b098fa8 .e-my-account-tab address {
	font-style: normal;
	font-weight: 400;
}

/* WooCommerce product gallery */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a {
	display: block;
	width: 100%;
	height: 100%;
}

.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Support request page */
body.page-id-23 .qk-support-session-heading .elementor-heading-title {
	font-family: "Funnel Display", Sans-serif;
	color: #0f5187;
	font-size: 3rem;
}

@media (max-width: 1024px) {
	body.page-id-23 .qk-support-session-heading .elementor-heading-title {
		font-size: 3rem;
	}
}

@media (max-width: 767px) {
	body.page-id-23 .qk-support-session-heading .elementor-heading-title {
		font-size: 2.4rem;
	}
}

/* Responsive */
@media (max-width: 1024px) {
	.qk-support-section h2.qk-support-conversation-list__heading {
		font-size: 1.5rem;
	}
}

@media (max-width: 767px) {
	.qk-support-section h2.qk-support-conversation-list__heading {
		font-size: 1.3rem;
	}
}

@media (max-width: 640px) {
	.qk-support-section,
	.qk-support-register,
	.qk-support-login-required {
		padding: 1rem;
	}

	.qk-support-conversation-card__meta {
		grid-template-columns: 1fr;
	}

	.qk-support-register__panels {
		grid-template-columns: 1fr;
	}

	.qk-support-checkbox,
	.qk-support-checkbox span,
	.qk-support-checkbox a {
		font-size: 0.8rem;
	}

	.qk-support-button,
	.qk-support-register__submit,
	.qk-support-register input[type="submit"],
	.qk-support-section input[type="submit"],
	.qk-support-login-required input[type="submit"],
	.qk-support-info-button,
	.qk-support-conversation-card__link {
		width: 100%;
	}
}

/* Registration and login forms aligned with the native Elementor form design. */
.qk-support-register .qk-support-register__form,
.qk-support-register .qk-support-login__form {
	font-family: "Zalando Sans", Sans-serif;
}

.qk-support-register .qk-support-register__field {
	margin: 0 0 1.4rem;
}

.qk-support-register .qk-support-register__field label {
	margin-bottom: 0.5rem;
	color: #0f5187;
	font-family: "Zalando Sans", Sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.4;
}

.qk-support-register .qk-support-register__field input[type="text"],
.qk-support-register .qk-support-register__field input[type="email"],
.qk-support-register .qk-support-register__field input[type="password"] {
	width: 100%;
	max-width: 100%;
	min-height: 33px;
	padding: 4px 12px;
	border: 1px solid #0f5187;
	border-radius: 0.2rem;
	background-color: #fffbfa;
	color: #7a7a7a;
	font-family: "Zalando Sans", Sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.4;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.qk-support-register .qk-support-register__field input[type="text"]:focus,
.qk-support-register .qk-support-register__field input[type="email"]:focus,
.qk-support-register .qk-support-register__field input[type="password"]:focus {
	border-color: #212d4b;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1) inset;
	outline: 0;
}

.qk-support-register .qk-support-register__check {
	margin: 0 0 1.4rem;
	color: #0f5187;
}

.qk-support-register .qk-support-register__check label,
.qk-support-register .qk-support-checkbox,
.qk-support-register .qk-support-checkbox span,
.qk-support-register .qk-support-checkbox a {
	color: #0f5187;
	font-family: "Zalando Sans", Sans-serif;
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.4;
}

.qk-support-register .qk-support-checkbox {
	align-items: flex-start;
	gap: 0.5rem;
}

.qk-support-register .qk-support-checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0.15rem 0 0;
	padding: 0;
}

.qk-support-register .qk-support-register__check .qk-support-checkbox a {
	color: #0f5187;
	text-decoration: underline;
}

.qk-support-register .qk-support-register__check .qk-support-checkbox a:hover,
.qk-support-register .qk-support-register__check .qk-support-checkbox a:focus {
	color: #212d4b;
	text-decoration: underline;
}

.qk-support-register .qk-support-register__actions,
.qk-support-register .qk-support-login__actions {
	margin-top: 1.4rem;
}

.qk-support-register .qk-support-button {
	min-height: 40px;
	padding: 0.4rem 1rem;
	border: 1px solid #0f5187;
	border-radius: 0.2rem;
	background-color: #0f5187;
	color: #fffbfa;
	font-family: "Zalando Sans", Sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4rem;
}

.qk-support-register .qk-support-button:hover,
.qk-support-register .qk-support-button:focus {
	border-color: #212d4b;
	background-color: #212d4b;
	color: #fffbfa;
}

.qk-support-register .qk-support-login__lost-password {
	margin: 0.75rem 0 0;
	font-family: "Zalando Sans", Sans-serif;
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.4;
}

.qk-support-register .qk-support-login__lost-password a {
	color: #0f5187;
	text-decoration: underline;
}

.qk-support-register .qk-support-login__lost-password a:hover,
.qk-support-register .qk-support-login__lost-password a:focus {
	color: #212d4b;
	text-decoration: underline;
}

@media (max-width: 640px) {
	.qk-support-register .qk-support-register__check label,
	.qk-support-register .qk-support-checkbox,
	.qk-support-register .qk-support-checkbox span,
	.qk-support-register .qk-support-checkbox a,
	.qk-support-register .qk-support-login__lost-password {
		font-size: 0.95rem;
	}
}
