/* Automatic Books submenu. Core Navigation owns interaction and accessibility. */
.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--cream, #f5f0e5);
	border: 2px solid var(--wp--preset--color--ink, #111);
	box-shadow: 8px 8px 0 color-mix(in srgb, var(--wp--preset--color--core-teal, #075b60) 28%, transparent);
	column-gap: .5rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(12rem, 1fr));
	left: 50%;
	max-width: min(42rem, calc(100vw - 2rem));
	padding: .65rem;
	row-gap: .25rem;
	transform: translateX(-50%);
	width: max-content;
}

.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	align-items: stretch;
}

.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	align-items: center;
	color: var(--wp--preset--color--ink, #111);
	display: flex;
	font-size: .86rem;
	font-weight: 700;
	line-height: 1.25;
	min-height: 2.75rem;
	padding: .7rem .85rem;
	text-transform: none;
}

.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--core-teal, #075b60);
	color: var(--wp--preset--color--white, #fff);
}

.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container > .al-books-submenu__all {
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink, #111) 30%, transparent);
	grid-column: 1 / -1;
}

.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container > .al-books-submenu__all > .wp-block-navigation-item__content {
	font-size: .74rem;
	letter-spacing: .08em;
	min-height: 2.25rem;
	text-transform: uppercase;
}

/* The parent remains a normal link. The adjacent core button controls only the submenu. */
.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-icon,
.al-primary-navigation .al-books-submenu > .al-books-submenu__toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: currentColor;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	justify-content: center;
	min-height: 1.5rem;
	min-width: 1.5rem;
	padding: 0;
}

.al-primary-navigation .al-books-submenu > .al-books-submenu__toggle svg {
	height: .75rem;
	transition: transform var(--al-motion-duration-fast, 160ms) var(--al-motion-easing-standard, ease);
	width: .75rem;
}

.al-primary-navigation .al-books-submenu > .al-books-submenu__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

@media (max-width: 960px) {
	.al-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .al-books-submenu {
		align-items: center;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		width: 100%;
	}

	.al-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .al-books-submenu > .wp-block-navigation-item__content {
		grid-column: 1;
	}

	.al-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .al-books-submenu > .al-books-submenu__toggle {
		display: inline-flex !important;
		grid-column: 2;
		justify-content: center;
	}

	.al-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .al-books-submenu > .wp-block-navigation__submenu-container {
		box-shadow: none;
		grid-column: 1 / -1;
		grid-template-columns: 1fr;
		left: auto;
		margin-top: .75rem;
		max-width: none;
		padding: .5rem;
		transform: none;
		width: 100%;
	}

	.al-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .al-books-submenu > .al-books-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
		display: none !important;
		height: 0 !important;
		visibility: hidden !important;
	}

	.al-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .al-books-submenu > .al-books-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: grid !important;
		height: auto !important;
		visibility: visible !important;
	}
}

@media (forced-colors: active) {
	.al-primary-navigation .al-books-submenu > .wp-block-navigation__submenu-container {
		border-color: CanvasText;
		box-shadow: none;
	}
}

/* Standard Book page fixes. Keep the parent TIGS formation intact. */
.al-book-tigs.al-book-record-renderer .al-book-hero__guest {
	isolation: isolate;
}

.al-book-tigs.al-book-record-renderer .al-book-hero__copy {
	z-index: 9;
}

.al-book-tigs.al-book-record-renderer .al-book-note--premise {
	overflow: hidden;
}

.al-book-tigs.al-book-record-renderer .al-book-note--premise__text {
	bottom: 17%;
	display: block;
	font-size: clamp(8px, .7vw, 10.5px);
	left: 17%;
	line-height: 1.25;
	overflow: hidden;
	overflow-wrap: break-word;
	right: 10%;
	top: 22%;
	transform: none;
	white-space: normal;
	word-break: normal;
}

/* The caption lives inside the card's reserved paper area, so each card
 * scales and reflows as one composed unit across all breakpoints. */
.al-book-tigs.al-book-record-renderer .al-book-inside__caption-text {
	align-items: center;
	bottom: auto;
	display: flex;
	height: 15%;
	justify-content: center;
	left: 50%;
	line-height: 1.08;
	overflow: hidden;
	top: 69.5%;
	transform: translateX(-50%) rotate(-1deg);
	white-space: normal;
	width: 76%;
}

.al-book-tigs.al-book-record-renderer .al-book-inside__note-text {
	max-height: 58%;
	overflow: hidden;
	width: 70%;
}

@media (max-width: 1099px) {
	.al-book-tigs.al-book-record-renderer .al-book-note--premise__text {
		bottom: 17%;
		font-size: clamp(8.2px, 1.28vw, 10.5px);
		left: 17%;
		right: 10%;
		top: 22%;
	}
}

@media (max-width: 699px) {
	.al-book-tigs.al-book-record-renderer .al-book-note--premise__text {
		font-size: clamp(7.8px, 2.35vw, 9.2px);
		line-height: 1.22;
	}

	.al-book-tigs.al-book-record-renderer .al-book-inside__caption-text {
		font-size: clamp(13px, 4vw, 16px);
	}
}
