.sglg {
	--sglg-blue: #31546f;
	--sglg-border: #d8e0e6;
	--sglg-soft: #f5f8fa;
	max-width: 1060px;
	margin: 0 auto;
	color: #18252d;
}

.sglg__intro { margin-bottom: 1.5rem; }
.sglg__intro h2 { margin-bottom: .35rem; }
.sglg__intro p { margin-top: 0; color: #52616b; }

.sglg__notice {
	margin: 0 0 1.25rem;
	padding: .85rem 1rem;
	border-left: 4px solid #4d7d59;
	background: #f1f7f2;
}
.sglg__notice--error { border-left-color: #a84040; background: #fff4f4; }

.sglg__filters {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr auto;
	gap: .8rem;
	align-items: end;
	padding: 1rem;
	border: 1px solid var(--sglg-border);
	border-radius: 8px;
	background: var(--sglg-soft);
}
.sglg label { display: block; margin-bottom: .3rem; font-weight: 600; }
.sglg input[type="text"], .sglg input[type="url"], .sglg input[type="email"], .sglg input[type="search"], .sglg select, .sglg textarea {
	box-sizing: border-box;
	width: 100%;
	padding: .68rem .75rem;
	border: 1px solid #b9c5cc;
	border-radius: 5px;
	background: #fff;
	font: inherit;
}
.sglg button {
	padding: .7rem 1rem;
	border: 0;
	border-radius: 5px;
	background: var(--sglg-blue);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.sglg button:hover, .sglg button:focus-visible { background: #243f54; }
.sglg__filter-actions { display: flex; align-items: center; gap: .7rem; min-height: 44px; }
.sglg__filter-actions a { font-size: .93rem; }

.sglg__count { margin: 1.25rem 0 .7rem; color: #5a6871; font-size: .93rem; }
.sglg__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sglg-card {
	position: relative;
	padding: 1.1rem;
	border: 1px solid var(--sglg-border);
	border-radius: 8px;
	background: #fff;
}
.sglg-card--featured { border-color: #9eb4c2; background: #fbfdfe; }
.sglg-card__label {
	display: inline-block;
	margin-bottom: .55rem;
	padding: .12rem .45rem;
	border-radius: 999px;
	background: #e9f0f4;
	color: #31546f;
	font-size: .76rem;
	font-weight: 700;
}
.sglg-card h3 { margin: 0 0 .35rem; font-size: 1.18rem; }
.sglg-card h3 a { color: inherit; text-decoration: none; }
.sglg-card h3 a:hover { text-decoration: underline; }
.sglg-card__meta { margin: 0 0 .75rem; color: #61717c; font-size: .88rem; }
.sglg-card__description { color: #35454f; font-size: .95rem; }
.sglg-card__description p { margin: 0; }
.sglg-card__link { margin: .9rem 0 0; font-weight: 700; font-size: .92rem; }
.sglg__empty { margin: 1.2rem 0; padding: 1rem; background: var(--sglg-soft); }

.sglg__submit { margin-top: 2rem; border-top: 1px solid var(--sglg-border); }
.sglg__submit > summary { padding: 1rem 0; color: var(--sglg-blue); font-weight: 700; cursor: pointer; }
.sglg__submit-inner { max-width: 760px; padding: .25rem 0 1rem; }
.sglg__submit-inner h3 { margin-bottom: .25rem; }
.sglg__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.sglg__submit form p { margin: 0 0 1rem; }
.sglg__consent label { display: flex; gap: .55rem; align-items: flex-start; font-weight: 400; }
.sglg__consent input { margin-top: .25rem; }
.sglg__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 850px) {
	.sglg__filters { grid-template-columns: 1fr 1fr; }
	.sglg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.sglg__filters, .sglg__grid, .sglg__form-row { grid-template-columns: 1fr; }
	.sglg__filters { padding: .85rem; }
	.sglg-card { padding: 1rem; }
}

