.etd-cards-public-shell {
	--etd-border: #dbe3ee;
	--etd-muted: #64748b;
	--etd-surface: #ffffff;
	--etd-soft: #f5f8fc;
	--etd-accent: #1463d6;
	--etd-accent-dark: #0d4496;
	max-width: 1320px;
	margin: 0 auto;
	padding: 48px 24px 72px;
}

.etd-catalogue-header,
.etd-section-heading {
	max-width: 780px;
}

.etd-catalogue-header h1,
.etd-card-detail-content h1,
.etd-section-heading h2 {
	margin: 0;
	line-height: 1.08;
}

.etd-catalogue-header h1 {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

.etd-eyebrow {
	margin: 0 0 8px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--etd-accent);
}

.etd-catalogue-filters {
	display: grid;
	grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(150px, .75fr)) auto auto;
	gap: 10px;
	align-items: center;
	margin: 34px 0 18px;
	padding: 16px;
	background: var(--etd-surface);
	border: 1px solid var(--etd-border);
	border-radius: 16px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
}

.etd-catalogue-filters input,
.etd-catalogue-filters select,
.etd-live-card-search input {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--etd-border);
	border-radius: 10px;
	background: #fff;
	padding: 0 13px;
}

.etd-public-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid var(--etd-accent);
	border-radius: 10px;
	background: var(--etd-accent);
	color: #fff;
	font-weight: 750;
	text-decoration: none;
	cursor: pointer;
}

.etd-public-button:hover,
.etd-public-button:focus {
	background: var(--etd-accent-dark);
	border-color: var(--etd-accent-dark);
	color: #fff;
}

.etd-public-button-secondary {
	background: #fff;
	color: var(--etd-accent);
}

.etd-catalogue-summary {
	margin: 18px 0;
	color: var(--etd-muted);
	font-weight: 650;
}

.etd-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.etd-card-grid-compact {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.etd-card-tile {
	min-width: 0;
	background: var(--etd-surface);
	border: 1px solid var(--etd-border);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
	transition: transform .18s ease, box-shadow .18s ease;
}

.etd-card-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(15, 23, 42, .12);
}

.etd-card-tile-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.etd-card-tile-image {
	aspect-ratio: 5 / 7;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, #eef4fb, #dfeaf8);
	overflow: hidden;
}

.etd-card-tile-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.etd-card-tile-content {
	padding: 15px 16px 18px;
}

.etd-card-tile-content h2 {
	margin: 3px 0 5px;
	font-size: 1.12rem;
}

.etd-card-tile-content p {
	margin: 0;
	color: var(--etd-muted);
	font-size: .9rem;
}

.etd-card-tile-number {
	font-weight: 800;
	color: var(--etd-accent) !important;
}

.etd-card-breadcrumbs {
	display: flex;
	gap: 9px;
	align-items: center;
	margin-bottom: 26px;
	font-size: .92rem;
	color: var(--etd-muted);
}

.etd-card-detail {
	display: grid;
	grid-template-columns: minmax(280px, 430px) minmax(0, 1fr);
	gap: clamp(34px, 6vw, 76px);
	align-items: start;
}

.etd-card-detail-image img,
.etd-card-image-placeholder {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
	box-shadow: 0 24px 54px rgba(15, 23, 42, .18);
}

.etd-card-image-placeholder {
	aspect-ratio: 5 / 7;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--etd-soft);
	color: var(--etd-muted);
}

.etd-card-detail-content h1 {
	font-size: clamp(2.3rem, 5vw, 4.7rem);
}

.etd-card-title {
	margin: 8px 0 0;
	font-size: 1.3rem;
	color: var(--etd-muted);
}

.etd-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0;
}

.etd-card-badges span {
	padding: 7px 11px;
	border-radius: 999px;
	background: #eaf2ff;
	color: var(--etd-accent-dark);
	font-size: .84rem;
	font-weight: 800;
}

.etd-card-specification-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0;
}

.etd-card-specification-grid > div {
	padding: 15px;
	border: 1px solid var(--etd-border);
	border-radius: 12px;
	background: var(--etd-soft);
}

.etd-card-specification-grid dt {
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--etd-muted);
}

.etd-card-specification-grid dd {
	margin: 5px 0 0;
	font-weight: 750;
}

.etd-card-effect {
	margin-top: 26px;
	padding: 22px;
	border-left: 4px solid var(--etd-accent);
	border-radius: 0 14px 14px 0;
	background: var(--etd-soft);
}

.etd-card-effect h2 {
	margin-top: 0;
	font-size: 1.15rem;
}

.etd-card-future-actions {
	margin-top: 22px;
	padding: 14px 16px;
	border: 1px dashed var(--etd-border);
	border-radius: 12px;
	color: var(--etd-muted);
	font-size: .9rem;
}

.etd-related-printings {
	margin-top: 76px;
}

.etd-related-printings .etd-card-grid {
	margin-top: 22px;
}

.etd-empty-state {
	padding: 54px 24px;
	text-align: center;
	background: var(--etd-soft);
	border-radius: 16px;
}

.etd-public-pagination {
	margin-top: 34px;
}

.etd-public-pagination ul {
	display: flex;
	gap: 7px;
	justify-content: center;
	list-style: none;
	padding: 0;
}

.etd-public-pagination a,
.etd-public-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 11px;
	border: 1px solid var(--etd-border);
	border-radius: 9px;
	text-decoration: none;
}

.etd-public-pagination .current {
	background: var(--etd-accent);
	border-color: var(--etd-accent);
	color: #fff;
}

.etd-live-card-search {
	position: relative;
	max-width: 920px;
	margin: 0 auto;
}

.etd-live-card-search-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.etd-live-search-results {
	position: absolute;
	z-index: 999;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid var(--etd-border);
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(15, 23, 42, .18);
	overflow: hidden;
}

.etd-live-search-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 13px;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid #edf1f6;
}

.etd-live-search-item:hover {
	background: var(--etd-soft);
}

.etd-live-search-item img {
	width: 42px;
	height: 58px;
	object-fit: cover;
	border-radius: 4px;
}

.etd-live-search-copy strong,
.etd-live-search-copy small {
	display: block;
}

.etd-live-search-copy small {
	margin-top: 3px;
	color: var(--etd-muted);
}

.etd-live-search-view-all,
.etd-live-search-empty {
	display: block;
	padding: 13px;
	margin: 0;
	text-align: center;
	font-weight: 750;
}

@media (max-width: 1100px) {
	.etd-catalogue-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.etd-card-grid,
	.etd-card-grid-compact {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.etd-cards-public-shell {
		padding: 32px 16px 54px;
	}

	.etd-card-detail {
		grid-template-columns: 1fr;
	}

	.etd-card-detail-image {
		max-width: 420px;
		margin: 0 auto;
	}

	.etd-card-grid,
	.etd-card-grid-compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.etd-catalogue-filters,
	.etd-live-card-search-row,
	.etd-card-specification-grid {
		grid-template-columns: 1fr;
	}

	.etd-card-grid,
	.etd-card-grid-compact {
		grid-template-columns: 1fr;
	}
}


.etd-card-not-found {
	max-width: 760px;
	margin: 60px auto;
	text-align: center;
}

.etd-card-not-found .etd-public-button {
	display: inline-flex;
	margin-top: 16px;
}


/* v1.3.1 — official Elestrals symbol presentation */
.etd-card-symbol-row{
	display:flex;
	align-items:center;
	min-height:40px;
}
.etd-card-symbol-value{
	display:inline-flex;
	align-items:center;
	gap:9px;
}
.etd-card-cost-symbols{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
.etd-card-symbol{
	display:block;
	flex:0 0 auto;
	object-fit:contain;
}
.etd-card-symbol-cost,
.etd-card-symbol-stat{
	width:32px;
	height:32px;
}
.etd-card-symbol-number{
	font-size:1.55rem;
	line-height:1;
	font-weight:800;
	color:#0b1320;
}
.etd-card-subcategory-symbols{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:14px 20px;
	min-height:40px;
}
.etd-card-subcategory-symbol{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:.9rem;
	font-weight:800;
	letter-spacing:.02em;
	color:#0b1320;
}
.etd-card-symbol-subcategory{
	width:28px;
	height:28px;
}
@media(max-width:640px){
	.etd-card-symbol-cost,
	.etd-card-symbol-stat{
		width:28px;
		height:28px;
	}
	.etd-card-symbol-number{
		font-size:1.35rem;
	}
	.etd-card-symbol-subcategory{
		width:25px;
		height:25px;
	}
}


/* v1.3.2 — subtype icon/key correction */
.etd-card-subcategory-symbols{
	gap:14px 24px;
}
.etd-card-subcategory-symbol{
	gap:6px;
}
.etd-card-symbol-subcategory{
	width:30px;
	height:30px;
}


/* v1.3.3 — inline effect-text symbols */
.etd-effect-symbol{
	display:inline-block;
	width:22px;
	height:22px;
	object-fit:contain;
	vertical-align:-5px;
	margin:0 2px;
}


/* v1.5.0 — set-first Cards catalogue */
.etd-cards-catalogue-v2{
	--etd-catalogue-ink:#0f172a;
	--etd-catalogue-blue:#0d5bd7;
	--etd-catalogue-blue-dark:#083f9b;
}

.etd-catalogue-header-v2{max-width:850px}
.etd-catalogue-header-v2 h1{font-size:clamp(2.8rem,6vw,5.2rem);letter-spacing:-.05em}
.etd-catalogue-header-v2>p:last-child{max-width:700px;font-size:1.08rem;line-height:1.65;color:#64748b}

.etd-catalogue-search-v2{
	margin:34px 0 44px;
	padding:18px;
	border:1px solid var(--etd-border);
	border-radius:16px;
	background:#fff;
	box-shadow:0 14px 36px rgba(15,23,42,.07);
}
.etd-primary-filters{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr)) minmax(160px,.72fr);
	gap:10px;
}
.etd-primary-filters label,
.etd-advanced-filters label{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.etd-primary-filters label>span,
.etd-advanced-filters label>span{
	font-size:.72rem;
	font-weight:850;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:#64748b;
}
.etd-catalogue-search-v2 select,
.etd-catalogue-search-v2 input[type="number"]{
	width:100%;
	min-height:45px;
	border:1px solid #cfd9e6;
	border-radius:9px;
	background:#fff;
	padding:0 12px;
	color:#0f172a;
}
.etd-advanced-filter-toggle{
	align-self:end;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	min-height:45px;
	padding:0 13px;
	border:1px solid #cfd9e6;
	border-radius:9px;
	background:#f8fafc;
	color:#1e293b;
	font-weight:800;
	cursor:pointer;
}
.etd-advanced-filter-toggle b{
	display:grid;
	place-items:center;
	width:22px;height:22px;
	border-radius:50%;
	background:#e7eef8;
	color:#0d5bd7;
	font-size:1.05rem;
	transition:transform .18s ease;
}
.etd-advanced-filter-toggle.is-active,
.etd-advanced-filter-toggle:hover{border-color:#8eb5ef;background:#f4f8ff}
.etd-advanced-filter-toggle[aria-expanded="true"] b{transform:rotate(45deg)}

.etd-advanced-filters{
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:10px;
	margin-top:12px;
	padding:14px;
	border-radius:11px;
	background:#f7f9fc;
	border:1px solid #e6ecf4;
}
.etd-filter-check{
	flex-direction:row!important;
	align-items:center;
	justify-content:center;
	padding:0 10px;
	min-height:45px;
	margin-top:20px;
	border:1px solid #dbe3ee;
	border-radius:9px;
	background:#fff;
}
.etd-filter-check input{margin:0}
.etd-filter-check span{text-transform:none!important;letter-spacing:0!important;color:#334155!important}

.etd-full-search-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto auto;
	gap:9px;
	margin-top:12px;
}
.etd-full-search input{
	width:100%;
	height:52px;
	border:1px solid #bac9dc;
	border-radius:10px;
	padding:0 17px;
	font-size:1rem;
	background:#fff;
}
.etd-full-search input:focus,
.etd-catalogue-search-v2 select:focus,
.etd-catalogue-search-v2 input[type="number"]:focus{
	outline:0;
	border-color:#4b8ee8;
	box-shadow:0 0 0 3px rgba(20,99,214,.11);
}
.etd-full-search-row .etd-public-button{min-height:52px}

.etd-set-browser{margin-top:4px}
.etd-set-browser-intro{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:28px;
	margin-bottom:32px;
}
.etd-set-browser-intro h2{margin:0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em}
.etd-set-browser-intro>p{max-width:480px;margin:0;color:#64748b;text-align:right;line-height:1.6}

.etd-set-family{margin:0 0 48px}
.etd-set-family-heading{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding-bottom:11px;
	margin-bottom:18px;
	border-bottom:1px solid #dbe3ee;
}
.etd-set-family-heading h3{margin:0;font-size:1.35rem}
.etd-set-family-heading span{font-size:.82rem;font-weight:750;color:#64748b}

.etd-set-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
.etd-set-tile{
	position:relative;
	display:flex;
	flex-direction:column;
	min-height:220px;
	overflow:hidden;
	border:1px solid #d9e3ef;
	border-radius:15px;
	background:
		radial-gradient(circle at 85% 15%,rgba(20,99,214,.10),transparent 32%),
		linear-gradient(145deg,#ffffff,#f3f7fc);
	box-shadow:0 10px 26px rgba(15,23,42,.06);
	color:#0f172a;
	text-decoration:none;
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.etd-set-tile:hover{
	transform:translateY(-4px);
	border-color:#96b8e8;
	box-shadow:0 18px 38px rgba(15,23,42,.11);
	color:#0f172a;
}
.etd-set-tile-art{
	flex:1;
	min-height:155px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px 30px 16px;
}
.etd-set-tile-art img{
	display:block;
	max-width:100%;
	max-height:112px;
	width:auto;
	height:auto;
	object-fit:contain;
	filter:drop-shadow(0 5px 8px rgba(15,23,42,.10));
}
.etd-set-tile-art img.is-icon{max-height:82px}
.etd-set-tile-art>span{
	display:grid;
	place-items:center;
	width:82px;height:82px;
	border-radius:20px;
	background:#e9f1fc;
	color:#0d5bd7;
	font-size:1.55rem;
	font-weight:900;
}
.etd-set-tile-copy{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:14px;
	padding:15px 17px 17px;
	border-top:1px solid rgba(219,227,238,.8);
	background:rgba(255,255,255,.76);
}
.etd-set-tile-copy>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.etd-set-tile-copy strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.etd-set-tile-copy small{color:#64748b}
.etd-set-tile-copy>span{
	flex:0 0 auto;
	padding:5px 8px;
	border-radius:999px;
	background:#eaf2ff;
	color:#0d4496;
	font-size:.75rem;
	font-weight:800;
}

.etd-results-heading{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:20px;
	margin:0 0 20px;
}
.etd-results-heading h2{margin:0;font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:-.035em}
.etd-results-heading>strong{color:#64748b}

@media(max-width:1050px){
	.etd-primary-filters{grid-template-columns:1fr 1fr}
	.etd-advanced-filters{grid-template-columns:repeat(3,1fr)}
	.etd-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
	.etd-cards-public-shell{padding-left:14px;padding-right:14px}
	.etd-primary-filters{grid-template-columns:1fr}
	.etd-advanced-filters{grid-template-columns:1fr 1fr}
	.etd-filter-check{margin-top:0}
	.etd-full-search-row{grid-template-columns:1fr auto}
	.etd-full-search-row .etd-public-button-secondary{grid-column:1/-1}
	.etd-set-browser-intro{display:block}
	.etd-set-browser-intro>p{text-align:left;margin-top:10px}
	.etd-set-grid{grid-template-columns:1fr}
	.etd-set-tile{min-height:200px}
	.etd-results-heading{align-items:start;flex-direction:column}
}
@media(max-width:430px){
	.etd-advanced-filters{grid-template-columns:1fr}
	.etd-full-search-row{grid-template-columns:1fr}
	.etd-full-search-row .etd-public-button-secondary{grid-column:auto}
}
