/* SXD Gallery */
.sxdg {
	--sxdg-accent: var(--wp--preset--color--primary, #e6a1a1);
	--sxdg-text: inherit;
	--sxdg-muted: rgba(0, 0, 0, .55);
	--sxdg-gap: 14px;
	--sxdg-radius: 6px;
	--sxdg-cols: 4; --sxdg-cols-t: 3; --sxdg-cols-m: 2;
	margin: 0 0 40px;
}
/* Filters */
.sxdg-filters { margin: 0 0 22px; }
.sxdg-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0 0 10px; padding: 0; }
.sxdg-align-left .sxdg-row { justify-content: flex-start; }
.sxdg-row li { margin: 0; padding: 0; list-style: none; }
.sxdg-row li::before { display: none; }
.sxdg-row-1, .sxdg-row-2, .sxdg-row-3 { font-size: .92em; }
.sxdg-chip {
	appearance: none; cursor: pointer; font: inherit; line-height: 1.2;
	background: transparent; color: var(--sxdg-text);
	border: 1px solid currentColor; border-radius: 999px; padding: 7px 16px; opacity: .8;
	transition: background .15s, color .15s, opacity .15s, border-color .15s;
}
.sxdg-chip:hover, .sxdg-chip:focus-visible { opacity: 1; border-color: var(--sxdg-accent); outline: none; }
.sxdg-chip.is-active { background: var(--sxdg-accent); border-color: var(--sxdg-accent); color: #fff; opacity: 1; }
.sxdg-count { font-size: .8em; opacity: .65; margin-left: 2px; }
/* Tabs style */
.sxdg-filters-tabs .sxdg-row { gap: 4px 22px; border-bottom: 1px solid rgba(0,0,0,.1); padding-bottom: 0; }
.sxdg-filters-tabs .sxdg-row + .sxdg-row { border-bottom: 0; }
.sxdg-filters-tabs .sxdg-chip { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 8px 2px; margin-bottom: -1px; }
.sxdg-filters-tabs .sxdg-chip.is-active { background: transparent; color: var(--sxdg-accent); border-bottom-color: var(--sxdg-accent); }
/* Drop-down style */
.sxdg-filters-dropdown .sxdg-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.sxdg-filters-dropdown.sxdg-align-left .sxdg-filters { justify-content: flex-start; }
.sxdg-filters-dropdown .sxdg-row { margin: 0; }
.sxdg-select { font: inherit; padding: 8px 34px 8px 14px; border: 1px solid rgba(0,0,0,.25); border-radius: var(--sxdg-radius); background: #fff; color: inherit; min-width: 200px; max-width: 100%; }
.sxdg-select:focus { outline: 2px solid var(--sxdg-accent); outline-offset: 1px; }

/* Grid (default) */
.sxdg-grid {
	display: grid; grid-template-columns: repeat(var(--sxdg-cols), minmax(0, 1fr)); gap: var(--sxdg-gap);
	list-style: none; margin: 0; padding: 0; transition: opacity .2s;
}
.sxdg.is-loading .sxdg-grid { opacity: .45; }
.sxdg-item { margin: 0; padding: 0; list-style: none; min-width: 0; }
.sxdg-item::before { display: none; }
.sxdg-media { position: relative; display: block; overflow: hidden; border-radius: var(--sxdg-radius); background: rgba(0,0,0,.04); }
.sxdg-media img { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: var(--sxdg-ratio, 1/1); object-fit: cover; contain-intrinsic-size: none; transition: transform .4s ease; }
.sxdg-natural .sxdg-media img:not([style]) { aspect-ratio: auto; }
.sxdg-hover-zoom a.sxdg-media:hover img, .sxdg-hover-zoom a.sxdg-media:focus-visible img { transform: scale(1.04); }

/* Masonry */
.sxdg-layout-masonry .sxdg-grid { display: block; column-count: var(--sxdg-cols); column-gap: var(--sxdg-gap); }
.sxdg-layout-masonry .sxdg-item { break-inside: avoid; margin-bottom: var(--sxdg-gap); display: inline-block; width: 100%; }

/* List: image + text */
.sxdg-layout-list .sxdg-item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: calc(var(--sxdg-gap) + 6px); align-items: center; }
.sxdg-layout-list .sxdg-text { padding: 0; }
.sxdg-layout-list .sxdg-title { font-size: 1.25em; }

/* Names */
.sxdg-cap {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 10px;
	background: linear-gradient(transparent, rgba(0,0,0,.6)); color: #fff; font-size: .9em; line-height: 1.3;
	opacity: 0; transform: translateY(6px); transition: opacity .2s, transform .2s;
}
.sxdg-cap-title, .sxdg-cap-desc { display: block; }
.sxdg-cap-desc { font-size: .88em; opacity: .85; margin-top: 2px; }
.sxdg-media:hover .sxdg-cap, a.sxdg-media:focus-visible .sxdg-cap { opacity: 1; transform: none; }
@media (hover: none) { .sxdg-cap { opacity: 1; transform: none; } }
.sxdg-text { padding: 10px 2px 0; }
.sxdg-title { margin: 0; font-size: 1em; line-height: 1.3; font-weight: 600; }
.sxdg-desc { margin: 4px 0 0; font-size: .9em; line-height: 1.45; color: var(--sxdg-muted); }

.sxdg-empty { text-align: center; color: var(--sxdg-muted); margin: 30px 0; }
.sxdg-more-wrap { text-align: center; margin: 26px 0 0; }
.sxdg-more {
	appearance: none; cursor: pointer; font: inherit; background: var(--sxdg-accent); color: #fff;
	border: 0; border-radius: 999px; padding: 11px 30px;
}
.sxdg-more[disabled] { opacity: .6; cursor: wait; }
.sxdg-load-scroll .sxdg-more { visibility: hidden; }
.sxdg-load-scroll.is-loading .sxdg-more-wrap::after { content: ""; display: inline-block; width: 26px; height: 26px; border: 3px solid var(--sxdg-accent); border-right-color: transparent; border-radius: 50%; animation: sxdg-spin .8s linear infinite; }
@keyframes sxdg-spin { to { transform: rotate(360deg); } }

@media (max-width: 1024px) {
	.sxdg-grid { grid-template-columns: repeat(var(--sxdg-cols-t), minmax(0, 1fr)); }
	.sxdg-layout-masonry .sxdg-grid { column-count: var(--sxdg-cols-t); }
}
@media (max-width: 600px) {
	.sxdg-grid { grid-template-columns: repeat(var(--sxdg-cols-m), minmax(0, 1fr)); gap: min(var(--sxdg-gap), 10px); }
	.sxdg-layout-masonry .sxdg-grid { column-count: var(--sxdg-cols-m); column-gap: min(var(--sxdg-gap), 10px); }
	.sxdg-layout-masonry .sxdg-item { margin-bottom: min(var(--sxdg-gap), 10px); }
	.sxdg-layout-list .sxdg-grid { gap: calc(var(--sxdg-gap) * 1.5); }
	.sxdg-layout-list .sxdg-item { grid-template-columns: 1fr; gap: 0; align-items: start; }
	.sxdg-layout-list .sxdg-text { padding-top: 10px; }
	.sxdg-layout-list .sxdg-title { font-size: 1.05em; }
	.sxdg-row { flex-wrap: wrap; gap: 8px; }
	.sxdg-chip { padding: 6px 13px; }
	/* Tabs wrap onto several lines on phones, so they become compact pills instead of an underlined strip. */
	.sxdg-filters-tabs .sxdg-row { border-bottom: 0; gap: 8px; }
	.sxdg-filters-tabs .sxdg-chip { border: 1px solid rgba(0,0,0,.15); border-radius: 999px; padding: 6px 13px; margin: 0; }
	.sxdg-filters-tabs .sxdg-chip.is-active { background: var(--sxdg-accent); border-color: var(--sxdg-accent); color: #fff; }
	.sxdg-filters-dropdown .sxdg-row { flex: 1 1 100%; }
	.sxdg-select { width: 100%; }
}

/* Lightbox */
.sxdg-noscroll { overflow: hidden; }
.sxdg-lb { position: fixed; inset: 0; z-index: 2147483000; background: rgba(15, 12, 12, .92); display: flex; align-items: center; justify-content: center; }
.sxdg-lb[hidden] { display: none; }
.sxdg-lb-fig { margin: 0; max-width: min(92vw, 1400px); text-align: center; }
.sxdg-lb-fig img { display: block; margin: 0 auto; max-width: 100%; max-height: 80vh; width: auto; height: auto; border-radius: 4px; }
.sxdg-lb-fig figcaption { color: #fff; padding: 12px 8px 0; line-height: 1.4; }
.sxdg-lb-title { display: block; font-size: 1.1em; }
.sxdg-lb-desc { display: block; opacity: .85; font-size: .95em; }
.sxdg-lb-count { display: block; opacity: .55; font-size: .8em; margin-top: 4px; }
.sxdg-lb button { position: absolute; appearance: none; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; width: 46px; height: 46px; border-radius: 50%; font-size: 24px; line-height: 46px; padding: 0; }
.sxdg-lb button:hover, .sxdg-lb button:focus-visible { background: rgba(255,255,255,.25); outline: none; }
.sxdg-lb-close { top: 16px; right: 16px; }
.sxdg-lb-close::before { content: "\00d7"; }
.sxdg-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.sxdg-lb-prev::before { content: "\2039"; }
.sxdg-lb-next { right: 16px; top: 50%; transform: translateY(-50%); }
.sxdg-lb-next::before { content: "\203A"; }
.sxdg-lb button[hidden] { display: none; }
@media (max-width: 600px) { .sxdg-lb-prev, .sxdg-lb-next { top: auto; bottom: 16px; transform: none; } }

/* Category tiles */
.sxdg-tiles { display: grid; grid-template-columns: repeat(var(--sxdg-cols, 4), minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0 0 40px; padding: 0; }
.sxdg-tile { margin: 0; padding: 0; list-style: none; }
.sxdg-tile::before { display: none; }
.sxdg-tile a { position: relative; display: block; overflow: hidden; border-radius: 6px; color: #fff; text-decoration: none; background: rgba(0,0,0,.06); }
.sxdg-tile img, .sxdg-tile-noimg { display: block; width: 100%; height: auto; aspect-ratio: var(--sxdg-ratio, 4/5); object-fit: cover; transition: transform .4s ease; }
.sxdg-tile a:hover img, .sxdg-tile a:focus-visible img { transform: scale(1.05); }
.sxdg-tile-name { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 14px 14px; background: linear-gradient(transparent, rgba(0,0,0,.65)); font-size: 1.1em; line-height: 1.25; }
.sxdg-tile-name .sxdg-count { opacity: .75; }
@media (max-width: 1024px) { .sxdg-tiles { grid-template-columns: repeat(min(var(--sxdg-cols, 4), 3), minmax(0, 1fr)); } }
@media (max-width: 600px) { .sxdg-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .sxdg-tile-name { font-size: 1em; padding: 30px 10px 10px; } }
