/*
Theme Name: Reekers Art
Description: Artwork-first child theme for the Reekers Art site.
Template: twentytwentyfive
Version: 0.1.0
Text Domain: reekers-art
*/

:root {
	--reekers-ink: #111111;
	--reekers-paper: #f7f5f0;
	--reekers-muted: #a6a39d;
	--reekers-rule: rgba(247, 245, 240, 0.2);
}

html,
body,
.wp-site-blocks {
	background: var(--reekers-ink);
	color: var(--reekers-paper);
}

/* Keep the public site deliberately typographically simple: one sans-serif
 * family for display type, body copy, navigation, forms, and artwork labels. */
.wp-site-blocks,
.wp-site-blocks :is(h1, h2, h3, h4, h5, h6, p, li, dt, dd, a, button, input, select, textarea, label, figcaption) {
	font-family: var(--wp--preset--font-family--interface, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif) !important;
}

/* The template-part style is selectable in the Site Editor; only home overlays. */
body.home .wp-site-blocks {
	position: relative;
}

body.home .wp-site-blocks > header.is-style-reekers-home-transparent {
	position: absolute;
	inset: 0 0 auto;
	z-index: 10;
	background: transparent;
	color: var(--wp--preset--color--paper);
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

body.home header.is-style-reekers-home-transparent :is(.wp-block-navigation__submenu-container, .wp-block-navigation__responsive-container.is-menu-open, .wc-block-mini-cart__drawer) {
	text-shadow: none;
}

body .wp-site-blocks > header,
body .wp-site-blocks > footer,
body .wp-site-blocks > .wp-block-template-part {
	background: var(--reekers-ink);
	color: var(--reekers-paper);
}


.wp-site-blocks input,
.wp-site-blocks select,
.wp-site-blocks textarea {
	background: var(--reekers-paper);
	border-color: var(--reekers-paper);
	color: var(--reekers-ink);
}

.wp-site-blocks button,
.wp-site-blocks .wp-block-button__link {
	background: var(--reekers-paper);
	border-color: var(--reekers-paper);
	color: var(--reekers-ink);
}

.reekers-artwork-explorer {
	background: var(--reekers-ink);
	color: var(--reekers-paper);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	padding: clamp(1.5rem, 3vw, 3.5rem);
}

.reekers-artwork-explorer :is(h1, h2, h3, p, a, button, select) {
	font-size: inherit !important;
}

.reekers-artwork-explorer__sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	position: sticky;
	top: 2rem;
}

.reekers-artwork-explorer__artist {
	display: grid;
	grid-template-columns: 3.25rem 1fr;
	gap: 0.9rem;
	align-items: center;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--reekers-rule);
}

.reekers-artwork-explorer__portrait {
	width: 3.25rem;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
	background: #2c2b29;
}

.reekers-artwork-explorer__monogram {
	align-items: center;
	background: #2c2b29;
	border-radius: 50%;
	display: flex;
	font-size: 0.72rem;
	font-weight: 700;
	height: 3.25rem;
	justify-content: center;
	letter-spacing: 0.08em;
	width: 3.25rem;
}

.reekers-artwork-explorer__eyebrow {
	color: var(--reekers-muted);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin: 0 0 0.25rem;
	text-transform: uppercase;
}

.reekers-artwork-explorer__artist-name {
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}

.reekers-artwork-explorer__artist-link,
.reekers-artwork-explorer a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.reekers-artwork-explorer__filters {
	display: grid;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.reekers-artwork-explorer__filters a {
	display: block;
	padding: 0.5rem 0;
	text-decoration: none;
}

.reekers-artwork-explorer__filters a:hover,
.reekers-artwork-explorer__filters a:focus-visible {
	color: #ffffff;
	text-decoration: underline;
}

.reekers-artwork-explorer__content > * + * {
	margin-top: 1.5rem;
}

.reekers-artwork-explorer__intro {
	margin: 0 0 clamp(2.5rem, 6vw, 5rem);
	max-width: 38rem;
}

.reekers-artwork-explorer__intro h1 {
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0.45rem 0 1rem;
}

.reekers-artwork-explorer__intro > p:not(.reekers-artwork-explorer__eyebrow) {
	color: var(--reekers-muted);
	line-height: 1.5;
	max-width: 31rem;
}

.reekers-artwork-explorer .wp-block-post-featured-image img,
.reekers-artwork-explorer .wc-block-components-product-image img,
.reekers-artwork-explorer .wc-block-product__image img {
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.reekers-artwork-explorer .wc-block-product-template {
	gap: clamp(1.5rem, 3vw, 3rem);
}

@media (min-width: 782px) {
	.reekers-artwork-explorer > .wp-block-columns {
		display: grid !important;
		gap: clamp(2rem, 4vw, 5rem);
		grid-template-columns: minmax(11rem, 20%) minmax(0, 1fr);
	}

	.reekers-artwork-explorer > .wp-block-columns > .wp-block-column {
		width: auto !important;
	}

	.reekers-artwork-explorer .wc-block-product-template.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

.reekers-artwork-explorer .wp-block-post-title {
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0.8rem 0 0.25rem;
}

.reekers-artwork-explorer .wp-block-woocommerce-product-price {
	color: var(--reekers-muted);
	letter-spacing: 0.03em;
	margin: 0;
}

.reekers-artwork-detail {
	padding: clamp(1.5rem, 3vw, 3.5rem);
}

.reekers-artwork-detail__lead {
	align-items: start;
	gap: clamp(2rem, 5vw, 6rem);
	margin: clamp(1.5rem, 4vw, 4rem) auto clamp(4rem, 9vw, 9rem);
	overflow: visible;
}

.reekers-artwork-detail__image img {
	aspect-ratio: auto !important;
	height: auto;
	max-height: none;
	object-fit: contain;
	width: 100%;
}

.reekers-artwork-detail__image .woocommerce-product-gallery__image,
.reekers-artwork-detail__image .woocommerce-product-gallery__image a {
	aspect-ratio: auto !important;
	height: auto !important;
	overflow: visible;
}

.reekers-artwork-detail__label,
.reekers-artwork-detail .reekers-home-featured-artwork__label.jet-sticky-column {
	align-self: start;
	height: fit-content;
	position: sticky;
	top: calc(1.5rem + var(--wp-admin--admin-bar--height, 0px));
	z-index: 1;
}

.reekers-artwork-detail__label h1 {
	font-size: clamp(2.25rem, 4.2vw, 5.25rem);
	font-weight: 400;
	letter-spacing: -0.055em;
	line-height: 0.95;
	margin: 0.45rem 0 1rem;
}

.reekers-artwork-detail__label .wp-block-woocommerce-product-price {
	color: var(--reekers-paper);
	font-size: 1rem !important;
	margin: 0 0 1.5rem;
}

.reekers-artwork-detail__label .wp-block-woocommerce-add-to-cart-form {
	margin-top: 1.75rem;
}

.reekers-artwork-detail__story {
	border-top: 1px solid var(--reekers-rule);
	gap: clamp(2rem, 5vw, 6rem);
	margin: 0 auto clamp(3rem, 7vw, 7rem);
	padding-top: clamp(2rem, 4vw, 4rem);
}

.reekers-artwork-detail__content {
	font-size: clamp(1rem, 1.15vw, 1.2rem);
	line-height: 1.55;
	max-width: none;
}

.reekers-artwork-detail__content h1,
.reekers-artwork-detail__content h2,
.reekers-artwork-detail__content h3 {
	font-size: 1.1em;
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 2rem 0 0.6rem;
}

.reekers-artwork-detail__taxonomy {
	border-top: 1px solid var(--reekers-rule);
	color: var(--reekers-muted);
	font-size: 0.85rem;
	margin-bottom: clamp(4rem, 8vw, 8rem);
	padding-top: 1.5rem;
}

.wp-block-reekers-art-product-taxonomy {
	line-height: 1.7;
	margin: 0;
}

.reekers-product-taxonomy__label {
	font-weight: 600;
}

.reekers-artwork-detail__collection-rows {
	border-top: 1px solid var(--reekers-rule);
	padding-top: clamp(2rem, 5vw, 5rem);
}

.reekers-artwork-detail__collection-row {
	margin-top: clamp(3rem, 7vw, 7rem);
}

.reekers-artwork-detail__collection-row h2 {
	font-size: clamp(1.5rem, 2vw, 2.25rem);
	font-weight: 400;
	margin-bottom: 2rem;
}


.reekers-artwork-detail__collection-products .wp-block-product-template img {
	aspect-ratio: auto !important;
	display: block;
	height: auto !important;
	object-fit: contain;
	width: 100%;
}

.reekers-artwork-detail__collection-products .wp-block-post-title {
	font-size: 1rem !important;
	font-weight: 400;
	margin: 0.75rem 0 0.25rem;
}

.reekers-artwork-detail__collection-products .wp-block-woocommerce-product-price {
	color: var(--reekers-muted);
	font-size: 0.8rem !important;
}

.reekers-home-featured-artwork {
	padding: clamp(1.5rem, 3vw, 3.5rem);
}

.reekers-home-featured-artwork__tile {
	gap: clamp(2rem, 5vw, 6rem);
	margin: 0 auto;
}

.reekers-home-featured-artwork__label {
	align-self: start;
	padding-top: clamp(0rem, 1vw, 1rem);
}

.reekers-home-featured-artwork__label h1 {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.15;
	margin: 0.4rem 0 1.6rem;
}

.reekers-home-featured-artwork__label .wp-block-woocommerce-product-price {
	color: var(--reekers-paper);
	font-size: var(--wp--preset--font-size--small, 0.875rem) !important;
}

.wp-block-reekers-art-product-gallery {
	border-top: 1px solid var(--reekers-rule);
	margin-top: var(--wp--preset--spacing--30);
	padding-top: var(--wp--preset--spacing--20);
}

.wp-block-reekers-art-product-technical-details {
	border-top: 1px solid var(--reekers-rule);
	display: grid;
	margin: var(--wp--preset--spacing--30) 0 0;
	padding-top: var(--wp--preset--spacing--20);
}

.wp-block-reekers-art-product-technical-details > div {
	display: grid;
	gap: 0.2rem;
}

.wp-block-reekers-art-product-technical-details dt {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 400;
}

.wp-block-reekers-art-product-technical-details dd {
	margin: 0;
}

.reekers-product-gallery__label {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	margin: 0 0 0.6rem;
}

.reekers-product-gallery__items {
	display: grid;
	gap: 0.75rem;
}

.reekers-product-gallery__item {
	margin: 0;
}

.reekers-product-gallery__image {
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.reekers-product-gallery__item figcaption {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	margin-top: 0.5rem;
}

.reekers-home-featured-artwork__image .wp-block-post-featured-image,
.reekers-home-featured-artwork__image .wp-block-post-featured-image a,
.reekers-home-featured-artwork__image .wp-block-post-featured-image img {
	aspect-ratio: auto !important;
	display: block;
	height: auto !important;
	object-fit: contain;
	width: 100%;
}

@media (max-width: 781px) {
	.reekers-home-featured-artwork__label {
		padding-bottom: 1rem;
	}
}

@media (max-width: 781px) {
	.reekers-artwork-explorer {
		padding: 1.25rem;
	}

	.reekers-artwork-explorer__sidebar {
		position: static;
	}

	.reekers-artwork-detail__label,
	.reekers-artwork-detail .reekers-home-featured-artwork__label.jet-sticky-column {
		position: static;
	}

	.reekers-artwork-explorer__filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.wp-block-reekers-art-event-details dl {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.wp-block-reekers-art-event-details dl > div {
	display: grid;
	grid-template-columns: minmax(8rem, 1fr) 3fr;
	gap: var(--wp--preset--spacing--20);
	padding-block: var(--wp--preset--spacing--20);
	border-top: 1px solid var(--wp--preset--color--muted);
}

.wp-block-reekers-art-event-details dt { font-weight: 600; }
.wp-block-reekers-art-event-details dd { margin: 0; }

.reekers-event-artwork__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: var(--wp--preset--color--ink);
	gap: 0;
}

.wp-block-reekers-art-event-media {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--60);
}

.reekers-event-media__item {
	margin: 0;
}

.reekers-event-media__item img {
	display: block;
	height: auto;
	width: 100%;
}

.reekers-event-media__flyer figcaption {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.5rem;
}

.reekers-event-artwork__item {
	padding: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--paper);
}

.reekers-event-artwork__item a { color: inherit; }
.reekers-event-artwork__image {
	align-items: center;
	aspect-ratio: 4 / 3;
	display: flex;
	justify-content: center;
}
.reekers-event-artwork__item img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}
.reekers-event-artwork__item h4 { margin: var(--wp--preset--spacing--20) 0 0; font-size: var(--wp--preset--font-size--small); font-weight: 400; }
.reekers-event-artwork__note { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); margin: 0.35rem 0 0; }

.reekers-event-artwork__row + .reekers-event-artwork__row { margin-top: var(--wp--preset--spacing--70); }
.reekers-event-artwork__heading,
.reekers-event-artwork__row > h3 { font-size: var(--wp--preset--font-size--small); font-weight: 400; margin: 0 0 var(--wp--preset--spacing--30); }

.reekers-event-artwork--large .reekers-event-artwork__grid { grid-template-columns: 1fr; }

.reekers-event-detail__label {
	position: sticky;
	top: var(--wp--preset--spacing--40);
	align-self: start;
}

.reekers-event-detail > .wp-block-columns {
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
	width: 100%;
}

.reekers-event-detail__label .wp-block-post-title {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.15;
	margin: 0.4rem 0 1.6rem;
}

.reekers-event-detail__label .wp-block-post-content {
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--40);
}

.reekers-event-detail__label .wp-block-reekers-art-event-details dl > div {
	grid-template-columns: 1fr;
	gap: 0.25rem;
}

.reekers-event-detail__label .wp-block-reekers-art-event-details dd,
.reekers-event-detail__label .wp-block-reekers-art-event-details dt {
	font-size: var(--wp--preset--font-size--small);
}

.reekers-events-archive {
	margin: 0 auto;
	max-width: 80rem;
	padding: clamp(2rem, 5vw, 6rem) clamp(1.5rem, 3vw, 3.5rem);
}

.reekers-events-archive .wp-block-query-title {
	font-size: clamp(2.5rem, 7vw, 6rem);
	font-weight: 400;
	letter-spacing: -0.05em;
	margin-bottom: clamp(2rem, 5vw, 5rem);
}

.reekers-event-card .wp-block-post-featured-image {
	margin: 0;
}

.reekers-event-card .wp-block-post-title {
	margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--10);
}

.reekers-event-details--summary {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
}

/* Studio Journal */
.reekers-journal,
.reekers-about-journal { padding: clamp(2rem, 5vw, 5rem) clamp(1.25rem, 4vw, 4rem); }
.reekers-journal__intro { border-bottom: 1px solid var(--reekers-rule); margin-bottom: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.reekers-journal__eyebrow,
.reekers-journal__date { color: var(--reekers-muted); font-size: .75rem !important; font-weight: 600; letter-spacing: .12em; margin: 0 0 .65rem; text-transform: uppercase; }
.reekers-journal h1,
.reekers-about-journal > h2 { font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; margin: 0 0 1rem; }
.reekers-journal__feed .wp-block-post-template,
.reekers-about-journal .wp-block-post-template { gap: clamp(1.25rem, 3vw, 3rem); margin-top: clamp(2rem, 4vw, 3.5rem); }
.reekers-journal__card { border-top: 1px solid var(--reekers-rule); padding-top: 1rem; }
.reekers-journal__card h2,
.reekers-journal__card h3 { font-size: clamp(1.2rem, 1.7vw, 1.65rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.16; margin: 0 0 .75rem; }
.reekers-journal__card .wp-block-post-excerpt { color: var(--reekers-muted); font-size: .95rem; line-height: 1.5; }
.reekers-journal__card .wp-block-read-more,
.reekers-about-journal__all a { color: inherit; font-size: .85rem; font-weight: 600; text-underline-offset: .25em; }
.reekers-about-journal { border-top: 1px solid var(--reekers-rule); }
.reekers-about-journal__all { margin-top: 2rem; }

@media (max-width: 781px) {
	.reekers-event-artwork__grid { grid-template-columns: 1fr; }
}
