/* ===== Cookie consent (PDPA) ===== */.cc-banner {	position: fixed;	left: 16px;	right: 16px;	bottom: 16px;	z-index: 100000;	max-width: 1080px;	margin: 0 auto;	background: #fff;	color: #1f2d2a;	border-radius: 18px;	box-shadow: 0 10px 40px rgba(20, 60, 50, .22), 0 2px 6px rgba(20, 60, 50, .08);	border: 1px solid #e6ecea;	animation: cc-rise .45s cubic-bezier(.2, .8, .2, 1);}.cc-banner[hidden],.cc-modal[hidden] {	display: none !important;}.cc-banner-inner {	display: flex;	align-items: center;	gap: 18px;	padding: 18px 20px;}.cc-banner-icon {	flex: 0 0 auto;	width: 48px;	height: 48px;	border-radius: 14px;	display: flex;	align-items: center;	justify-content: center;	font-size: 22px;	color: #3fb892;	background: #e9f9f3;}.cc-banner-text {	flex: 1 1 auto;	min-width: 0;}.cc-banner-title {	display: block;	font-size: 17px;	margin-bottom: 2px;}.cc-banner-text p {	margin: 0;	font-size: 14px;	line-height: 1.6;	color: #52615d;}.cc-banner-text a,.cc-modal a {	color: #238a6a;	text-decoration: underline;}.cc-banner-actions {	flex: 0 0 auto;	display: flex;	align-items: center;	gap: 8px;}.cc-btn {	font-family: inherit;	font-size: 15px;	line-height: 1;	padding: 12px 20px;	border-radius: 999px;	border: 1.5px solid transparent;	cursor: pointer;	white-space: nowrap;	transition: background-color .2s, border-color .2s, color .2s, transform .15s;}.cc-btn:active {	transform: scale(.97);}.cc-btn:focus-visible {	outline: 3px solid rgba(103, 213, 179, .6);	outline-offset: 2px;}.cc-btn-primary {	background: #3fb892;	border-color: #3fb892;	color: #fff;}.cc-btn-primary:hover {	background: #33a07e;	border-color: #33a07e;}.cc-btn-outline {	background: #fff;	border-color: #3fb892;	color: #238a6a;}.cc-btn-outline:hover {	background: #e9f9f3;}.cc-btn-link {	background: transparent;	color: #52615d;	text-decoration: underline;	padding-left: 10px;	padding-right: 10px;}.cc-btn-link:hover {	color: #1f2d2a;}/* Settings dialog */.cc-modal {	position: fixed;	inset: 0;	top: 0;	right: 0;	bottom: 0;	left: 0;	z-index: 100001;	display: flex;	align-items: center;	justify-content: center;	padding: 16px;}.cc-modal-backdrop {	position: absolute;	top: 0;	right: 0;	bottom: 0;	left: 0;	background: rgba(15, 30, 26, .55);	animation: cc-fade .2s ease;}.cc-modal-dialog {	position: relative;	width: 100%;	max-width: 560px;	max-height: calc(100vh - 32px);	display: flex;	flex-direction: column;	background: #fff;	color: #1f2d2a;	border-radius: 20px;	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);	animation: cc-rise .3s cubic-bezier(.2, .8, .2, 1);}.cc-modal-dialog:focus {	outline: none;}.cc-modal-head {	display: flex;	align-items: center;	justify-content: space-between;	padding: 20px 24px 8px;}.cc-modal-head h2 {	font-size: 22px;	font-weight: 700;	margin: 0;	line-height: 1.3;	color: #1f2d2a;}.cc-modal-close {	width: 38px;	height: 38px;	border-radius: 50%;	border: 0;	background: #f1f5f4;	color: #52615d;	cursor: pointer;	font-size: 16px;}.cc-modal-close:hover {	background: #e3ebe8;}.cc-modal-body {	padding: 4px 24px 8px;	overflow-y: auto;}.cc-modal-intro {	font-size: 14px;	line-height: 1.65;	color: #52615d;	margin-bottom: 14px;}.cc-category {	border: 1px solid #e6ecea;	border-radius: 14px;	padding: 14px 16px;	margin-bottom: 12px;}.cc-category-head {	display: flex;	align-items: center;	justify-content: space-between;	gap: 12px;}.cc-category h3 {	font-size: 16px;	font-weight: 700;	margin: 0;	line-height: 1.4;	color: #1f2d2a;	letter-spacing: 0;}.cc-always {	font-size: 12px;	color: #238a6a;}.cc-category p {	margin: 8px 0 0;	font-size: 13.5px;	line-height: 1.65;	color: #52615d;}.cc-modal-foot {	display: flex;	flex-wrap: wrap;	justify-content: flex-end;	gap: 8px;	padding: 12px 24px 20px;	border-top: 1px solid #eef2f1;}/* Toggle switch */.cc-switch {	position: relative;	flex: 0 0 auto;	width: 50px;	height: 28px;	margin: 0;	cursor: pointer;}.cc-switch input {	position: absolute;	opacity: 0;	width: 100%;	height: 100%;	margin: 0;	cursor: pointer;}.cc-switch-track {	position: absolute;	top: 0;	right: 0;	bottom: 0;	left: 0;	border-radius: 999px;	background: #cfd9d6;	transition: background-color .2s;	pointer-events: none;}.cc-switch-track::after {	content: "";	position: absolute;	top: 3px;	left: 3px;	width: 22px;	height: 22px;	border-radius: 50%;	background: #fff;	box-shadow: 0 1px 3px rgba(0, 0, 0, .2);	transition: transform .2s;}.cc-switch input:checked + .cc-switch-track {	background: #3fb892;}.cc-switch input:checked + .cc-switch-track::after {	transform: translateX(22px);}.cc-switch input:focus-visible + .cc-switch-track {	box-shadow: 0 0 0 3px rgba(103, 213, 179, .5);}.cc-switch.is-locked {	cursor: not-allowed;	opacity: .6;}html.cc-modal-open {	overflow: hidden;}/* Footer legal links */.footer-legal {	display: flex;	flex-wrap: wrap;	align-items: center;	justify-content: space-between;	gap: 8px 20px;}.footer-legal-links {	display: flex;	flex-wrap: wrap;	gap: 6px 18px;}.footer-legal-links a {	color: inherit;	opacity: .85;	text-decoration: none;}.footer-legal-links a:hover {	opacity: 1;	text-decoration: underline;}@keyframes cc-rise {	from { opacity: 0; transform: translateY(16px); }	to { opacity: 1; transform: none; }}@keyframes cc-fade {	from { opacity: 0; }	to { opacity: 1; }}@media (max-width: 767px) {	.cc-banner {		left: 8px;		right: 8px;		bottom: 8px;	}	.cc-banner-inner {		flex-wrap: wrap;		gap: 12px;		padding: 16px;	}	.cc-banner-icon {		display: none;	}	.cc-banner-actions {		width: 100%;		display: grid;		grid-template-columns: 1fr 1fr;	}	.cc-banner-actions .cc-btn-link {		grid-column: 1 / -1;		order: 3;		padding-top: 4px;		padding-bottom: 4px;	}	.cc-modal {		align-items: flex-end;		padding: 0;	}	.cc-modal-dialog {		max-width: none;		max-height: 92vh;		border-radius: 20px 20px 0 0;	}	.cc-modal-foot .cc-btn {		flex: 1 1 100%;	}	.cc-modal-foot .cc-btn-primary {		order: -1;	}}@media (prefers-reduced-motion: reduce) {	.cc-banner,	.cc-modal-dialog,	.cc-modal-backdrop {		animation: none;	}}