/*
 * Cookie banner: full-width alert bar fixed at the bottom of the screen.
 * Theme colours when available, with fallbacks.
 */

.vymoc-cookies {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px max(24px, calc((100% - 1290px) / 2));
	background: var(--vymo-navy, #0b3a5e);
	/* drop-shadow (not box-shadow) so the zigzag teeth cast it too. */
	filter: drop-shadow(0 -6px 14px rgba(11, 37, 64, 0.18));
	color: #fff;
	transform: translateY(calc(100% + 12px));
	transition: transform 0.3s ease;
}

/* Zigzag top edge: navy teeth sitting on top of the bar. */
.vymoc-cookies::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: 10px;
	margin-bottom: -1px;
	background: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10' preserveAspectRatio='none'%3E%3Cpolygon points='0,10 10,0 20,10'/%3E%3C/svg%3E") left bottom / 20px 10px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10' preserveAspectRatio='none'%3E%3Cpolygon points='0,10 10,0 20,10'/%3E%3C/svg%3E") left bottom / 20px 10px repeat-x;
}

.vymoc-cookies[hidden] {
	display: none;
}

.vymoc-cookies.is-visible {
	transform: none;
}

.vymoc-cookies__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(240, 122, 48, 0.18);
	color: var(--tr-theme-2, #f07a30);
}

.vymoc-cookies__body {
	flex: 1;
	min-width: 0;
}

/* "#vymoc-cookies" beats the theme's paragraph styles. */
#vymoc-cookies .vymoc-cookies__title,
#vymoc-cookies .vymoc-cookies__text {
	display: inline;
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
}

#vymoc-cookies .vymoc-cookies__title {
	margin-right: 6px;
	font-weight: 700;
	color: #fff;
}

#vymoc-cookies .vymoc-cookies__text a {
	color: #fff;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#vymoc-cookies .vymoc-cookies__text a:hover {
	color: var(--tr-theme-2, #f07a30);
}

.vymoc-cookies__actions {
	display: flex;
	flex: none;
	gap: 10px;
}

/* Both choices look equally available (no hidden "refuse"). */
.vymoc-cookies__btn {
	min-height: 40px;
	padding: 0 22px;
	border: 2px solid var(--tr-theme-2, #f07a30);
	border-radius: 999px;
	background: var(--tr-theme-2, #f07a30);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.vymoc-cookies__btn:hover {
	border-color: var(--tr-theme-3, #d8601f);
	background: var(--tr-theme-3, #d8601f);
}

.vymoc-cookies__btn--ghost {
	border-color: rgba(255, 255, 255, 0.6);
	background: transparent;
}

.vymoc-cookies__btn--ghost:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.12);
}

.vymoc-cookies__btn:focus-visible,
#vymoc-cookies .vymoc-cookies__text a:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

/* While the bar is open, the theme's floating buttons (WhatsApp, back to top) sit above it. */
.tr-footer-contact {
	transition: transform 0.3s ease;
}

.vymoc-cookies-open .tr-footer-contact {
	transform: translateY(calc(-1 * var(--vymoc-cookies-h, 0px)));
}

.vymoc-cookies-open .scroll-top {
	translate: 0 calc(-1 * var(--vymoc-cookies-h, 0px));
}

@media (max-width: 767px) {

	.vymoc-cookies {
		flex-wrap: wrap;
		gap: 10px 12px;
		padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
	}

	.vymoc-cookies__icon {
		display: none;
	}

	#vymoc-cookies .vymoc-cookies__title,
	#vymoc-cookies .vymoc-cookies__text {
		font-size: 13.5px;
	}

	.vymoc-cookies__actions {
		width: 100%;
	}

	.vymoc-cookies__actions .vymoc-cookies__btn {
		flex: 1;
	}
}

@media (prefers-reduced-motion: reduce) {

	.vymoc-cookies,
	.tr-footer-contact,
	.scroll-top {
		transition: none;
	}
}
