/*
Theme Name: GeneratePress Child
Theme URI: http://brainhubs.local/
Description: Child theme for the GeneratePress theme.
Author: Your Name
Author URI: http://www.brainhubs.stie/
Template: generatepress
Version: 1.0.0
Text Domain: generatepress-child
*/

/* Tailwind CSS is enqueued separately from the child theme. */

/*
 * Force Tailwind gap/spacing utilities to win over WordPress block inline styles
 * and wp-block-library CSS on Post pages (and anywhere else the_content() is used).
 * WordPress writes inline style="gap: Xem" on Columns blocks, which normally
 * overrides any CSS class. Using !important here beats that inline style.
 * Add these class names via the block's "Additional CSS class(es)" field in Gutenberg.
 */
.wp-block-columns.gap-4 {
	gap: 1rem !important;
}
.wp-block-columns.gap-8 {
	gap: 2rem !important;
}
.wp-block-columns.gap-12 {
	gap: 3rem !important;
}
.wp-block-columns.gap-16 {
	gap: 4rem !important;
}
.wp-block-columns.mb-8 {
	margin-bottom: 2rem !important;
}
.wp-block-columns.mb-12 {
	margin-bottom: 3rem !important;
}
.wp-block-columns.mb-16 {
	margin-bottom: 4rem !important;
}

/* Same fix for rounded utilities on individual column blocks */
.wp-block-column.rounded-3xl {
	border-radius: 1.5rem !important;
}
.wp-block-column.rounded-full {
	border-radius: 9999px !important;
}

/* GeneratePress makes .site-content display:flex for sidebar layout.
   On full-width catalog templates the single flex child must fill the row. */
.page-template-page-archive-collection .site-content > div,
.page-template-archive-resource .site-content > div {
	flex: 1;
	min-width: 0;
	max-width: 100%;
}

.bh-collections-layout {
	display: grid;
	gap: 2rem;
}

.bh-collections-list {
	display: grid;
	min-width: 0;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr);
}

/* Primary button used across templates */
.bh-btn-primary,
.bh-btn-primary:visited {
	text-decoration: none;
}

.bh-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	border: 1px solid #2b7fff;
	border-radius: 9999px;
	background-color: #ffffff;
	color: #2b7fff;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(43, 127, 255, 0.28);
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
	cursor: pointer;
}

.bh-btn-primary:hover,
.bh-btn-primary:active,
.bh-btn-primary:focus {
	color: #ffffff;
	text-decoration: none;
}

.bh-btn-primary:visited {
	color: #04897a;
	text-decoration: line-through;
}

.bh-btn-primary:hover {
	background-color: #2568cf;
	border-color: #2568cf;
	box-shadow: 0 10px 24px rgba(37, 104, 207, 0.35);
	transform: translateY(-1px);
}

.bh-btn-primary:focus-visible {
	outline: 2px solid #2568cf;
	outline-offset: 2px;
}

.bh-btn-primary:disabled,
.bh-btn-primary[aria-disabled='true'] {
	opacity: 0.6;
	pointer-events: none;
}

.bh-front-hero-actions .bh-btn-primary {
	flex: 1 1 14rem;
	white-space: nowrap;
	text-align: center;
}

.bh-btn-primary--search {
	position: absolute;
	right: 0.25rem;
	top: 0.25rem;
	z-index: 1;
}

.bh-btn-mt-5 {
	margin-top: 1.25rem;
}

.bh-btn-mt-6 {
	margin-top: 1.5rem;
}

@media (min-width: 1024px) {
	.bh-collections-layout {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 1.5rem;
	}
}

@media (min-width: 1280px) {
	.bh-collections-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bh-pagination-row,
	.bh-collection-card--full-span {
		grid-column: 1 / -1;
	}
}

/* About Brainhubs: keep Gutenberg content visually aligned with template cards. */
.bh-about-shell {
	max-width: var(--gp-container-width, 960px);
}

.about-brainhubs-content {
	display: grid;
	gap: 1rem;
	padding: 0.75rem;
}

.about-brainhubs-content > * {
	margin: 0;
	border: 1px solid #2b7fff;
	border-radius: 2rem;
	background: #ffffff;
	padding: 1.25rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
	color: #04897a;
}

.about-brainhubs-content > .wp-block-columns {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
	box-shadow: none;
}

.about-brainhubs-content > .wp-block-columns > .wp-block-column {
	margin: 0;
	border: 1px solid #2b7fff;
	border-radius: 2rem;
	background: #ffffff;
	padding: 1.25rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
	color: #04897a;
}

@media (min-width: 1024px) {
	.about-brainhubs-content {
		gap: 1.25rem;
		padding: 1rem;
	}

	.about-brainhubs-content > *,
	.about-brainhubs-content > .wp-block-columns > .wp-block-column {
		padding: 1.5rem;
	}
}

.about-brainhubs-content :where(h1, h2, h3, h4, h5, h6, p, li) {
	color: #04897a;
}

.about-brainhubs-content ul,
.about-brainhubs-content ol {
	padding-left: 1.25rem;
}
