/**
 * Unified spacing for Art United listing archives (galleries, artists, events, news).
 */

:root {
	--au-listing-hero-pull: -50px;
	--au-listing-hero-pull-mobile: -30px;
	--au-listing-hero-padding-top: 0.5rem;
	--au-listing-hero-padding-bottom: 7.5rem;
	--au-listing-hero-padding-bottom-mobile: 5.5rem;
	--au-listing-section-overlap: -20px;
	--au-listing-wrapper-margin-block: 2.5rem;
	--au-listing-content-gap: 30px;
	--au-listing-toolbar-margin-bottom: 25px;
	--au-listing-hero-subtitle-gap: 0.85rem;
	--au-listing-sidebar-sticky-top: 7.25rem;
	--au-listing-sidebar-sticky-gutter: 2.75rem;
}

/* -------------------------------------------------------------------------
   Authentic .entry-content block margins (32px) — reset on listing archives
   ------------------------------------------------------------------------- */

.au-listing-archive-body .entry-content > .cnvs-block-section,
.au-listing-archive-body .entry-content > .artunited-galleries-container,
.au-listing-archive-body .entry-content > .artunited-artists-container,
.au-listing-archive-body .entry-content > .events-container {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.au-listing-archive-body .entry-content .cnvs-block-section-content-inner > .wp-block-heading,
.au-listing-archive-body .entry-content .cnvs-block-section-content-inner > p {
	margin-top: 0;
	margin-bottom: 0;
}

.au-listing-archive-body .entry-content .cnvs-block-section-content-inner > .wp-block-heading:not(:first-child) {
	margin-top: var(--au-listing-hero-subtitle-gap);
}

/* -------------------------------------------------------------------------
   Hero band — Canvas hub pages + shared list hero
   ------------------------------------------------------------------------- */

.au-listing-archive-body.au-has-breadcrumbs--hero .entry-content > .cnvs-block-section-with-background-color:first-child,
.au-listing-archive-body.au-has-breadcrumbs--hero .main-content > .cnvs-block-section-with-background-color:first-child,
.au-listing-archive-body.au-has-breadcrumbs--hero .cs-container > .main-content > .cnvs-block-section-with-background-color:first-child {
	margin-top: 0 !important;
	padding-top: var(--au-listing-hero-padding-top) !important;
	padding-bottom: var(--au-listing-hero-padding-bottom) !important;
	border-top: none !important;
}

.au-listing-archive-body.au-has-breadcrumbs--hero .au-list-hero.cnvs-block-section-with-background-color {
	margin-top: 0;
	padding-top: var(--au-listing-hero-padding-top);
	padding-bottom: var(--au-listing-hero-padding-bottom);
}

/* Listing shortcode section immediately after hero */
.au-listing-archive-body .entry-content > .cnvs-block-section:not(.cnvs-block-section-with-background-color) {
	margin-top: var(--au-listing-section-overlap) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.au-listing-archive-body .au-listing-section,
.au-listing-archive-body .au-editorial-list-section {
	margin-top: var(--au-listing-section-overlap);
	padding-top: 0;
	padding-bottom: 0;
}

/* -------------------------------------------------------------------------
   Listing shells — shared wrapper rhythm
   ------------------------------------------------------------------------- */

.au-listing-archive-body .artunited-galleries-wrapper,
.au-listing-archive-body .artunited-artists-wrapper,
.au-listing-archive-body .artunited-list-stack {
	margin: var(--au-listing-wrapper-margin-block) 0;
	gap: 0;
}

.au-listing-archive-body .artunited-galleries-content,
.au-listing-archive-body .artunited-artists-content,
.au-listing-archive-body .artunited-list-body {
	gap: var(--au-listing-content-gap);
}

.au-listing-archive-body .artunited-list-toolbar {
	margin-bottom: var(--au-listing-toolbar-margin-bottom);
}

.au-listing-archive-body .artunited-events-featured {
	margin-bottom: 2rem;
}

.au-listing-archive-body main > .artunited-section-title {
	margin-top: 0;
}

.au-listing-archive-body main > .artunited-events-featured + .artunited-section-title {
	margin-top: 2rem;
}

.au-listing-archive-body .artunited-events-empty {
	padding: 2rem 0;
	color: var(--au-color-caption, #666);
	text-align: center;
}

/* Events page: drop Tailwind container padding so it matches gallery/artist shells */
.au-listing-archive-body .events-container,
.au-listing-archive-body .events-container > .container {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}

.au-listing-archive-body .artunited-galleries-container,
.au-listing-archive-body .artunited-artists-container,
.au-listing-archive-body .events-container {
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

/* -------------------------------------------------------------------------
   Sticky filter sidebar — desktop + tablet (mobile uses bottom sheet)
   ------------------------------------------------------------------------- */

@media (min-width: 769px) {
	.au-listing-archive-body .artunited-list-filters-mobile,
	.au-listing-archive-body .artunited-galleries-content > .artunited-list-sidebar,
	.au-listing-archive-body .artunited-artists-content > .artunited-list-sidebar,
	.au-listing-archive-body .artunited-list-body > .artunited-list-sidebar {
		position: sticky;
		top: var(--au-listing-sidebar-sticky-top);
		align-self: flex-start;
		z-index: 2;
		max-height: calc(100vh - var(--au-listing-sidebar-sticky-top) - var(--au-listing-sidebar-sticky-gutter));
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

@media (max-width: 719px) {
	.au-listing-archive-body.au-has-breadcrumbs--hero .entry-content > .cnvs-block-section-with-background-color:first-child,
	.au-listing-archive-body.au-has-breadcrumbs--hero .au-list-hero.cnvs-block-section-with-background-color {
		padding-bottom: var(--au-listing-hero-padding-bottom-mobile);
	}
}
