/*
 * Let’s Canada responsive CookieAdmin shell.
 *
 * CookieAdmin remains responsible for displaying the banner, collecting the
 * visitor's decision and storing consent. These rules only constrain its
 * presentation so the controls remain operable on small screens.
 */

.cookieadmin_law_container :focus-visible,
.cookieadmin_cookie_modal :focus-visible,
.cookieadmin_re_consent:focus-visible {
	outline: 3px solid #ffbf47 !important;
	outline-offset: 2px !important;
}

@media (max-width: 767px) {
	.cookieadmin_law_container {
		inset: auto max(8px, env(safe-area-inset-right))
			max(8px, env(safe-area-inset-bottom))
			max(8px, env(safe-area-inset-left)) !important;
		width: auto !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	.cookieadmin_law_container .cookieadmin_consent_inside {
		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) auto auto auto;
		gap: 4px;
		max-height: min(30dvh, 260px);
		padding: 8px 10px !important;
		overflow: hidden;
		border-radius: 8px;
		box-sizing: border-box;
	}

	.cookieadmin_law_container .cookieadmin_notice_group {
		display: contents !important;
	}

	.cookieadmin_law_container #cookieadmin_notice_title {
		margin: 0 !important;
		padding: 0 2px !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
	}

	.cookieadmin_law_container .cookieadmin_notice_con {
		min-height: 0;
		margin: 0 !important;
		padding: 0 2px !important;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		font-size: 12px !important;
		line-height: 1.35 !important;
	}

	.cookieadmin_law_container .cookieadmin_notice_con p {
		margin: 0 !important;
	}

	.cookieadmin_law_container .cookieadmin_consent_btns {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 4px;
		width: 100%;
		align-items: stretch;
	}

	.cookieadmin_law_container .cookieadmin_consent_btns .cookieadmin_btn {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0;
		min-height: 44px;
		margin: 0 !important;
		padding: 5px 3px !important;
		font-size: 11.5px !important;
		font-weight: 600;
		line-height: 1.15 !important;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.cookieadmin_law_container .cookieadmin_policy_link_box {
		gap: 4px 10px;
		justify-content: center;
		font-size: 11px !important;
		line-height: 1.2 !important;
	}

	.cookieadmin_law_container .cookieadmin-poweredby {
		margin-top: 0 !important;
	}

	.cookieadmin_law_container .cookieadmin-poweredby a {
		font-size: 10px !important;
		line-height: 1 !important;
	}

	.cookieadmin_law_container .cookieadmin-poweredby a img {
		height: 12px !important;
	}

	.cookieadmin_cookie_modal {
		inset: max(8px, env(safe-area-inset-top))
			max(8px, env(safe-area-inset-right))
			max(8px, env(safe-area-inset-bottom))
			max(8px, env(safe-area-inset-left)) !important;
		width: auto !important;
		height: auto !important;
		max-width: none !important;
		max-height: none !important;
		min-height: 0 !important;
		grid-template-rows: auto minmax(0, 1fr) auto;
		border-radius: 8px !important;
		box-sizing: border-box;
		overflow: hidden;
	}

	.cookieadmin_cookie_modal.cookieadmin_side,
	.cookieadmin_cookie_modal.cookieadmin_down,
	.cookieadmin_cookie_modal.cookieadmin_center {
		inset: max(8px, env(safe-area-inset-top))
			max(8px, env(safe-area-inset-right))
			max(8px, env(safe-area-inset-bottom))
			max(8px, env(safe-area-inset-left)) !important;
		width: auto !important;
		max-width: none !important;
		max-height: none !important;
		border-radius: 8px !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_mod_head {
		flex: 0 0 auto;
		align-items: center;
		min-height: 48px;
		padding: 6px 10px !important;
		box-sizing: border-box;
	}

	.cookieadmin_cookie_modal .cookieadmin_preference_title {
		margin: 4px !important;
		font-size: 17px !important;
		line-height: 1.2 !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_close_pref {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		flex: 0 0 44px;
		font-size: 18px;
	}

	.cookieadmin_cookie_modal .cookieadmin_details_wrapper {
		flex: 1 1 auto;
		min-height: 0 !important;
		height: auto !important;
		padding: 0 8px !important;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	.cookieadmin_cookie_modal .cookieadmin_preference_details {
		padding: 0 4px !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_preference {
		padding: 8px 0 !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_types {
		padding: 9px 4px !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_header {
		gap: 8px;
		align-items: center;
	}

	.cookieadmin_cookie_modal .cookieadmin_desc {
		padding: 5px 8px !important;
		font-size: 12px !important;
		line-height: 1.35 !important;
	}

	.cookieadmin_cookie_modal .cookieadmin-modal-cookies-list {
		margin: 0 8px !important;
		font-size: 12px !important;
	}

	.cookieadmin_cookie_modal .cookieadmin-cookie-card {
		padding: 10px !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_modal_footer {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px;
		flex: 0 0 auto;
		max-height: 34dvh;
		padding: 8px !important;
		overflow-y: auto;
		box-sizing: border-box;
	}

	.cookieadmin_cookie_modal .cookieadmin_modal_footer > .cookieadmin_btn {
		width: auto !important;
		min-width: 0;
		min-height: 44px;
		margin: 0 !important;
		padding: 5px 3px !important;
		font-size: 11.5px !important;
		font-weight: 600;
		line-height: 1.15 !important;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.cookieadmin_cookie_modal #cookieadmin_gpc_override,
	.cookieadmin_cookie_modal .cookieadmin_modal_footer_links {
		grid-column: 1 / -1;
	}

	.cookieadmin_cookie_modal .cookieadmin_modal_footer_links {
		gap: 4px 10px;
		margin: 2px 0 0 !important;
		font-size: 11px !important;
		line-height: 1.2 !important;
	}

	.cookieadmin_cookie_modal .cookieadmin_modal_policy_link_box {
		gap: 4px 10px;
	}
}
