/* =========================================================
   HM TOC - plantilla Programas Clínicos
   Layout local TOC + contenido
   Usa el contenedor global de Astra
   ========================================================= */

/* título de plantilla */

.hm-program-title {
	max-width: 900px;
	margin: 0 auto 40px;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
}

.hm-program-title__text {
	margin: 0;
	font-family: "PT Serif", serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	color: #1F1F1F;
}

/* Espaciado título plantilla paginas-toc */

body.page-template-paginas-toc .entry-title ,
body.page-template-templatespaginas-toc-php .entry-title  {
	margin-bottom: 1.4em !important;
}

/* Títulos h2 y h3 de plantilla TOC */ 
body.page-template-programas-tratamiento .entry-content h2,body.page-template-paginas-toc .entry-content h2 {  margin-top: 40px !important;  margin-bottom: 16px !important;  line-height: 1.2 !important;}

body.page-template-programas-tratamiento .entry-content h3,
body.page-template-paginas-toc .entry-content h3 {
  margin-top: 22px !important;
  margin-bottom: 16px !important;
  line-height: 1.2 !important;
}/* Ajuste de aire entre párrafos, listas y texto posterior */body.page-template-programas-tratamiento .entry-content p + ul.wp-block-list,body.page-template-programas-tratamiento .entry-content p + ol.wp-block-list,body.page-template-paginas-toc .entry-content p + ul.wp-block-list,body.page-template-paginas-toc .entry-content p + ol.wp-block-list {	margin-top: 4px !important;}body.page-template-programas-tratamiento .entry-content ul.wp-block-list,body.page-template-programas-tratamiento .entry-content ol.wp-block-list,body.page-template-paginas-toc .entry-content ul.wp-block-list,body.page-template-paginas-toc .entry-content ol.wp-block-list {	margin-bottom: 16px !important;}body.page-template-programas-tratamiento .entry-content ul.wp-block-list + p,body.page-template-programas-tratamiento .entry-content ol.wp-block-list + p,body.page-template-paginas-toc .entry-content ul.wp-block-list + p,body.page-template-paginas-toc .entry-content ol.wp-block-list + p {	margin-top: 8px !important;}

/*  TOC base */

.hm-toc {
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.hm-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	background: #fff;
}

.hm-toc__item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #E6E8ED;
}

.hm-toc__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	min-height: 88px;
	padding: 16px 28px 16px 28px;
	box-sizing: border-box;
	background: #fff;
	color: #5A5F78;
	text-decoration: none;
	font-family: Roboto, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	transition: background-color .2s ease, color .2s ease;
}

.hm-toc__link:hover,
.hm-toc__link.is-active {
	background: #EEF0FF;
	color: #3F4370;
}

.hm-toc__link.is-active::after {
	content: "";
	display: inline-block;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	background-color: currentColor;
	-webkit-mask: url('/wp-content/themes/astra-child/assets/icons/eye-hm.svg') no-repeat center / contain;
	mask: url('/wp-content/themes/astra-child/assets/icons/eye-hm.svg') no-repeat center / contain;
}

/* anchors*/

.hm-toc-enabled .entry-content h2[id] {
	scroll-margin-top: 120px;
}

/* móvil / tablet */

@media (max-width: 921px) {

	.hm-toc {
		display: none !important;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] {
		padding-left: 20px;
		padding-right: 20px;
		margin-bottom: 72px;
		box-sizing: border-box;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > * {
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (min-width: 768px) and (max-width: 921px) {

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* desktop */

@media (min-width: 922px) {

	.hm-toc-enabled #primary {
		width: 100%;
		margin: 0;
	}

	.hm-toc-enabled .hm-program-title {
		padding-left: 0;
		padding-right: 0;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] {
		--hm-toc-col: 520px;
		--hm-toc-gap: 56px;
		--hm-start-space: 64px;
		--hm-first-text-offset: 34px;
		--hm-toc-visual-offset: 18px;
		--hm-content-right-pad: 48px;
		--hm-block-pad-bottom: 140px;
		--hm-block-margin-bottom: 72px;
		--hm-line-color: #E6E8ED;

		display: grid;
		grid-template-columns: var(--hm-toc-col) minmax(0, 1fr);
		column-gap: var(--hm-toc-gap);
		align-items: start;
		position: relative;
		width: 100%;
		margin: 0 0 var(--hm-block-margin-bottom);
		padding-top: var(--hm-start-space);
		padding-bottom: var(--hm-block-pad-bottom);
		box-sizing: border-box;

		background-image:
			linear-gradient(var(--hm-line-color), var(--hm-line-color)),
			linear-gradient(var(--hm-line-color), var(--hm-line-color)),
			linear-gradient(var(--hm-line-color), var(--hm-line-color));
		background-repeat: no-repeat, no-repeat, no-repeat;
		background-size:
			100% 1px,
			100% 1px,
			1px 100%;
		background-position:
			0 0,
			0 100%,
			var(--hm-toc-col) 0;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc {
		grid-column: 1;
		grid-row: 1 / 999;
		position: sticky;
		top: 120px;
		align-self: start;
		width: 100%;
		margin: 0;
		padding: var(--hm-toc-visual-offset) 0 0;
		box-sizing: border-box;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc,
	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc .hm-toc__list,
	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc .hm-toc__item {
		margin-left: 0;
		padding-left: 0;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > *:not(.hm-toc) {
		grid-column: 2;
		width: 100%;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-right: var(--hm-content-right-pad);
		box-sizing: border-box;
		align-self: start;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > p:empty {
		display: none;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + * {
		padding-top: 0 !important;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + p {
		margin-top: var(--hm-first-text-offset) !important;
		padding-top: 0 !important;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + p:empty + p {
		margin-top: var(--hm-first-text-offset) !important;
		padding-top: 0 !important;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + p:empty + p:empty + p {
		margin-top: var(--hm-first-text-offset) !important;
		padding-top: 0 !important;
	}

	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + h2,
	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + h3,
	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + ul,
	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + ol,
	.hm-toc-enabled .entry-content[data-ast-blocks-layout] > .hm-toc + div {
		margin-top: 0 !important;
	}
}

@media (min-width: 922px) {
	.hm-toc__link {
		padding-top: 16px;
		padding-right: 28px;
		padding-bottom: 16px;
		padding-left: 78px;
	}
}

@media (min-width: 1128px) {
	.hm-toc__link {
		padding-left: 142px;
	}
}