/* Styled Essentials – Shop. Light, no JS. Tokens follow the site (Astra palette). */
.se-tiles, .se-grid-wrap, .se-discover, .se-shop-section {
	--se-sand: #c4a882;
	--se-brown: #6b4226;
	--se-ink: #1f1b18;
	--se-text: #333333;
	--se-paper: #faf6f1;
	--se-line: #e7ddd0;
	--se-gap: 1.25rem;
	color: var(--se-text);
}

/* Visually hidden helper (theme also provides .screen-reader-text) */
.se-grid-wrap .screen-reader-text, .se-discover .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ---------- Tiles (category + subcategory filters) ---------- */
.se-tiles ul { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: var(--se-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.se-tiles a { display: block; text-decoration: none; color: var(--se-ink); }
.se-tile__img { display: block; aspect-ratio: 4 / 5; background: var(--se-line); overflow: hidden; border-radius: 4px; }
.se-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.se-tile__label { display: block; margin-top: .6rem; font-family: "Playfair Display", serif; font-size: 1.1rem; font-weight: 600; line-height: 1.25; }
.se-tiles a:focus-visible { outline: 2px solid var(--se-brown); outline-offset: 3px; }
.se-tiles--main ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.se-tiles--sub ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.se-tiles--sub .se-tile__img { aspect-ratio: 1 / 1; }
.se-tiles--sub .se-tile__label { font-size: .95rem; }
.se-tiles--sub a[aria-current="true"] .se-tile__label { text-decoration: underline; text-decoration-color: var(--se-sand); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.se-tiles--sub a[aria-current="true"] .se-tile__img { outline: 3px solid var(--se-sand); outline-offset: 2px; }
@media (hover: hover) { .se-tiles a:hover .se-tile__img img { transform: scale(1.04); } }
@media (min-width: 640px) {
	.se-tiles--main ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.se-tiles--sub ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
	.se-tiles--main ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.se-tiles--sub ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- Product grid ---------- */
.se-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 2rem var(--se-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .se-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .se-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.se-card { height: 100%; display: flex; flex-direction: column; }
.se-card__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--se-line); border-radius: 4px; }
.se-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
@media (hover: hover) { .se-card__media:hover img { transform: scale(1.03); } }
.se-card--text { border: 1px solid var(--se-line); border-radius: 4px; padding: 1.25rem; }
.se-card__body { padding-top: .75rem; display: flex; flex-direction: column; gap: .25rem; flex: 1; }
.se-card--text .se-card__body { padding-top: 0; }
.se-card__brand { margin: 0; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--se-brown); }
.se-card__title { margin: 0; font-family: "Playfair Display", serif; font-size: 1.05rem; line-height: 1.3; font-weight: 600; }
.se-card__title a { color: var(--se-ink); text-decoration: none; }
.se-card__title a:hover, .se-card__title a:focus-visible { text-decoration: underline; text-decoration-color: var(--se-sand); }
.se-card__note { margin: 0; font-size: .875rem; line-height: 1.5; }
.se-card__price { margin: 0; font-size: .875rem; color: var(--se-ink); }
.se-card__cta { margin: auto 0 0; padding-top: .5rem; font-size: .8rem; }
.se-card__cta a { color: var(--se-brown); text-decoration: underline; text-underline-offset: 3px; }
.se-card__aff { color: #6a6a6a; font-size: .7rem; margin-left: .35rem; }

.se-filterstate { margin: 0 0 1.25rem; font-size: .9rem; }
.se-filterstate a, .se-empty a { color: var(--se-brown); }
.se-empty { padding: 2rem 0; font-size: 1rem; text-align: center; }
.se-disclosure { margin: 0 0 1.25rem; font-size: .8rem; color: #555; }
.se-disclosure a { color: var(--se-brown); }

.se-pager { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin: 2.5rem 0 0; font-size: .9rem; }
.se-pager a { padding: .55rem 1.1rem; border: 1px solid var(--se-brown); border-radius: 2px; color: var(--se-brown); text-decoration: none; }
.se-pager a:hover, .se-pager a:focus-visible { background: var(--se-brown); color: #fff; }

/* ---------- Discover (masonry via CSS columns, no JS) ---------- */
.se-filters ul { list-style: none; margin: 0 0 1.75rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.se-filters a { display: inline-block; padding: .45rem 1rem; border: 1px solid var(--se-line); border-radius: 999px; color: var(--se-ink); text-decoration: none; font-size: .875rem; background: #fff; }
.se-filters a:hover, .se-filters a:focus-visible { border-color: var(--se-brown); }
.se-filters a[aria-current="true"] { background: var(--se-brown); border-color: var(--se-brown); color: #fff; }

.se-feed { list-style: none; margin: 0; padding: 0; column-count: 2; column-gap: var(--se-gap); }
@media (min-width: 720px) { .se-feed { column-count: 3; } }
@media (min-width: 1100px) { .se-feed { column-count: 4; } }
.se-feed__item { break-inside: avoid; margin: 0 0 1.75rem; }
.se-feed__fig { margin: 0; overflow: hidden; border-radius: 4px; background: var(--se-line); }
.se-feed__fig img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
@media (hover: hover) { .se-feed__item:hover .se-feed__fig img { transform: scale(1.04); } }
.se-r-45 { aspect-ratio: 4 / 5; }
.se-r-23 { aspect-ratio: 2 / 3; }
.se-r-11 { aspect-ratio: 1 / 1; }
.se-r-54 { aspect-ratio: 5 / 4; }
.se-feed__meta { padding-top: .6rem; }
.se-feed__type { margin: 0 0 .15rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--se-brown); }
.se-feed__title { margin: 0; font-family: "Playfair Display", serif; font-size: 1rem; line-height: 1.3; font-weight: 600; }
.se-feed__title a { color: var(--se-ink); text-decoration: none; }
.se-feed__title a:hover, .se-feed__title a:focus-visible { text-decoration: underline; text-decoration-color: var(--se-sand); }

/* ---------- Page layout helpers used by the Shop pages ---------- */
.se-shop-hero.wp-block-media-text { margin-bottom: 3rem; background: transparent; gap: 0; }
.se-shop-hero .wp-block-media-text__content { padding: 2rem 0 0; }
.se-shop-hero h1, .se-shop-hero h2 { margin-top: 0; letter-spacing: .02em; }
.se-shop-hero .wp-block-media-text__media img { border-radius: 4px; }
.se-eyebrow { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--se-brown, #6b4226); margin: 0 0 .75rem; }
.se-shop-section { margin: 0 0 4rem; }
.se-shop-section > h2 { margin-top: 0; }
.se-shop-section .se-lede { max-width: 42rem; }
.se-shop-cta { margin-top: 1.5rem; }
.se-shop-philosophy { background: #fff; border: 1px solid var(--se-line, #e7ddd0); border-radius: 4px; padding: 2.5rem 1.5rem; }
@media (min-width: 782px) { .se-shop-hero .wp-block-media-text__content { padding: 2rem 0 2rem 3rem; } }

@media (prefers-reduced-motion: reduce) {
	.se-tiles img, .se-card__media img, .se-feed__fig img { transition: none; }
}

/* Shop pages bring their own H1 in the hero; hide the theme title there */
.se-shop-page .entry-header { display: none; }
.se-shop-page .entry-content > * { max-width: none; }
.se-tile__img:empty { background: linear-gradient(135deg, #efe6d9, #e2d3bf); }


/* ---------- Breadcrumb + "More in the Shop" row (1.3.0) ---------- */
.se-breadcrumb { margin: 0 0 1.25rem; font-size: .85rem; line-height: 1.4; color: #333333; }
.se-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .5rem; }
.se-breadcrumb li { margin: 0; padding: 0; display: flex; align-items: center; gap: .5rem; }
.se-breadcrumb li + li::before { content: "\203A"; content: "\203A" / ""; color: #6a6a6a; }
.se-breadcrumb a { color: var(--se-brown, #6b4226); text-decoration: underline; text-underline-offset: 3px; padding: .4rem 0; }
.se-breadcrumb a:hover { text-decoration-color: var(--se-sand, #c4a882); }
.se-breadcrumb a:focus-visible { outline: 2px solid var(--se-brown, #6b4226); outline-offset: 3px; }
.se-breadcrumb [aria-current="page"] { font-weight: 600; color: #1f1b18; }

.se-catnav { margin: 0 0 4rem; }
.se-catnav__label { margin: 0 0 .75rem; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--se-brown, #6b4226); }
.se-catnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.se-catnav li { margin: 0; padding: 0; }
.se-catnav a { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: .45rem 1.1rem; border: 1px solid var(--se-line, #e7ddd0); border-radius: 999px; background: #fff; color: #1f1b18; text-decoration: none; font-size: .9rem; }
.se-catnav a:hover { border-color: var(--se-brown, #6b4226); }
.se-catnav a:focus-visible { outline: 2px solid var(--se-brown, #6b4226); outline-offset: 2px; border-color: var(--se-brown, #6b4226); }
