/* Cookie consent + WhatsApp button. Scoped and !important so theme/Elementor styles don't leak in. */

.atp-cc {
	position: fixed !important;
	z-index: 99998 !important;
	bottom: 20px;
	left: 20px;
	width: min(420px, calc(100vw - 40px));
	background: #fff !important;
	color: #0D2B3A !important;
	border: 1px solid #E2E8EC;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(13, 43, 58, .18);
	font-family: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}
.atp-cc[hidden] { display: none !important; }
.atp-cc--bar {
	left: 0; right: 0; bottom: 0;
	width: auto;
	border-radius: 0;
	border-width: 1px 0 0;
}
.atp-cc__inner { padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 12px; }
.atp-cc--bar .atp-cc__inner { max-width: 1280px; margin: 0 auto; }
.atp-cc__title {
	margin: 0 !important;
	font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	color: #0D2B3A !important;
}
.atp-cc__text { margin: 0 !important; color: #3E5A68 !important; text-wrap: pretty; }
.atp-cc__text a { color: #0D2B3A !important; text-decoration: underline !important; font-weight: 600; }
.atp-cc__prefs { display: flex; flex-direction: column; gap: 8px; }
.atp-cc__prefs[hidden] { display: none !important; }
.atp-cc__cat {
	display: flex !important; flex-direction: column; gap: 4px;
	padding: 12px 14px; margin: 0 !important;
	background: #F7F9FA; border-radius: 10px; cursor: pointer;
}
.atp-cc__catHead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.atp-cc__catHead strong { font-weight: 600 !important; color: #0D2B3A !important; }
.atp-cc__catText { font-size: 13px !important; color: #5C7684 !important; }
.atp-cc__sw {
	appearance: none; -webkit-appearance: none;
	position: relative; flex: none;
	width: 40px !important; height: 22px !important; margin: 0 !important;
	border-radius: 999px; background: #C9D4DA; cursor: pointer;
	transition: background .15s ease;
}
.atp-cc__sw::after {
	content: ''; position: absolute; top: 3px; left: 3px;
	width: 16px; height: 16px; border-radius: 50%; background: #fff;
	transition: transform .15s ease;
}
.atp-cc__sw:checked { background: #24804A; }
.atp-cc__sw:checked::after { transform: translateX(18px); }
.atp-cc__sw:disabled { opacity: .55; cursor: default; }
.atp-cc__sw:focus-visible { outline: 2px solid #0D2B3A; outline-offset: 2px; }
.atp-cc__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.atp-cc--bar .atp-cc__btns { justify-content: flex-end; }
.atp-cc__btn {
	flex: 1 1 auto;
	min-height: 44px !important;
	padding: 10px 16px !important;
	margin: 0 !important;
	border-radius: 10px !important;
	font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	line-height: 1.1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background .15s ease;
}
.atp-cc__btn[hidden] { display: none !important; }
.atp-cc__btn--ink { background: #0D2B3A !important; color: #fff !important; border: 1px solid #0D2B3A !important; }
.atp-cc__btn--ink:hover { background: #16303E !important; color: #fff !important; }
.atp-cc__btn--line { background: #fff !important; color: #0D2B3A !important; border: 1px solid #C9D4DA !important; }
.atp-cc__btn--line:hover { background: #F7F9FA !important; color: #0D2B3A !important; }

/* WhatsApp */
.atp-wa {
	position: fixed !important;
	z-index: 99997 !important;
	bottom: 22px;
	display: flex !important;
	align-items: center;
	gap: 10px;
	text-decoration: none !important;
	font-family: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}
.atp-wa--right { right: 22px; flex-direction: row; }
.atp-wa--left { left: 22px; flex-direction: row-reverse; }
.atp-wa__dot {
	width: 58px; height: 58px; flex: none;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: #25D366;
	box-shadow: 0 8px 24px rgba(13, 43, 58, .25);
	transition: transform .15s ease, background .15s ease;
}
.atp-wa:hover .atp-wa__dot { transform: scale(1.06); background: #1EBE5B; }
.atp-wa:focus-visible .atp-wa__dot { outline: 3px solid #0D2B3A; outline-offset: 3px; }
.atp-wa__label {
	padding: 9px 14px;
	border-radius: 999px;
	background: #0D2B3A;
	color: #fff !important;
	font-size: 14px; font-weight: 600; white-space: nowrap;
	opacity: 0; transform: translateX(6px); pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
}
.atp-wa--left .atp-wa__label { transform: translateX(-6px); }
.atp-wa:hover .atp-wa__label,
.atp-wa:focus-visible .atp-wa__label { opacity: 1; transform: none; }

/* Box banner sits bottom left: hide a left-side WhatsApp button until the visitor chooses. */
.atp-cc-open .atp-wa--left { display: none !important; }

@media (max-width: 767px) {
	.atp-cc { left: 10px; bottom: 10px; width: calc(100vw - 20px); }
	.atp-cc--bar { left: 0; bottom: 0; width: auto; }
	.atp-cc__inner { padding: 18px 16px 16px; }
	.atp-wa { bottom: 16px; }
	.atp-wa--right { right: 16px; }
	.atp-wa--left { left: 16px; }
	.atp-wa__dot { width: 54px; height: 54px; }
	.atp-wa__label { display: none; }
	.atp-wa--noMobile { display: none !important; }
	.atp-cc-open .atp-wa { display: none !important; }
}
@media (min-width: 768px) {
	.atp-wa--noDesktop { display: none !important; }
	.atp-cc-open .atp-cc--bar ~ .atp-wa { bottom: 150px; }
}
@media print {
	.atp-cc, .atp-wa { display: none !important; }
}
