.glpd-grid { gap: 24px 20px; }
.glpd-card {
	--glpd-card-bg: #fff;
	--glpd-card-text: #060606;
	--glpd-card-accent: #ff563f;
	--glpd-card-button: #124f42;
	position: relative;
	display: flex;
	height: auto;
	aspect-ratio: 2.25 / 1;
	min-height: 0;
	border: 1px solid #e5e8e7;
	border-radius: 25px 12px 25px 12px;
	box-shadow: 0 7px 20px rgba(20, 34, 31, .075);
	background: var(--glpd-card-bg);
	color: var(--glpd-card-text);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.glpd-card:hover {
	transform: translateY(-7px);
	border-color: #dce1df;
	box-shadow: 0 17px 32px rgba(20, 34, 31, .17), 0 0 0 1px rgba(20, 34, 31, .025);
}
.glpd-card__content {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	padding: 18px 7px 13px 22px;
}
.glpd-card__media {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
	width: auto;
	height: 100%;
	aspect-ratio: 1 / 1;
	clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
	border-radius: 0 11px 24px 0;
	overflow: hidden;
}
.glpd-brand {
	margin: 4px 0 1px;
	color: var(--glpd-card-text);
	font-size: clamp(1.45rem, 1.8vw, 1.9rem);
	font-weight: 900;
	letter-spacing: .02em;
	line-height: 1.05;
	text-transform: none;
	overflow-wrap: anywhere;
}
.glpd-brand--latin { letter-spacing: 0; }
.glpd-logo { max-width: 150px; max-height: 48px; }
.glpd-card__labels { min-height: 22px; }
.glpd-type { color: var(--glpd-card-accent); font-size: .84rem; font-weight: 500; }
.glpd-card__title { margin: 5px 0 2px; font-size: 1rem; font-weight: 500; line-height: 1.25; }
.glpd-card__extra-line { margin: 2px 0 0; color: inherit; font-size: .78rem; line-height: 1.25; opacity: .78; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.glpd-card .glpd-card__title,.glpd-card .glpd-card__title a,.glpd-card .glpd-card__extra-line{color:var(--glpd-card-text)!important}
.glpd-card__summary { margin: 1px 0; color: var(--glpd-card-text); font-size: .8rem; line-height: 1.3; }
.glpd-code { margin: 5px 0 0; }
.glpd-actions { display: flex; flex-wrap: nowrap; gap: 6px; margin-top: auto; padding-top: 8px; white-space: nowrap; }
.glpd-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 5px 11px;
	border: 1.5px solid var(--glpd-card-button);
	border-radius: 999px;
	background: var(--glpd-card-bg);
	color: var(--glpd-card-button) !important;
	font-size: .7rem;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none;
}
.glpd-card-button--store { border-color: var(--glpd-card-button); background: color-mix(in srgb, var(--glpd-card-accent) 28%, var(--glpd-card-bg)); }
.glpd-has-colored-bg .glpd-card-button--store { background: #fff; color: var(--glpd-card-button) !important; }
.glpd-card-button:hover,
.glpd-card-button:focus-visible { background: var(--glpd-card-button); color: #fff !important; }
.glpd-style-custom.glpd-has-colored-bg .glpd-card-button:hover,
.glpd-style-custom.glpd-has-colored-bg .glpd-card-button:focus-visible{border-color:var(--glpd-card-button);background:var(--glpd-card-button);color:var(--glpd-card-bg)!important}
.glpd-card-button:focus-visible { outline: 3px solid #f1b24a; outline-offset: 2px; }
.glpd-dates { margin: 7px 0 0; color: #858b89; font-size: .67rem; font-weight: 400; line-height: 1.2; white-space: nowrap; }
.glpd-dates__label { font-weight: 400; }
.glpd-upcoming { margin-left: 4px; color: #ff563f; white-space: nowrap; }
.glpd-badge--pinned {
	position: absolute;
	top: 0;
	right: 20px;
	left: auto;
	z-index: 4;
	padding: 4px 8px;
	border-radius: 0 0 10px 10px;
	background: #ffb84d;
	color: #fff;
	box-shadow: 0 3px 9px rgba(0,0,0,.14);
}
.glpd-card--no-image .glpd-card__content { flex-basis: 100%; }
.glpd-style-yellow { --glpd-card-bg: #ffed62; --glpd-card-text: #141414; --glpd-card-accent: #f05b43; --glpd-card-button: #185647; }
.glpd-style-peach { --glpd-card-bg: #ffd0c4; --glpd-card-text: #171313; --glpd-card-accent: #168b6b; --glpd-card-button: #15584b; }
.glpd-style-lavender { --glpd-card-bg: #dda0e8; --glpd-card-text: #fff; --glpd-card-accent: #7d128d; --glpd-card-button: #bd00c8; }
.glpd-style-lavender .glpd-dates { color: rgba(255,255,255,.82); }
.glpd-archive .glpd-brand { font-size: clamp(1.5rem, 1.9vw, 2rem); }
.glpd-archive .glpd-type { font-size: .76rem; }
.glpd-archive .glpd-card__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: .95rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.glpd-archive .glpd-card__extra-line {
	display: block;
	overflow: hidden !important;
	max-width: 100%;
	white-space: nowrap !important;
	text-overflow: ellipsis;
}
.glpd-archive .glpd-card__extra-line + .glpd-card__extra-line { display: none; }
.glpd-archive .glpd-card__summary { font-size: .88rem; }
.glpd-archive .glpd-card-button { padding: 6px 15px; font-size: .76rem; }
.glpd-archive .glpd-dates { font-size: .72rem; }
@media (max-width: 1100px) {
	.glpd-card { height: auto; min-height: 0; aspect-ratio: 2.25 / 1; }
	.glpd-card__media { flex: 0 0 auto; width: auto; height: 100%; aspect-ratio: 1 / 1; }
	.glpd-brand { font-size: 1.65rem; }
}
@media (max-width: 860px) {
	.glpd-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
	.glpd-card { height: auto; min-height: 0; aspect-ratio: auto; flex-direction: column-reverse; }
	.glpd-card__media { flex: none; width: 100%; height: auto; aspect-ratio: 1 / 1; clip-path: none; border-radius: 24px 11px 0 0; }
	.glpd-card__content { padding: 22px 20px 18px; }
	.glpd-brand { font-size: 1.8rem; }
	.glpd-actions { gap: 8px; }
	.glpd-card-button { padding-right: 14px; padding-left: 14px; font-size: .76rem; }
	.glpd-dates { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
	.glpd-card { transition: none; }
	.glpd-card:hover { transform: none; }
}
