/*
 * Core block styling for the Field edition (DESIGN.md › Interaction).
 * Buttons are core button blocks: navy primary by default, block styles “Amber” (on dark) and
 * “Outline” (secondary), jg-btn--sm for the 44px size, and an icon by class:
 *   jg-icon-arrow     trailing arrow (inside the site)
 *   jg-icon-external  trailing external mark (other sites)
 *   jg-icon-phone     leading phone (tel: links)
 *   jg-icon-phone-end trailing phone (the mobile sheet’s numbers)
 */

/* ==========================================================================
   Buttons
   ========================================================================== */

.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 0;
	font-family: var(--jg-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
	text-decoration: none;
	word-break: normal;
	cursor: pointer;
	transition:
		background-color var(--jg-fast) var(--jg-ease),
		color var(--jg-fast) var(--jg-ease),
		border-color var(--jg-fast) var(--jg-ease);
}

.wp-block-button .wp-block-button__link {
	height: auto;
}

.wp-block-buttons > .wp-block-button {
	display: flex;
}

.wp-block-buttons .wp-block-button__link {
	width: auto;
}

.wp-block-button.is-style-amber .wp-block-button__link {
	border-color: var(--jg-amber);
	background: var(--jg-amber);
	color: var(--jg-ink);
}

.wp-block-button.is-style-amber .wp-block-button__link:hover {
	border-color: var(--jg-amber-hover);
	background: var(--jg-amber-hover);
	color: var(--jg-ink);
}

.wp-block-button.is-style-secondary .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--jg-ink);
	background: transparent;
	color: var(--jg-ink);
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--jg-ink);
	color: var(--jg-paper);
}

.wp-block-button.jg-btn--sm .wp-block-button__link {
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	font-size: var(--jg-text-small);
}

.jg-scene .wp-block-button:not(.is-style-amber) .wp-block-button__link:focus-visible,
.jg-section--ink .wp-block-button .wp-block-button__link:focus-visible {
	outline-color: var(--jg-amber);
}

/* Icons follow the link (Button.astro). */
.wp-block-button[class*='jg-icon-'] .wp-block-button__link::before,
.wp-block-button[class*='jg-icon-'] .wp-block-button__link::after {
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--jg-i-arrow) center / contain no-repeat;
	mask: var(--jg-i-arrow) center / contain no-repeat;
	transition: transform var(--jg-base) var(--jg-ease);
}

.wp-block-button.jg-icon-arrow .wp-block-button__link::after,
.wp-block-button.jg-icon-external .wp-block-button__link::after,
.wp-block-button.jg-icon-phone-end .wp-block-button__link::after {
	content: '';
}

.wp-block-button.jg-icon-arrow .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.wp-block-button.jg-icon-external .wp-block-button__link::after {
	-webkit-mask-image: var(--jg-i-external);
	mask-image: var(--jg-i-external);
}

.wp-block-button.jg-icon-phone .wp-block-button__link::before {
	content: '';
	width: 20px;
	height: 20px;
	-webkit-mask-image: var(--jg-i-phone);
	mask-image: var(--jg-i-phone);
}

.wp-block-button.jg-icon-phone-end .wp-block-button__link::after {
	width: 20px;
	height: 20px;
	-webkit-mask-image: var(--jg-i-phone);
	mask-image: var(--jg-i-phone);
}

.wp-block-button.jg-btn--sm[class*='jg-icon-'] .wp-block-button__link::after {
	width: 14px;
	height: 14px;
}

/* ==========================================================================
   Defaults outside Field edition surfaces (posts, plain pages)
   The blog extends these in blog.css.
   ========================================================================== */

.wp-block-separator:not(.jg-horizon) {
	border: 0;
	border-top: 1px solid var(--jg-rule);
	opacity: 1;
}

:where(.wp-block-image, .wp-block-table, .wp-block-embed) figcaption {
	color: var(--jg-ink-3);
	font-size: var(--jg-text-meta);
	line-height: 1.5;
}

.wp-block-quote {
	margin-inline: 0;
	padding-left: 24px;
	border-left: 2px solid var(--jg-ink);
}

.wp-block-table:not(.jg-table) table {
	width: 100%;
	border-collapse: collapse;
}

.wp-block-table:not(.jg-table) th,
.wp-block-table:not(.jg-table) td {
	padding: 10px 16px 10px 0;
	border: 0;
	border-bottom: 1px solid var(--jg-rule);
	text-align: left;
	vertical-align: baseline;
}

.wp-block-table:not(.jg-table) thead th {
	border-top: 1px solid var(--jg-ink);
	border-bottom-color: var(--jg-ink);
	font-size: var(--jg-text-small);
	font-weight: 600;
}

.wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
}
