/*
CTC Separate Stylesheet
Updated: 2021-05-12 15:55:09
*/

a, a span, a i {
	transition: all 350ms ease;
}

.lava-footer {
	font-size: 85%;
	color: #fff;
}
/* ------------------------------------------------------------------
 * APINÉE – scattered dots from the design manual (gold / sky blue / light).
 * Class "ap-dots" on a section; "ap-dots--light" = variant for light backgrounds.
 * Two offset tiles of different sizes so no grid is visible; colours from kit globals.
 * ------------------------------------------------------------------ */
.ap-dots {
	--ap-dot-a: color-mix(in srgb, var(--e-global-color-secondary) 75%, transparent);
	--ap-dot-b: color-mix(in srgb, var(--e-global-color-b7e3c2a) 60%, transparent);
	--ap-dot-c: color-mix(in srgb, var(--e-global-color-afee3d4) 35%, transparent);
	background-image:
		radial-gradient(circle at 7% 12%, var(--ap-dot-a) 0 1.8px, transparent 2.4px),
		radial-gradient(circle at 31% 63%, var(--ap-dot-b) 0 1.4px, transparent 2px),
		radial-gradient(circle at 58% 21%, var(--ap-dot-c) 0 1.1px, transparent 1.7px),
		radial-gradient(circle at 86% 78%, var(--ap-dot-a) 0 1.2px, transparent 1.8px),
		radial-gradient(circle at 18% 88%, var(--ap-dot-c) 0 1px, transparent 1.6px),
		radial-gradient(circle at 74% 41%, var(--ap-dot-b) 0 1.7px, transparent 2.3px),
		radial-gradient(circle at 46% 94%, var(--ap-dot-a) 0 1px, transparent 1.6px);
	background-size: 610px 470px, 610px 470px, 610px 470px, 610px 470px, 430px 530px, 430px 530px, 430px 530px;
	background-position: 0 0, 0 0, 0 0, 0 0, 170px 90px, 170px 90px, 170px 90px;
	background-repeat: repeat;
}
.ap-dots--light {
	--ap-dot-a: color-mix(in srgb, var(--e-global-color-secondary) 80%, transparent);
	--ap-dot-b: color-mix(in srgb, var(--e-global-color-primary) 45%, transparent);
	--ap-dot-c: color-mix(in srgb, var(--e-global-color-e51cf37) 90%, transparent);
}

/* ------------------------------------------------------------------
 * APINÉE – shop category filter ([apinee_cat_filter])
 * ------------------------------------------------------------------ */
.ap-cat-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
body .ap-cat-filter a {
	display: inline-block;
	padding: 11px 22px;
	border: 1px solid var(--e-global-color-d69b92e);
	background: var(--e-global-color-e51cf37);
	color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-54629e9-font-family), serif;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	transition: all .3s ease;
}
body .ap-cat-filter a:hover {
	background: var(--e-global-color-b7e3c2a);
	border-color: var(--e-global-color-b7e3c2a);
	color: var(--e-global-color-primary);
}
body .ap-cat-filter a.is-active,
body .ap-cat-filter a.is-active:hover {
	background: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
	color: var(--e-global-color-afee3d4);
}

/* ------------------------------------------------------------------
 * APINÉE – WooCommerce look (kit globals only)
 * ------------------------------------------------------------------ */

/* Notices: white card with a coloured left line + round badge icon */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .wc-block-components-notice-banner {
	background: var(--e-global-color-e51cf37) !important;
	border: 1px solid var(--e-global-color-d69b92e) !important;
	border-left: 4px solid var(--e-global-color-primary) !important;
	border-radius: 0 !important;
	color: var(--e-global-color-accent) !important;
	font-family: var(--e-global-typography-text-font-family), serif;
	font-size: 17px;
	padding: 16px 22px 16px 58px !important;
	box-shadow: none !important;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "✓" !important;
	font-family: var(--e-global-typography-54629e9-font-family), serif !important;
	position: absolute !important;
	left: 18px !important;
	top: 50% !important;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	background: var(--e-global-color-primary);
	color: var(--e-global-color-afee3d4) !important;
}
.woocommerce-info { border-left-color: var(--e-global-color-b7e3c2a) !important; }
.woocommerce-info::before { content: "i" !important; background: var(--e-global-color-b7e3c2a); color: var(--e-global-color-primary) !important; }
.woocommerce-error { border-left-color: #A14936 !important; list-style: none !important; }
.woocommerce-error::before { content: "!" !important; background: #A14936; }
.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	background: transparent !important;
	color: var(--e-global-color-primary) !important;
	border: 2px solid var(--e-global-color-primary) !important;
	border-radius: 0 !important;
	padding: 9px 18px !important;
	font-family: var(--e-global-typography-54629e9-font-family), serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 2px;
	text-transform: uppercase;
	transition: all .3s ease;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background: var(--e-global-color-primary) !important;
	color: var(--e-global-color-afee3d4) !important;
}
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus { outline: none; }

/* Inputs: square corners + brand lines everywhere in the shop */
.woocommerce .quantity .qty,
.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea,
.woocommerce-page .select2-container .select2-selection {
	border-radius: 0 !important;
	border: 1px solid var(--e-global-color-d69b92e) !important;
	font-family: var(--e-global-typography-text-font-family), serif;
	color: var(--e-global-color-accent);
}
.woocommerce .quantity .qty:focus,
.woocommerce input.input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	border-color: var(--e-global-color-primary) !important;
	outline: none;
	box-shadow: none;
}
.woocommerce .quantity .qty { min-height: 44px; }

/* Add to cart before a variation is chosen: same green, just muted */
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled {
	background-color: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
	color: var(--e-global-color-afee3d4) !important;
	opacity: .45 !important;
}

/* WooCommerce does not render the mini cart on Cart/Checkout – keep the side panel closed there */
body.woocommerce-cart .elementor-menu-cart__container,
body.woocommerce-checkout .elementor-menu-cart__container { display: none !important; }

/* My account: login | registration as two cards */
.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	width: 100%;
}
.woocommerce-account .u-columns.col2-set::before,
.woocommerce-account .u-columns.col2-set::after { display: none; }
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 {
	width: 100% !important;
	float: none !important;
	background: var(--e-global-color-e51cf37);
	border: 1px solid var(--e-global-color-d69b92e);
	border-top: 3px solid var(--e-global-color-secondary);
	padding: 34px 36px;
}
.woocommerce-account .u-columns.col2-set h2 {
	font-family: var(--e-global-typography-accent-font-family), serif;
	font-weight: 600;
	font-size: 26px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--e-global-color-primary);
	margin: 0 0 18px;
}
.woocommerce-account form.login,
.woocommerce-account form.register { border: 0 !important; padding: 0 !important; margin: 0 !important; }
@media (max-width: 767px) {
	.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
	.woocommerce-account .u-columns.col2-set .u-column1,
	.woocommerce-account .u-columns.col2-set .u-column2 { padding: 26px 22px; }
}

/* Radio buttons / checkboxes in brand green instead of the browser blue */
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"],
.woocommerce-page input[type="radio"],
.woocommerce-page input[type="checkbox"] { accent-color: var(--e-global-color-primary); }

/* "To top" plugin button in brand colours */
#to_top_scrollup {
	background-color: var(--e-global-color-primary) !important;
	color: var(--e-global-color-afee3d4) !important;
	border-radius: 0 !important;
	opacity: .9;
	transition: background-color .3s ease, opacity .3s ease;
}
#to_top_scrollup:hover { background-color: var(--e-global-color-secondary) !important; color: var(--e-global-color-accent) !important; opacity: 1; }

/* Small Woo texts (remember me, lost password, privacy note) in the brand font */
.woocommerce form .woocommerce-form__label-for-checkbox,
.woocommerce form .woocommerce-LostPassword,
.woocommerce form .woocommerce-privacy-policy-text,
.woocommerce form .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-family: var(--e-global-typography-text-font-family), serif !important;
	font-size: 16px !important;
	color: var(--e-global-color-text);
}
.woocommerce form .woocommerce-LostPassword a,
.woocommerce form .woocommerce-privacy-policy-text a { color: var(--e-global-color-primary); }
.woocommerce form .woocommerce-LostPassword a:hover,
.woocommerce form .woocommerce-privacy-policy-text a:hover { color: var(--e-global-color-secondary); }

/* ------------------------------------------------------------------
 * APINÉE – logged-out My account = login | registration, half and half
 * (overrides the earlier two-white-cards block)
 * ------------------------------------------------------------------ */
.woocommerce-account .u-columns.col2-set { gap: 0; align-items: stretch; }
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 { padding: 48px 50px; border-top-width: 1px; }
.woocommerce-account .u-columns.col2-set .u-column1 { border-right: 0; border-top: 3px solid var(--e-global-color-secondary); }

/* registration half: green with the brand dots, light text, gold button */
.woocommerce-account .u-columns.col2-set .u-column2 {
	background-color: var(--e-global-color-primary);
	border-color: var(--e-global-color-primary);
	border-top: 3px solid var(--e-global-color-primary);
	color: var(--e-global-color-afee3d4);
	background-image:
		radial-gradient(circle at 12% 9%, color-mix(in srgb, var(--e-global-color-secondary) 75%, transparent) 0 1.8px, transparent 2.4px),
		radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--e-global-color-b7e3c2a) 60%, transparent) 0 1.4px, transparent 2px),
		radial-gradient(circle at 70% 92%, color-mix(in srgb, var(--e-global-color-secondary) 75%, transparent) 0 1.2px, transparent 1.8px),
		radial-gradient(circle at 6% 74%, color-mix(in srgb, var(--e-global-color-b7e3c2a) 60%, transparent) 0 1px, transparent 1.6px);
}
.woocommerce-account .u-columns.col2-set .u-column2 h2 { color: var(--e-global-color-afee3d4); }
.woocommerce-account .u-column2 form.register label,
.woocommerce-account .u-column2 .woocommerce-privacy-policy-text,
.woocommerce-account .u-column2 .woocommerce-privacy-policy-text p { color: var(--e-global-color-b7e3c2a) !important; }
.woocommerce-account .u-column2 .woocommerce-privacy-policy-text a { color: var(--e-global-color-afee3d4) !important; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .u-column2 .woocommerce-privacy-policy-text a:hover { color: var(--e-global-color-secondary) !important; }
.woocommerce-account .u-column2 .required { color: var(--e-global-color-secondary); }
.woocommerce-account .u-column2 input.input-text { border-color: transparent !important; background: var(--e-global-color-e51cf37); }
.woocommerce-account .u-column2 input.input-text:focus { border-color: var(--e-global-color-secondary) !important; }
.woocommerce-account .u-column2 form.register .woocommerce-Button,
.woocommerce-account .u-column2 form.register button[type="submit"] {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-accent) !important;
}
.woocommerce-account .u-column2 form.register .woocommerce-Button:hover,
.woocommerce-account .u-column2 form.register button[type="submit"]:hover {
	background-color: var(--e-global-color-afee3d4) !important;
	color: var(--e-global-color-primary) !important;
}
.woocommerce-account .u-column2 .show-password-input { color: var(--e-global-color-primary); }

/* intros */
.ap-form-intro { margin: -6px 0 22px; font-family: var(--e-global-typography-text-font-family), serif; color: var(--e-global-color-text); }
.ap-reg-benefits { list-style: none; margin: -6px 0 24px; padding: 0; display: flex; flex-direction: column; gap: 8px; font-family: var(--e-global-typography-text-font-family), serif; color: var(--e-global-color-afee3d4); }
.ap-reg-benefits li { position: relative; padding-left: 28px; }
.ap-reg-benefits li::before {
	content: "✓";
	position: absolute; left: 0; top: 2px;
	width: 18px; height: 18px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 700;
	background: var(--e-global-color-secondary); color: var(--e-global-color-accent);
}
@media (max-width: 767px) {
	.woocommerce-account .u-columns.col2-set .u-column1,
	.woocommerce-account .u-columns.col2-set .u-column2 { padding: 30px 22px; }
	.woocommerce-account .u-columns.col2-set .u-column1 { border-right: 1px solid var(--e-global-color-d69b92e); }
}

/* registration half: the My account widget paints forms white and titles green – undo inside the green column */
.woocommerce-account .u-columns.col2-set .u-column2 form.register,
.elementor-widget-woocommerce-my-account .u-column2 form.register {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.woocommerce-account .u-columns.col2-set .u-column2 > h2,
.elementor-widget-woocommerce-my-account .u-column2 > h2 { color: var(--e-global-color-afee3d4) !important; }
.woocommerce-account .u-columns.col2-set .u-column1 form.login,
.elementor-widget-woocommerce-my-account .u-column1 form.login {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* intros in the same size as the form labels */
.woocommerce-account .ap-form-intro,
.woocommerce-account .ap-reg-benefits { font-size: 17px !important; line-height: 1.5; }

/* ------------------------------------------------------------------
 * APINÉE – very narrow phones (≤ 400px, e.g. 320px iPhone SE 1st gen)
 * ------------------------------------------------------------------ */
@media (max-width: 400px) {
	/* long uppercase headings (STAROSTLIVOSŤ…) – smaller h1/h2 + allow breaking as a last resort */
	body.elementor-kit-7 {
		--e-global-typography-primary-font-size: 1.75em;
		--e-global-typography-secondary-font-size: 1.45em;
	}
	.elementor-heading-title { overflow-wrap: break-word; }

	/* product: quantity + add to cart may wrap */
	.woocommerce div.product form.cart:not(.variations_form),
	.woocommerce .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; }
	.woocommerce .single_add_to_cart_button { flex: 1 1 auto; margin-left: 0 !important; }

	/* checkout order summary: fixed table width, wrap long cells */
	.woocommerce-checkout-review-order-table { table-layout: fixed; width: 100%; }
	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td { overflow-wrap: anywhere; letter-spacing: .5px !important; }
}

@media (max-width: 400px) {
	/* Elementor wraps qty + button in its own nowrap flex holder */
	.e-atc-qty-button-holder { flex-wrap: wrap !important; gap: 10px; }
	.e-atc-qty-button-holder .single_add_to_cart_button { flex: 1 1 160px; margin-left: 0 !important; }
}
