/* Misc
------------------------------------------------------------------------------------------------ */
	#iggocm-contacts-list :last-child { margin: 0; }



/* Search functionality
------------------------------------------------------------------------------------------------ */
	.iggocm-search { margin: 0; color: var(--textcolor); --fieldheight: 53px; }
	.iggocm-search + .contacts-list-content { margin-top: 48px; }
	.iggocm-search-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 60px; grid-gap: 4px; }

	.iggocm-search label { display: block; font-weight: bold; }

	.iggocm-search :is(input, select) { display: block; width: 100%; height: var(--fieldheight); padding: 0 15px; border-radius: var(--border-radius); font-size: var(--text-normal); background: none; border: 1px solid var(--form-bordercolor); transition: var(--transition-fast); border-radius: 4px; }
	.iggocm-search .iggocm-keyword input:focus { border: 1px solid var(--primary-light); }
	.iggocm-search .iggocm-category select { white-space: nowrap; text-overflow: ellipsis; }

	.iggocm-search button { align-self: end; height: var(--fieldheight); position: relative; border-radius: 4px; cursor: pointer; background: var(--primary); }
	.iggocm-search button:is(:hover, :focus) { background: var(--primary-light); }
	.iggocm-search button .mobile-hidden { display: inline-block; }

		@media (max-width: 639px) {
			.iggocm-search button { padding: 0; }
		}

		@media (min-width: 640px) {
			.iggocm-search-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 116px; grid-gap: 8px; }
			.iggocm-search button .mobile-hidden { display: inline-block; }

			/* Avoid double text for screen readers */
			.iggocm-search button .visually-hidden { display: none; }
		}


	/* Add back custom chevron/arrow for select */
	.iggocm-search .iggocm-category { position: relative; }
	.iggocm-category > select { padding-right: 36px !important; }


	/* Categories */
	#iggocm-contacts-list ul { list-style: none; margin: 0; }
	#iggocm-contacts-list li { margin: 0; }

	#iggocm-contacts-list ul.level-1 { margin: 0 0 64px; }
	#iggocm-contacts-list ul.level-1:last-child { margin: 0; }

	#iggocm-contacts-list ul.pagination:empty { display: none; }

	/* Errors */
	#iggocm-contacts-list .noresult { background: var(--errorcolor); color: #FFF; padding: 8px 16px; border-radius: var(--border-radius); text-align: center; margin: -32px 0 0 0; }


/* Listing Contacts
------------------------------------------------------------------------------------------------ */
	#iggocm-contacts-list .contacts { display: grid; grid-template-columns: 100%; grid-gap: var(--cardgap); margin: 0 0 48px; }

		@media (min-width: 768px) {
			#iggocm-contacts-list .contacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		}

		@media (min-width: 1200px) {
			.content-fullwidth #iggocm-contacts-list .contacts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
		}

	/* Single Contact Card */
	.iggocm-contact-card { background: #FFF; height: 100%; position: relative; border-radius: var(--border-radius); }
	.iggocm-infowrap { display: grid; height: 100%; }
	.iggocm-infowrap > div:empty { display: none; }

	.iggocm-topinfo { padding: 24px 28px; border: 1px solid #CCC; border-bottom: none; border-radius: 4px 4px 0 0; }

	.iggocm-contact-card .toprow { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; grid-gap: 24px; margin-bottom: 16px; 

		@media (width >= 420px) {
			grid-template-columns: 80px minmax(0, 1fr);
		}
	}

	.iggocm-contact-card .toprow:last-child { margin-bottom: 0; }
	.iggocm-contact-card .toprow img { width: 100%; height: 100%; border-radius: 100%; }
	.iggocm-contact-card .toprow .rightcol:first-child:last-child { grid-column: 1/3; text-align: center; }

	.iggocm-contact-card .rightcol { line-height: 1.2; }
	.iggocm-contact-name { font-size: var(--text-large); font-weight: bold; margin: 0 0 2px; }
	.iggocm-title { margin: 0; }

	.iggocm-title + .iggocm-description { margin-top: 8px !important; }
	.iggocm-description { font-size: var(--text-small); }

	/* Contact buttons */
	.iggocm-contact { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); font-size: var(--text-small); line-height: 1.3; grid-gap: 1px; align-items: center; background: #BBB; align-self: flex-end; border: 1px solid #CCC; border-top: 3px solid var(--primary-light); border-radius: 0 0 4px 4px; }

	.iggocm-contact .email-name,
	.iggocm-contact .email-domain { display: inline-block; white-space: nowrap; }

	/* Start out without icons at minimum supported width (360px) */
	.iggocm-contact a { background: #E8E8E8; padding: 10px 20px 16px; position: relative; text-decoration: none; font-family: var(--font-para); height: 100%; text-align: center; display: flex; align-items: center; justify-content: center; flex-direction: column; transition: background var(--transition-med); }
	.iggocm-contact .icm-email { display: block; }

	.iggocm-contact a svg { position: absolute; }
	.iggocm-contact .icm-email svg { width: 16px; height: auto; top: 8px; right: 17px; }
	.iggocm-contact .icm-phone svg { width: 11px; height: auto; top: 7px; right: 18px; }

	.iggocm-contact a { offset: 3px solid #E8E8E8; outline-offset: 0; }
	.iggocm-contact a:focus-visible { outline-offset: 0; z-index: 1; }

	.iggocm-contact a:hover { background: #F5F5F5; }

	/* If only using email OR phone (not both) */
	.iggocm-contact { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.iggocm-contact > a:first-child:last-child { grid-column: 1/3; }

	/* Add icons for contact buttons */
	.iggocm-contact a { text-align: left; align-items: flex-start; padding: 7px 42px 7px 16px; }

		@media (min-width: 420px) {
			/* Adding slightly more space for buttons */
			.iggocm-contact a { padding: 7px 46px 7px 20px; }
		}

	/* Shortcode list spacing */
	.shortcode-contacts-list { margin-bottom: 16px; }
	.shortcode-contacts-list:has(+ .shortcode-contacts-list) { margin-bottom: 16px; }