/* =========================================================
   IPS — MENU MOBILE
   Drawer lateral, identidade, navegação, submenus e CTA
   ========================================================= */


/* Segurança:
   elementos exclusivos do drawer nunca aparecem no desktop */
.ips-mobile-menu__brand,
.ips-mobile-menu__cta {
	display: none;
}


@media (max-width: 781px) {

	/* =====================================================
	   ESTADO DA PÁGINA
	   ===================================================== */

	body.ips-mobile-menu-open {
		overflow: hidden;
		touch-action: none;
	}


	/* =====================================================
	   OVERLAY
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed;
		inset: 0;
		z-index: 9999;

		display: flex;
		justify-content: flex-end;

		padding: 0;

		background: rgba(11, 6, 32, 0.22) !important;
	}


	/* =====================================================
	   PAINEL LATERAL
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation__responsive-close {
		width: min(88vw, 390px);
		height: 100%;

		margin-left: auto;
		margin-right: 0;

		background: rgba(247, 247, 247, 0.94);

		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);

		box-shadow: -10px 0 28px rgba(11, 6, 32, 0.10);

		transform: translateX(100%);
		transition: transform 220ms ease;
	}

	.ips-primary-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-close {
		transform: translateX(0);
	}


	/* =====================================================
	   ÁREA INTERIOR
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation__responsive-dialog {
		box-sizing: border-box;

		width: 100%;
		height: 100%;
		min-height: 100dvh;

		padding: 76px 28px 32px;

		overflow-y: auto;
		overscroll-behavior: contain;
	}


	/* =====================================================
	   BOTÃO DE FECHAR
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation__responsive-container-close {
		top: 24px;
		right: 24px;
		z-index: 20;

		border: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;

		-webkit-tap-highlight-color: transparent;
	}


	/* =====================================================
	   IDENTIDADE / LOGÓTIPO
	   ===================================================== */

	.ips-primary-navigation
	.ips-mobile-menu__brand {
		display: flex;
		align-items: center;

		min-height: 52px;

		margin: -48px 46px 14px 0;
		padding-bottom: 12px;

		border-bottom: 1px solid rgba(11, 6, 32, 0.12);
	}

	.ips-primary-navigation
	.ips-mobile-menu__brand-link {
		display: inline-flex;
		align-items: center;

		line-height: 0;
		text-decoration: none;
	}

	.ips-primary-navigation
	.ips-mobile-menu__brand-logo {
		display: block;

		width: 82px;
		height: 42px;

		object-fit: contain;
		object-position: left center;
	}


	/* =====================================================
	   CONTEÚDO DA NAVEGAÇÃO
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation__responsive-container-content {
		align-items: stretch;

		width: 100%;
		padding-top: 0;
	}

	.ips-primary-navigation
	.wp-block-navigation__container {
		align-items: stretch;

		width: 100%;
		gap: 0;
	}


	/* =====================================================
	   ITENS PRINCIPAIS
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation-item {
		position: relative;

		width: 100%;
		text-align: left;
	}

	.ips-primary-navigation
	.wp-block-navigation-item__content {
		box-sizing: border-box;

		justify-content: flex-start;

		width: 100%;
		padding: 15px 0;

		border: 0 !important;
		border-radius: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;

		text-align: left;
		color: inherit;
		text-decoration: none;

		-webkit-tap-highlight-color: transparent;
	}


	/* Remove efeitos visuais de foco/toque/item atual */
	.ips-primary-navigation
	.wp-block-navigation-item__content:focus,
	.ips-primary-navigation
	.wp-block-navigation-item__content:focus-visible,
	.ips-primary-navigation
	.wp-block-navigation-item__content:active,
	.ips-primary-navigation
	.current-menu-item > .wp-block-navigation-item__content,
	.ips-primary-navigation
	.current-menu-ancestor > .wp-block-navigation-item__content {
		padding: 15px 0;

		border: 0 !important;
		border-radius: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;

		color: inherit;
	}


	/* =====================================================
	   ITENS COM SUBMENU
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation-submenu {
		display: grid !important;

		grid-template-columns: minmax(0, 1fr) 32px;

		align-items: center;

		width: 100%;
	}


	.ips-primary-navigation
	.wp-block-navigation-submenu
	> .wp-block-navigation-item__content {
		grid-column: 1;
		grid-row: 1;

		width: 100%;
		padding: 15px 8px 15px 0;
	}


	/* =====================================================
	   SETAS DOS SUBMENUS
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation-submenu
	> .wp-block-navigation__submenu-icon {
		position: static;
		z-index: 10;

		grid-column: 2;
		grid-row: 1;

		display: flex !important;
		align-items: center;
		justify-content: center;

		width: 32px;
		height: 32px;

		margin: 0;
		padding: 0;

		border: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;

		cursor: pointer;
		pointer-events: auto;

		transform: none;

		-webkit-tap-highlight-color: transparent;
	}


	.ips-primary-navigation
	.wp-block-navigation-submenu
	> .wp-block-navigation__submenu-icon:focus,
	.ips-primary-navigation
	.wp-block-navigation-submenu
	> .wp-block-navigation__submenu-icon:focus-visible,
	.ips-primary-navigation
	.wp-block-navigation-submenu
	> .wp-block-navigation__submenu-icon:active {
		border: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;
	}


	.ips-primary-navigation
	.wp-block-navigation-submenu
	> .wp-block-navigation__submenu-icon svg {
		width: 14px !important;
		height: 14px !important;

		transition: transform 180ms ease;
	}


	.ips-primary-navigation
	.wp-block-navigation-submenu.ips-submenu-open
	> .wp-block-navigation__submenu-icon svg {
		transform: rotate(180deg);
	}


	/* =====================================================
	   SUBMENUS
	   ===================================================== */

	.ips-primary-navigation
	.wp-block-navigation__submenu-container {
		display: none !important;
		position: static !important;

		grid-column: 1 / -1;
		grid-row: 2;

		box-sizing: border-box;

		width: 100% !important;
		min-width: 0 !important;

		margin: 0;
		padding: 4px 0 12px 18px;

		border: 0 !important;

		background: transparent !important;
		box-shadow: none !important;
	}


	.ips-primary-navigation
	.wp-block-navigation-submenu.ips-submenu-open
	> .wp-block-navigation__submenu-container {
		display: flex !important;
	}


	.ips-primary-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
		padding: 11px 0;

		border: 0 !important;
		border-radius: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;

		font-size: 0.94em;
		color: inherit;
	}


	.ips-primary-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:focus,
	.ips-primary-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:focus-visible,
	.ips-primary-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:active {
		padding: 11px 0;

		border: 0 !important;
		border-radius: 0 !important;
		outline: 0 !important;

		background: transparent !important;
		box-shadow: none !important;

		color: inherit;
	}


	/* =====================================================
	   CTA — MARCAR CONSULTA
	   ===================================================== */

	.ips-primary-navigation
	.ips-mobile-menu__cta {
		display: block;

		margin-top: 18px;
		padding-top: 18px;

		border-top: 1px solid rgba(11, 6, 32, 0.10);
	}


	.ips-primary-navigation
	.ips-mobile-menu__cta-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		width: auto;

		padding: 10px 18px;

		border: 1px solid #ab7942;
		border-radius: 999px;

		background: #ab7942;

		color: #ffffff !important;
		text-decoration: none;

		line-height: 1.2;

		transition:
			background-color 160ms ease,
			border-color 160ms ease;

		-webkit-tap-highlight-color: transparent;
	}


	.ips-primary-navigation
	.ips-mobile-menu__cta-link:hover,
	.ips-primary-navigation
	.ips-mobile-menu__cta-link:focus-visible {
		border-color: #966735;

		background: #966735;

		color: #ffffff !important;
	}
}