/* Castle owners (castle/index) */

.fy-castle-top { display: grid; gap: var(--sp-5); align-items: center; margin-bottom: var(--sp-10); }
.fy-castle-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* values on one line even when a label wraps onto two */
.fy-castle-stats .fy-stat { display: flex; flex-direction: column; justify-content: space-between; }
.fy-castle-stats dd { font-size: 1.6rem; }
.fy-castle-links { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
@media (min-width: 900px) {
	.fy-castle-top { grid-template-columns: minmax(0, 560px) minmax(0, 1fr); }
	.fy-castle-links { justify-content: flex-end; }
}

.fy-castle-section + .fy-castle-section { margin-top: var(--sp-10); }
.fy-castle-heading { display: flex; align-items: center; gap: .55rem; margin: 0 0 var(--sp-5); font-size: var(--fs-h3); }
.fy-castle-heading .fy-i { color: var(--gold-300); }

.fy-castle-grid { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); margin: 0; padding: 0; list-style: none; }
.fy-castle-grid > li { margin: 0; }
.fy-castle-card {
	--card-pad: var(--sp-5);
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	overflow: hidden;
	background:
		radial-gradient(120% 70% at 100% 0%, rgba(255, 196, 63, .1), transparent 60%),
		var(--grad-card), var(--surface);
}
.fy-castle-card__mark { position: absolute; right: var(--sp-4); top: var(--sp-4); color: rgba(255, 214, 109, .22); pointer-events: none; }
.fy-castle-card__mark .fy-i { width: 30px; height: 30px; stroke-width: 1.6; }
.fy-castle-card > :not(.fy-castle-card__mark) { position: relative; }
.fy-castle-card__id { margin: 0; color: var(--gold-300); font: 700 .7rem/1.2 var(--font-lore); letter-spacing: .18em; text-transform: uppercase; }
.fy-castle-card__name { margin: 0; font-size: 1.3rem; }
.fy-castle-owner { display: flex; align-items: center; gap: .75rem; margin-top: auto; padding-top: var(--sp-3); border-top: 1px solid var(--line); }
.fy-castle-owner__emblem { flex: none; width: 40px; height: 40px; padding: 4px; border-radius: 12px; background: var(--surface-sunken); box-shadow: inset 0 0 0 1px var(--line-2); image-rendering: pixelated; }
.fy-castle-owner__emblem--none { display: grid; place-items: center; color: var(--text-4); }
.fy-castle-owner__text { display: grid; min-width: 0; }
.fy-castle-owner__label { color: var(--text-3); font: 800 .66rem/1.3 var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.fy-castle-owner__text a, .fy-castle-owner__text strong { color: var(--text); font-weight: 800; overflow-wrap: anywhere; }
.fy-castle-owner__text a:hover { color: var(--gold-300); }
.fy-castle-eco { display: flex; justify-content: space-between; align-items: baseline; color: var(--text-3); font-size: .85rem; font-weight: 700; }
.fy-castle-eco strong { color: var(--gold-200); font: 600 1.05rem/1 var(--font-display); }
.fy-castle-none { margin: 0; color: var(--text-3); }

.fy-castle-free { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.fy-castle-free li, .fy-castle-free li + li { margin: 0; }
.fy-castle-free li {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .45rem .9rem .45rem .45rem;
	border: 1px dashed var(--line-2);
	border-radius: var(--r-pill);
	color: var(--text-2);
	font-weight: 700;
}
.fy-castle-free__id { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 .4rem; border-radius: var(--r-pill); background: rgba(255, 255, 255, .06); color: var(--text-3); font: 600 .78rem/1 var(--font-display); }
@media (max-width: 479.98px) {
	.fy-castle-stats dd { font-size: 1.3rem; }
}
