/*
 * Kahur Checkout — notices (templates/notices/*).
 *
 * Loaded with the cart/checkout styles and, when "Přidání do košíku" is on,
 * on every page: the add-to-cart notice shows in the theme's popup
 * (Nest: .cart_notice in the footer, outside the .woocommerce wrapper —
 * hence the :is(.woocommerce, .cart_notice) scope).
 */

/* ---- Notices (templates/notices/*, cart + checkout only) ---------------- */

body.kc-cart-page .woocommerce-notices-wrapper,
body.kc-checkout-page .woocommerce-notices-wrapper,
body.kc-checkout-page .woocommerce-NoticeGroup {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 20px;
}

:is(.woocommerce, .cart_notice) .kc-notice,
:is(.woocommerce, .cart_notice) .kc-notice.woocommerce-message,
:is(.woocommerce, .cart_notice) .kc-notice.woocommerce-info {
	--kc-notice-accent: var(--color-brand-dark, #29a56c);
	--kc-notice-bg: var(--background-3, #def9ec);
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px 52px 14px 16px;
	border: 1px solid color-mix(in srgb, var(--kc-notice-accent) 35%, transparent);
	border-left: 4px solid var(--kc-notice-accent);
	border-radius: 10px;
	background: var(--kc-notice-bg);
	color: var(--color-heading, #253d4e);
	font-size: 15px;
	line-height: 1.45;
	box-shadow: none;
	list-style: none;
}

:is(.woocommerce, .cart_notice) .kc-notice--info,
:is(.woocommerce, .cart_notice) .kc-notice.kc-notice--info.woocommerce-info {
	--kc-notice-accent: var(--color-heading, #253d4e);
	--kc-notice-bg: var(--background-2, #f4f6fa);
}

:is(.woocommerce, .cart_notice) .kc-notice--error {
	--kc-notice-accent: #d83a3a;
	--kc-notice-bg: #fff4f4;
}

/* Nest / WooCommerce decorations on the same classes. */
:is(.woocommerce, .cart_notice) .kc-notice::before,
:is(.woocommerce, .cart_notice) .kc-notice::after,
:is(.woocommerce, .cart_notice) .kc-notice .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

:is(.woocommerce, .cart_notice) .kc-notice__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--kc-notice-accent);
	color: #fff;
}

:is(.woocommerce, .cart_notice) .kc-notice__icon svg {
	width: 14px;
	height: 14px;
}

:is(.woocommerce, .cart_notice) .kc-notice__text,
:is(.woocommerce, .cart_notice) .kc-notice__list {
	flex: 1 1 auto;
	min-width: 0;
	margin: 1px 0 0;
	padding: 0;
	font-weight: 600;
}

:is(.woocommerce, .cart_notice) .kc-notice .woocommerce-error.kc-notice__list {
	border: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	list-style: none;
}

:is(.woocommerce, .cart_notice) .kc-notice__list li {
	margin: 0;
	padding: 0;
}

:is(.woocommerce, .cart_notice) .kc-notice__list li + li {
	margin-top: 4px;
}

/* Links inside messages (e.g. "Vrátit zpět", product links). */
:is(.woocommerce, .cart_notice) .kc-notice a:not(.button) {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Buttons WooCommerce or other plugins put into messages (often before the
   text, e.g. "<a class=button>…</a> message") — always after it, on the right. */
:is(.woocommerce, .cart_notice) .kc-notice__text:has(> a.button) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

:is(.woocommerce, .cart_notice) .kc-notice__text > a.button { margin: -4px 0 -4px auto !important; }

/* Buttons WooCommerce or other plugins put into messages. */
:is(.woocommerce, .cart_notice) .kc-notice a.button {
	order: 3;
	margin: -4px 0 -4px auto;
	padding: 6px 14px !important;
	min-height: 0 !important;
	border-radius: 8px;
	background: var(--kc-notice-accent) !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	float: none;
}

:is(.woocommerce, .cart_notice) .kc-notice__close {
	position: absolute;
	top: 50%;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: -18px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--color-heading, #253d4e);
	cursor: pointer;
}

:is(.woocommerce, .cart_notice) .kc-notice__close:hover {
	background: rgba(37, 61, 78, .08);
}

:is(.woocommerce, .cart_notice) .kc-notice__close:focus-visible {
	outline: 3px solid var(--color-brand-dark, #29a56c);
	outline-offset: 1px;
}

:is(.woocommerce, .cart_notice) .kc-notice__close svg {
	width: 18px;
	height: 18px;
}

@media (max-width: 640px) {
	:is(.woocommerce, .cart_notice) .kc-notice {
		font-size: 14px;
	}
}

/* Nest fills every SVG and pads .woocommerce-error heavily (!important). */
:is(.woocommerce, .cart_notice) .kc-notice svg,
:is(.woocommerce, .cart_notice) .kc-notice svg * {
	fill: none !important;
	stroke: currentColor !important;
}

:is(.woocommerce, .cart_notice) .kc-notice .woocommerce-error.kc-notice__list,
:is(.woocommerce, .cart_notice) .kc-notice ul.kc-notice__list {
	margin: 1px 0 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

:is(.woocommerce, .cart_notice) .kc-notice__list li {
	padding: 0 !important;
	list-style: none !important;
	color: inherit !important;
}

:is(.woocommerce, .cart_notice) .kc-notice__list li::before,
:is(.woocommerce, .cart_notice) .kc-notice__list li::marker {
	content: none !important;
	display: none !important;
}

:is(.woocommerce, .cart_notice) button.kc-notice__close {
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--color-heading, #253d4e) !important;
	box-shadow: none !important;
	line-height: 1 !important;
}

:is(.woocommerce, .cart_notice) button.kc-notice__close:hover {
	background: rgba(37, 61, 78, .08) !important;
}

:is(.woocommerce, .cart_notice) .kc-notice__icon svg {
	width: 15px;
	height: 15px;
}

/* Notices span the same width as the cart / checkout below them. */
body.kc-cart-page .woocommerce-notices-wrapper,
body.kc-checkout-page .woocommerce-notices-wrapper {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

body.kc-has-fullwidth-cart .woocommerce-notices-wrapper {
	width: calc(100vw - var(--kc-sbw, 0px));
	max-width: none;
	margin-left: calc(50% - 50vw + var(--kc-sbw, 0px) / 2);
	margin-right: calc(50% - 50vw + var(--kc-sbw, 0px) / 2);
	padding-left: clamp(16px, 3vw, 48px);
	padding-right: clamp(16px, 3vw, 48px);
	box-sizing: border-box;
}

body.kc-has-fullwidth-cart .woocommerce-notices-wrapper:empty {
	display: none;
}

/* Nest pads/margins .woocommerce-message / -info with !important. */
:is(.woocommerce, .cart_notice) .kc-notice.woocommerce-message,
:is(.woocommerce, .cart_notice) .kc-notice.woocommerce-info,
:is(.woocommerce, .cart_notice) .kc-notice.kc-notice--error {
	margin: 0 !important;
	padding: 14px 52px 14px 16px !important;
	min-height: 0 !important;
}

:is(.woocommerce, .cart_notice) .kc-notice__icon svg {
	width: 17px;
	height: 17px;
}

/* ---- Add-to-cart notice: one card, fully clickable to the basket ------- */

:is(.woocommerce, .cart_notice) .kc-notice:has(.kc-atc-notice) > .kc-notice__icon {
	display: none;
}

.kc-atc-notice,
.kc-atc-notice:hover,
.kc-atc-notice:focus {
	display: flex;
	align-items: center;
	gap: 12px;
	color: inherit !important;
	text-decoration: none !important;
	font-weight: 600;
}

/* Stretch the link over the whole card (close button stays above it). */
.kc-atc-notice::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 10px;
}

.kc-atc-notice:focus-visible {
	outline: none;
}

.kc-atc-notice:focus-visible::after {
	outline: 3px solid var(--color-brand-dark, #29a56c);
	outline-offset: 2px;
}

:is(.woocommerce, .cart_notice) button.kc-notice__close {
	z-index: 2;
}

.kc-atc-notice__thumb {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.kc-atc-notice__thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	margin: 0 !important;
}

.kc-atc-notice__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.kc-atc-notice__text {
	font-size: 14px;
	line-height: 1.4;
}

.kc-atc-notice__cta {
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.kc-atc-notice:hover .kc-atc-notice__cta {
	text-decoration-thickness: 2px;
}

/* In the theme's popup (Nest .cart_notice, bottom right). */
.cart_notice .kc-notice {
	width: min(380px, calc(100vw - 30px));
	margin: 0 0 10px !important;
	box-shadow: 0 10px 30px rgba(37, 61, 78, .18) !important;
	cursor: pointer;
	font-family: inherit !important;
}
