/* Artisan collections share the monochrome editorial system and square edges. */
.three-r-artisan,
.colectivo-artisans,
.curated-selection {
	--artisan-paper: var(--trr-surface-primary, #f9f9f9);
	--artisan-ink: var(--trr-foreground-primary, #000);
	--artisan-muted: var(--trr-foreground-secondary, #5d5f5f);
	background: var(--artisan-paper);
	color: var(--trr-foreground-body, #1b1b1b);
	font-family: var(--trr-font-body, 'Libre Franklin', sans-serif);
}

.three-r-artisan { align-items: center; display: grid; gap: clamp(1rem, 3vw, 3rem); grid-template-columns: minmax(0, 1fr) minmax(10rem, .65fr) minmax(10rem, .65fr); padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 5vw, 4rem); }
.three-r-artisan__inner { grid-column: 1 / -1; display: contents; }
.three-r-artisan .artisan-copy { grid-column: 1; grid-row: 1; }
.three-r-artisan .artisan-title,
.colectivo-artisans__title,
.curated-selection__title { color: var(--artisan-ink); font-family: var(--trr-font-heading, Impact, sans-serif); font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; line-height: .95; text-transform: uppercase; }
.three-r-artisan .artisan-eyebrow,
.colectivo-artisans__counter { color: var(--artisan-muted); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.three-r-artisan .artisan-text { max-width: 38ch; }
.three-r-artisan .artisan-cta { border: 1px solid var(--artisan-ink); display: inline-block; padding: .8rem 1rem; text-decoration: none; }
.three-r-artisan > .artisan-image { aspect-ratio: 4 / 5; height: 100%; object-fit: cover; width: 100%; }
.colectivo-artisans,
.curated-selection { padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 5vw, 4rem); }
.colectivo-page-hero .colectivo-page-hero__eyebrow { background-color: #000 !important; display: inline-block; padding: .5rem .75rem; }
#colectivo-page-hero-title { font-size: clamp(3rem, 5.4vw, 4.75rem) !important; }
.colectivo-artisans__rail,
.curated-selection__rail { margin-inline: auto; max-width: 1280px; }
.colectivo-artisans__header { align-items: center; display: flex; gap: 2rem; }
.colectivo-artisans__title,
.curated-selection__title { font-size: clamp(2rem, 4vw, 3.5rem); margin: 0 0 1.25rem; }
.colectivo-artisans__rule { background: var(--artisan-ink); flex: 1; height: 1px; }
.rg-artisan-types { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: 1.5rem; }
.rg-artisan-types__link { border-bottom: 1px solid transparent; color: inherit; font-size: .75rem; text-decoration: none; }
.rg-artisan-types__link:hover,
.rg-artisan-types__link:focus-visible { border-color: currentColor; }
.colectivo-artisans__viewport { overflow: hidden; }
.colectivo-artisans__track { display: grid; gap: clamp(1rem, 2vw, 2rem); grid-auto-columns: calc((100% - 4rem) / 3); grid-auto-flow: column; overflow: hidden; scroll-behavior: smooth; }
.colectivo-artisans__card { min-width: 0; }
.colectivo-artisans__image-link { aspect-ratio: 4 / 5; background: var(--trr-surface-container, #eee); display: block; overflow: hidden; }
.colectivo-artisans__image,
.colectivo-artisans__missing { display: block; height: 100%; object-fit: cover; width: 100%; }
.colectivo-artisans__caption h3 { font-family: var(--trr-font-heading, Impact, sans-serif); font-size: 1.35rem; font-weight: 400; margin: .8rem 0 .25rem; text-transform: uppercase; }
.colectivo-artisans__caption p { color: var(--artisan-muted); font-size: .75rem; margin: 0; }
.colectivo-artisans__controls { align-items: center; display: flex; justify-content: space-between; margin-top: 1.25rem; }
.colectivo-artisans__buttons { display: flex; gap: .5rem; }
.colectivo-artisans__button { background: transparent; border: 1px solid var(--artisan-ink); cursor: pointer; min-height: 2.75rem; min-width: 2.75rem; }
.colectivo-artisans__button:disabled { cursor: not-allowed; opacity: .35; }
.curated-selection__grid { display: grid; gap: clamp(1rem, 2vw, 2rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.curated-selection__card { min-width: 0; }
.curated-selection__image { aspect-ratio: 4 / 5; background: var(--trr-surface-container, #eee); display: block; overflow: hidden; position: relative; }
.curated-selection__image img,
.curated-selection__missing { display: block; height: 100%; object-fit: cover; width: 100%; }
.curated-selection__badge { background: var(--artisan-ink); color: #fff; font-size: .65rem; left: .75rem; padding: .4rem .55rem; position: absolute; top: .75rem; }
.curated-selection__info { padding-top: .75rem; }
.curated-selection__row { align-items: baseline; display: flex; justify-content: space-between; gap: .75rem; }
.curated-selection__row h3 { font-size: 1rem; margin: 0; }
.curated-selection__price,
.curated-selection__place,
.curated-selection__desc { color: var(--artisan-muted); font-size: .8rem; }
.curated-selection__meta { border-top: 1px solid #cfc4c5; color: inherit; display: flex; justify-content: space-between; margin-top: .75rem; padding-top: .75rem; text-decoration: none; }
.colectivo-artisans__empty,
.curated-selection__empty { border-block: 1px solid var(--artisan-ink); color: var(--artisan-muted); padding: 1.25rem 0; }

@media (max-width: 720px) {
	.three-r-artisan { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.three-r-artisan .artisan-copy { grid-column: 1 / -1; }
	.colectivo-artisans__track { grid-auto-columns: 74%; }
	.curated-selection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
	.three-r-artisan { grid-template-columns: 1fr 1fr; }
	.curated-selection__grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	#colectivo-page-hero-title { font-size: clamp(63px, 20.5vw, 99px) !important; }
}

@media (prefers-reduced-motion: reduce) {
	.colectivo-artisans__track { scroll-behavior: auto; }
}
