/**
 * Offcanvas / menu mobile — Casa do Menino Deus
 */

#offcanvas.ct-panel {
	--cmd-offcanvas-pad: 20px;
	--cmd-offcanvas-border: #e6e6e6;
	--cmd-offcanvas-text: #111111;
	--cmd-offcanvas-muted: #b8b8b8;
	--cmd-offcanvas-active-bg: #f4f4f4;
	--side-panel-width: 100vw;
	--side-panel-offset: 0px;
	font-family: "polymath-text", sans-serif;
	color: var(--cmd-offcanvas-text);
}

/* Painel full-screen, fundo opaco (Blocksy usa rgba 0.98 por defeito) */
#offcanvas.ct-panel,
#offcanvas.ct-panel.active {
	inset: 0 !important;
	width: 100vw !important;
	max-width: 100% !important;
}

#offcanvas .ct-panel-inner {
	position: relative !important;
	inset: auto !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100dvh !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #ffffff !important;
	transform: none !important;
	display: flex;
	flex-direction: column;
}

#offcanvas[data-behaviour="right-side"] .ct-panel-inner,
#offcanvas[data-behaviour*="left-side"] .ct-panel-inner {
	align-self: stretch !important;
	transform: none !important;
}

#offcanvas .ct-panel-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding:
		max(24px, env(safe-area-inset-top))
		var(--cmd-offcanvas-pad)
		28px;
	border-bottom: 1px solid var(--cmd-offcanvas-border);
	flex-shrink: 0;
}

#offcanvas .ct-panel-actions::before {
	content: "";
	display: block;
	width: 160px;
	height: 44px;
	background: var(--cmd-offcanvas-logo) center left / contain no-repeat;
	flex-shrink: 0;
}

#offcanvas .ct-toggle-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111111 !important;
	cursor: pointer;
	flex-shrink: 0;
	opacity: 1 !important;
}

#offcanvas .ct-toggle-close .ct-icon,
#offcanvas .ct-toggle-close svg,
#offcanvas .ct-toggle-close path {
	fill: currentColor !important;
	color: #111111 !important;
	width: 14px;
	height: 14px;
}

#offcanvas .ct-panel-content[data-device="desktop"] {
	display: none !important;
}

#offcanvas .ct-panel-content[data-device="mobile"] {
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
	min-height: 0;
	overflow: hidden;
}

#offcanvas .ct-panel-content-inner {
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: column;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0;
	padding: 0 !important;
	align-self: stretch !important;
}

#offcanvas .ct-panel-content-inner > * {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
}

/* —— Navegação principal —— */
#offcanvas .mobile-menu {
	padding: 12px 0 0 !important;
	margin: 0 !important;
	width: 100% !important;
	text-transform: none !important;
}

#offcanvas .mobile-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

#offcanvas .mobile-menu .menu-item {
	margin: 0;
	border-bottom: 1px solid var(--cmd-offcanvas-border);
}

#offcanvas .mobile-menu .ct-menu-link {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 22px var(--cmd-offcanvas-pad) !important;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--cmd-offcanvas-text) !important;
	text-decoration: none;
	text-transform: none !important;
	-webkit-tap-highlight-color: transparent;
}

#offcanvas .mobile-menu .ct-menu-link::after {
	content: "→";
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1;
	flex-shrink: 0;
}

#offcanvas .mobile-menu .ct-toggle-dropdown,
#offcanvas .mobile-menu .child-indicator,
#offcanvas .mobile-menu .ct-menu-link .ct-icon {
	display: none !important;
}

/* —— Idiomas —— */
#offcanvas .ct-language-switcher {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 32px 0 0 !important;
	padding: 0 !important;
	text-transform: none !important;
}

#offcanvas .ct-language-switcher::before {
	content: var(--cmd-offcanvas-lang-label, "Selecionar idioma");
	display: block;
	width: 100%;
	padding: 28px var(--cmd-offcanvas-pad) 20px;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--cmd-offcanvas-text);
	text-transform: none;
	border-bottom: 1px solid var(--cmd-offcanvas-border);
	box-sizing: border-box;
}

#offcanvas .ct-language-switcher .ct-language {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
}

#offcanvas .ct-language-switcher .ct-language > li {
	width: 100% !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--cmd-offcanvas-border);
	flex: none !important;
}

#offcanvas .ct-language li:has(a[lang="pt-pt"]) { order: 1; }
#offcanvas .ct-language li:has(a[lang="en"]) { order: 2; }
#offcanvas .ct-language li:has(a[lang="fr"]) { order: 3; }
#offcanvas .ct-language li:has(a[lang="de"]) { order: 4; }

#offcanvas .ct-language li a {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 20px var(--cmd-offcanvas-pad) !important;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.25;
	color: var(--cmd-offcanvas-muted) !important;
	text-decoration: none;
	text-transform: none !important;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
}

#offcanvas .ct-language li a .ct-label {
	order: 1 !important;
	flex: 1 1 auto;
	text-transform: none !important;
	font-weight: inherit;
	color: inherit;
	text-align: left;
}

#offcanvas .ct-language li.current-lang a {
	font-weight: 700;
	color: var(--cmd-offcanvas-text) !important;
	background: var(--cmd-offcanvas-active-bg);
}

#offcanvas .ct-language li a img {
	display: block;
	order: 2 !important;
	flex: 0 0 34px;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px;
	min-height: 34px;
	max-width: 34px;
	max-height: 34px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
}

/* —— Copyright —— */
#offcanvas [data-id="widget-area-1"] {
	margin-top: auto;
	flex-shrink: 0;
	width: 100% !important;
	padding:
		28px
		var(--cmd-offcanvas-pad)
		max(18px, env(safe-area-inset-bottom));
	text-align: center;
	box-sizing: border-box;
}

#offcanvas [data-id="widget-area-1"] .widget_text:has(p:empty),
#offcanvas [data-id="widget-area-1"] .widget_text .wp-block-paragraph:empty {
	display: none;
}

#offcanvas [data-id="widget-area-1"] .ct-widget {
	margin: 0;
	width: 100%;
}

#offcanvas [data-id="widget-area-1"] p {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--cmd-offcanvas-text);
	text-transform: none;
}

@media (max-width: 374.98px) {
	#offcanvas.ct-panel {
		--cmd-offcanvas-pad: 20px;
	}

	#offcanvas .ct-panel-actions::before {
		width: 132px;
		height: 38px;
	}

	#offcanvas .mobile-menu .ct-menu-link {
		font-size: 1rem;
		padding-block: 16px !important;
	}
}
