/**
 * Juicepage homepage catalogue.
 *
 * Gutenberg owns headings, introductory copy, labels, section order and Query
 * settings. Dynamic sample cards are assembled from the existing Download data.
 */
body.home {
	overflow-x: clip;
}

body.home .entry-content .wp-block-separator,
body.home .entry-content hr,
body.home .juicepage-home-samples-query::before,
body.home .juicepage-home-samples-query::after,
body.home .juicepage-home-samples-query .wp-block-post::before,
body.home .juicepage-home-samples-query .wp-block-post::after {
	display: none !important;
	content: none !important;
}

/* Hero layout is owned by homepage-hero.css. */

/* Catalogue section headings. */
body.home .entry-content > .jp-latest-heading,
body.home .entry-content > h2.wp-block-heading:has(+ .juicepage-home-samples-query) {
	max-width: 1100px !important;
	margin: 24px auto 1.5rem !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: clamp(2rem, 3vw, 2.5rem) !important;
	line-height: 1.1 !important;
	text-align: left !important;
}

body.home .entry-content > .jp-latest-heading::before,
body.home .entry-content > .jp-latest-heading::after,
body.home .entry-content > h2.wp-block-heading:has(+ .juicepage-home-samples-query)::before,
body.home .entry-content > h2.wp-block-heading:has(+ .juicepage-home-samples-query)::after {
	display: none !important;
	content: none !important;
}

/* Query container and responsive catalogue grid. */
body.home .juicepage-home-samples-query {
	width: min(100%, 1100px) !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.home .juicepage-home-samples-query .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.home .juicepage-home-samples-query .wp-block-post-template > .wp-block-post {
	display: block !important;
	min-width: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none !important;
}

body.home .juicepage-home-samples-query .wp-block-post > .wp-block-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 20px !important;
	box-sizing: border-box !important;
	overflow: hidden;
	border: 1px solid #e2e5e8 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 2px 10px rgba(18, 38, 61, .045) !important;
}

/* Consistent dynamic cover. */
body.home .juicepage-home-samples-query .juicepage-catalogue-cover {
	order: 1;
	width: min(100%, 180px) !important;
	margin: 0 auto 1.1rem !important;
	aspect-ratio: 2 / 3;
	overflow: hidden;
	background: #f2f2ef;
	border-radius: 4px;
}

body.home .juicepage-home-samples-query .juicepage-catalogue-cover a,
body.home .juicepage-home-samples-query .juicepage-catalogue-cover img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
}

/* Title and supporting details. */
body.home .juicepage-home-samples-query .wp-block-post-title {
	order: 2;
	max-width: 100% !important;
	margin: 0 0 .45rem !important;
	padding: 0 !important;
	font-size: clamp(1.3rem, 2vw, 1.45rem) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

body.home .juicepage-home-samples-query .wp-block-post-title a {
	color: #12263d !important;
	text-decoration: none !important;
}

body.home .juicepage-home-samples-query .wp-block-post-title a:hover {
	color: #743b3b !important;
	text-decoration: underline !important;
	text-underline-offset: .15em;
}

body.home .juicepage-home-samples-query .wp-block-post-author {
	order: 3;
	margin: 0 0 .45rem !important;
	padding: 0 !important;
	color: #53677e !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
}

body.home .juicepage-home-samples-query .juicepage-catalogue-meta {
	order: 4;
	margin: 0 0 .8rem !important;
	padding: 0 !important;
	color: #69798a !important;
	font-size: .875rem !important;
	line-height: 1.4 !important;
}

body.home .juicepage-home-samples-query .juicepage-catalogue-rating {
	white-space: nowrap;
	color: #53677e;
}

/* Short synopsis: never wraps beside the cover. */
body.home .juicepage-home-samples-query .wp-block-post-excerpt {
	order: 5;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	color: #40566f !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

body.home .juicepage-home-samples-query .wp-block-post-excerpt__excerpt {
	display: -webkit-box !important;
	margin: 0 !important;
	overflow: hidden !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
}

/* Any editor-generated read-more link is replaced visually by the card action. */
body.home .juicepage-home-samples-query .wp-block-post-excerpt__more-link,
body.home .juicepage-home-samples-query .wp-block-read-more {
	display: none !important;
}

body.home .juicepage-home-samples-query .juicepage-catalogue-action {
	order: 6;
	margin: auto 0 0 !important;
	padding: 0 !important;
}

body.home .juicepage-home-samples-query .juicepage-catalogue-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: .7rem 1rem;
	box-sizing: border-box;
	color: #fff !important;
	background: #111;
	border: 2px solid #111;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}

body.home .juicepage-home-samples-query .juicepage-catalogue-button:hover {
	background: #743b3b;
	border-color: #743b3b;
}

body.home .juicepage-home-samples-query a:focus-visible {
	outline: 3px solid #ffbf47 !important;
	outline-offset: 3px !important;
}

/* Submission guidelines: exact mobile heading size and clean container. */
body.home .entry-content .juicepage-submission-guidelines-heading {
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 24px !important;
	line-height: 1.15 !important;
	letter-spacing: normal !important;
}

body.home .entry-content > .wp-block-columns:has(.juicepage-submission-guidelines-heading) {
	width: min(calc(100% - 48px), 700px) !important;
	max-width: 700px !important;
	margin: 48px auto 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) {
	width: 100% !important;
	margin: 0 !important;
	padding: 26px 28px 28px !important;
	box-sizing: border-box !important;
	border: 1px solid #e2e5e8 !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: 0 2px 10px rgba(18, 38, 61, .045) !important;
}

body.home .entry-content .wp-block-group:has(.juicepage-submission-guidelines-heading)::before,
body.home .entry-content .wp-block-group:has(.juicepage-submission-guidelines-heading)::after,
body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading)::before,
body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading)::after {
	display: none !important;
	content: none !important;
}

/* Restrained desktop public header; admin toolbar is deliberately excluded. */
@media (min-width: 768px) {
	body.home #header [data-row*="middle"],
	body.home .ct-header [data-row*="middle"] {
		--height: 80px !important;
		min-height: 80px !important;
	}

	body.home #header .ct-container,
	body.home .ct-header .ct-container {
		width: min(calc(100% - 40px), 1100px) !important;
		max-width: 1100px !important;
		margin-inline: auto !important;
	}

	body.home #header .site-title,
	body.home .ct-header .site-title {
		font-size: clamp(2rem, 3vw, 2.5rem) !important;
		line-height: 1 !important;
	}

	body.home #header .site-logo-container img,
	body.home .ct-header .site-logo-container img {
		width: auto !important;
		max-height: 38px !important;
	}

	body.home #header .menu > li > a,
	body.home .ct-header .menu > li > a {
		min-height: 0 !important;
		padding: .75rem .85rem !important;
		border: 0 !important;
		box-shadow: none !important;
		font-size: 15px !important;
		font-weight: 650 !important;
		line-height: 1.2 !important;
	}

	body.home #header .menu > li.juicepage-menu-submit > a,
	body.home .ct-header .menu > li.juicepage-menu-submit > a {
		padding-inline: 1.2rem !important;
		color: #fff !important;
		background: #12263d !important;
		border: 0 !important;
		border-radius: 4px !important;
	}
}

@media (max-width: 1099px) and (min-width: 768px) {
	body.home .juicepage-home-samples-query .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Mobile card: cover/details top row, synopsis and action full width below. */
@media (max-width: 767px) {
	body.home .juicepage-home-hero .wp-block-buttons,
	body.home .juicepage-actions {
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		margin-bottom: 0 !important;
	}

	body.home .juicepage-home-hero .wp-block-button,
	body.home .juicepage-home-hero .wp-block-button__link,
	body.home .juicepage-actions .wp-block-button,
	body.home .juicepage-actions .wp-block-button__link {
		width: 100% !important;
		max-width: none !important;
	}

	body.home .entry-content > .jp-latest-heading,
	body.home .entry-content > h2.wp-block-heading:has(+ .juicepage-home-samples-query) {
		width: auto !important;
		margin: 32px 24px 1.25rem !important;
		padding: 0 !important;
		border: 0 !important;
		font-size: 32px !important;
	}

	body.home .juicepage-home-samples-query {
		width: auto !important;
		max-width: none !important;
		margin: 0 24px !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-template {
		display: block !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-template > .wp-block-post {
		height: auto !important;
		margin: 0 0 22px !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-template > .wp-block-post:last-child {
		margin-bottom: 0 !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post > .wp-block-group {
		display: grid !important;
		grid-template-columns: 115px minmax(0, 1fr) !important;
		grid-auto-rows: min-content;
		column-gap: 18px !important;
		row-gap: 0 !important;
		height: auto !important;
		padding: 20px !important;
	}

	body.home .juicepage-home-samples-query .juicepage-catalogue-cover {
		grid-column: 1;
		grid-row: 1 / span 4;
		align-self: start;
		width: 115px !important;
		height: 172px !important;
		margin: 0 !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-title {
		grid-column: 2;
		grid-row: 1;
		margin-bottom: .45rem !important;
		font-size: clamp(1.3125rem, 5.7vw, 1.4375rem) !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-author {
		grid-column: 2;
		grid-row: 2;
		font-size: 1rem !important;
	}

	body.home .juicepage-home-samples-query .juicepage-catalogue-meta {
		grid-column: 2;
		grid-row: 3;
		align-self: start;
		margin-bottom: 0 !important;
		font-size: .875rem !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-excerpt {
		grid-column: 1 / -1;
		grid-row: 5;
		margin: 18px 0 16px !important;
		font-size: 1rem !important;
		line-height: 1.5 !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post-excerpt__excerpt {
		-webkit-line-clamp: 4;
		line-clamp: 4;
	}

	body.home .juicepage-home-samples-query .juicepage-catalogue-action {
		grid-column: 1 / -1;
		grid-row: 6;
	}
}

@media (max-width: 374px) {
	body.home .juicepage-home-samples-query {
		margin-inline: 16px !important;
	}

	body.home .juicepage-home-samples-query .wp-block-post > .wp-block-group {
		grid-template-columns: 100px minmax(0, 1fr) !important;
		gap: 16px !important;
		padding: 16px !important;
	}

	body.home .juicepage-home-samples-query .juicepage-catalogue-cover {
		width: 100px !important;
		height: 150px !important;
	}
}


/* Compact Submission guidelines call-to-action. */
body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) > p {
	margin: 0 0 20px !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) > .wp-block-buttons {
	margin: 0 !important;
}

body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .7rem 1.25rem !important;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	body.home .entry-content > .wp-block-columns:has(.juicepage-submission-guidelines-heading) {
		width: auto !important;
		max-width: none !important;
		margin: 48px 24px 0 !important;
	}

	body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) {
		padding: 22px 24px 24px !important;
	}

	body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) .wp-block-buttons,
	body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) .wp-block-button,
	body.home .entry-content .wp-block-column:has(.juicepage-submission-guidelines-heading) .wp-block-button__link {
		width: 100% !important;
	}
}
/* Independent homepage catalogue tabs. */
body.home .juicepage-home-tabs {
	max-width: 1100px;
	margin: clamp(42px, 7vw, 82px) auto;
	padding-top: clamp(26px, 4vw, 40px);
	border-top: 1px solid #dfe3e6;
}

body.home .juicepage-home-tabs__list {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 clamp(22px, 3vw, 32px);
}

body.home .juicepage-home-tabs__list button {
	appearance: none;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: #526477;
	font: inherit;
	font-size: clamp(1.35rem, 2.5vw, 1.9rem);
	font-weight: 750;
	line-height: 1.1;
	cursor: pointer;
}

body.home .juicepage-home-tabs__list button[aria-selected="true"] {
	border-color: #cfd7dd;
	background: #eef2f4;
	color: #172c43;
}

body.home .juicepage-home-tabs__list button:focus-visible,
body.home .juicepage-home-tabs__more a:focus-visible {
	outline: 3px solid #2f6f91;
	outline-offset: 3px;
}

body.home .juicepage-home-tabs__more {
	margin: 22px 0 0;
}

body.home .juicepage-home-tabs__more a {
	color: #172c43;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.home .juicepage-home-tabs__empty {
	margin: 0;
	padding: 24px 0;
	color: #526477;
}

@media (max-width: 767px) {
	body.home .juicepage-home-tabs {
		margin-block: 44px;
		padding-top: 25px;
	}
	body.home .juicepage-home-tabs__list {
		gap: 5px;
		overflow-x: auto;
		padding: 3px;
	}
	body.home .juicepage-home-tabs__list button {
		flex: 0 0 auto;
		padding: 8px 12px;
		font-size: 1.65rem;
	}
}

/* Full-width closing author call-to-action. */
body.home .juicepage-home-submit-cta { width: 100vw; margin: clamp(54px, 8vw, 92px) calc(50% - 50vw) 0; background: #eef3f6; }
body.home .juicepage-home-submit-cta__inner { max-width: 1100px; margin: 0 auto; padding: clamp(44px, 7vw, 76px) 24px; }
body.home .juicepage-home-submit-cta h2 { margin: 0 0 12px; color: #172c43; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.08; }
body.home .juicepage-home-submit-cta p { max-width: 630px; margin: 0 0 25px; text-align: left; color: #40556a; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.55; }
body.home .juicepage-home-submit-cta__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
body.home .juicepage-home-submit-cta__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; background: #111; color: #fff; font-weight: 700; text-decoration: none; }
body.home .juicepage-home-submit-cta__link { color: #172c43; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
body.home .juicepage-home-submit-cta a:focus-visible { outline: 3px solid #2f6f91; outline-offset: 4px; }
@media (max-width: 767px) {
	body.home .juicepage-home-submit-cta__inner { padding: 40px 24px; }
	body.home .juicepage-home-submit-cta__actions { align-items: stretch; flex-direction: column; gap: 16px; }
	body.home .juicepage-home-submit-cta__button { width: 100%; }
	body.home .juicepage-home-submit-cta__link { align-self: flex-start; }
}

/* Connected How Juicepage works sequence and its single section separator. */
.home .juicepage-how-heading {
	max-width: 1100px;
	margin: 48px auto 30px;
	padding: 42px 24px 0;
	border-top: 1px solid #d8dee5;
}
.home .juicepage-how-steps{max-width:1100px;margin:0 auto;padding:0 24px 56px}.home .juicepage-how-steps__list{list-style:none;margin:0;padding:0}.home .juicepage-how-steps__item{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;padding:0 0 30px}.home .juicepage-how-steps__item:not(:last-child)::after{content:"";position:absolute;top:52px;bottom:0;left:25px;width:2px;background:#d8dee5}.home .juicepage-how-steps__marker{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#132943;color:#fff;font-weight:700}.home .juicepage-how-steps__label{margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em;font-size:14px}.home .juicepage-how-steps__item h3{margin:0 0 8px;font-size:clamp(22px,3vw,24px);line-height:1.15}.home .juicepage-how-steps__item p:last-child{margin:0;font-size:18px;line-height:1.55}.home .juicepage-how-steps__actions{display:flex;flex-direction:column;gap:14px;align-items:center;margin-top:4px}.home .juicepage-how-steps__button{display:block;width:100%;padding:15px 20px;text-align:center;background:#111;color:#fff;text-decoration:none;font-weight:700}.home .juicepage-how-steps__link{text-decoration:underline}.home .juicepage-home-submit-cta__actions{display:flex;gap:16px}.home .juicepage-home-submit-cta__button--secondary{background:transparent!important;color:#132943!important;border:2px solid #132943}.home .juicepage-home-submit-cta__button:focus-visible,.home .juicepage-how-steps a:focus-visible{outline:3px solid #2d68a0;outline-offset:3px}
@media(min-width:1024px){.home .juicepage-how-steps__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.home .juicepage-how-steps__item{display:block;padding:0}.home .juicepage-how-steps__item:not(:last-child)::after{top:25px;left:52px;right:-40px;bottom:auto;width:auto;height:2px}.home .juicepage-how-steps__marker{position:relative;z-index:1;margin-bottom:20px}.home .juicepage-how-steps__actions{display:none;margin-top:34px}.home .juicepage-how-steps__button{width:auto;min-width:220px}.home .juicepage-home-submit-cta__inner{max-width:880px;margin-inline:auto;text-align:center}.home .juicepage-home-submit-cta__inner>h2,.home .juicepage-home-submit-cta__inner>p{margin-inline:auto;text-align:center}.home .juicepage-home-submit-cta__inner>p{width:100%;max-width:680px;margin:0 auto 25px;text-align:center}.home .juicepage-home-submit-cta__actions{justify-content:center;align-items:center;gap:18px}.home .juicepage-home-submit-cta__button{width:auto}}
@media(max-width:1023px){.home .juicepage-home-submit-cta__actions{flex-direction:column}.home .juicepage-home-submit-cta__button{width:100%}}

@media (min-width: 900px) {
  body.home .juicepage-how-steps__actions { display: none; }
  body.home .juicepage-home-submit-cta__inner { margin-inline: auto; text-align: center; }
  body.home .juicepage-home-submit-cta__inner > h2,
  body.home .juicepage-home-submit-cta__inner > p { margin-inline: auto; text-align: center; }
  body.home .juicepage-home-submit-cta__actions { justify-content: center; }
}
