/*
 * Stamp Board, board.css
 *
 * Styles for the ranked offers board on onlinefreegames.uk. The board
 * is the sold block: it keeps the mint arcade palette but reads as its
 * own white panel with an amber bar along the top and a tilted amber
 * stamp on each card. It follows the one measure rule, filling the
 * content column with no max-width of its own.
 */

.stb-board,
.stb-board * {
	box-sizing: border-box;
}

/* Board panel: full width, padding inside only, amber top bar. */
.stb-board {
	width: 100%;
	margin: 1.5rem 0 2rem;
	padding: 1.5rem 1.5rem 1.75rem;
	background: #ffffff;
	border: 1px solid #d7e2de;
	border-top: 4px solid #e8a13c;
	border-radius: 14px;
	overflow: hidden;
}

/* Heading: caps, bold geometric sans. */
.stb-board-title {
	margin: 0 0 .35rem;
	font-family: "Avenir Next", "Century Gothic", Verdana, sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #14352c;
}

/* Small supporting lines above and below the cards. */
.stb-board-note,
.stb-board-foot {
	font-size: .85rem;
	line-height: 1.55;
	color: #51665f;
}

.stb-board-note {
	margin: 0 0 1.25rem;
}

.stb-board-foot {
	margin: 1.25rem 0 0;
}

/* Card grid: auto fit tracks. */
.stb-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1rem;
}

/* Card: quiet panel, column flow. */
.stb-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .4rem;
	min-width: 0;
	padding: 1rem 1rem 1.1rem;
	background: #f4f7f6;
	border: 1px solid #d7e2de;
	border-radius: 10px;
	overflow-wrap: break-word;
}

/* Rank stamp: tilted square badge; the dark border plus the inner ring reads as a rubber stamp print. */
.stb-rank {
	position: absolute;
	top: .7rem;
	right: .7rem;
	width: 3.2rem;
	height: 3.2rem;
	display: grid;
	place-items: center;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: #14352c;
	background: #e8a13c;
	border: 2px solid #14352c;
	border-radius: 8px;
	outline: 1px solid #14352c;
	outline-offset: -6px;
	box-shadow: 0 1px 2px rgba(20, 53, 44, .15);
	transform: rotate(-4deg);
}

/* Brand line stops short of the stamp so the two never collide. */
.stb-brand {
	margin: 0;
	padding-right: 3.1rem;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
	color: #14352c;
}

.stb-licence {
	margin: 0;
	padding-right: 3.2rem;
	font-size: .78rem;
	color: #51665f;
}

.stb-offer {
	margin: 0;
	font-size: .92rem;
	line-height: 1.5;
	color: #14352c;
}

/* Chip pills. */
.stb-chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
}

.stb-chips li {
	padding: .15rem .6rem;
	font-size: .75rem;
	color: #14352c;
	background: #ffffff;
	border: 1px solid #d7e2de;
	border-radius: 999px;
}

/* Terms strip: perforated ticket stub, dashed tear line. */
.stb-terms {
	margin-top: .35rem;
	padding-top: .4rem;
	border-top: 1px dashed #9fb3ad;
	font-size: .75rem;
	line-height: 1.5;
	color: #51665f;
}

.stb-terms-label {
	margin-right: .35rem;
	font-weight: 700;
	font-variant-caps: all-small-caps;
	letter-spacing: .04em;
	color: #14352c;
}

/* Call to action: mint pill, foot aligned. */
.stb-cta {
	margin-top: auto;
	align-self: flex-start;
	display: inline-block;
	padding: .55rem 1.2rem;
	font-weight: 700;
	font-size: .95rem;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	background: #0e8f6a;
	border-radius: 999px;
}

.stb-cta:hover {
	background: #0a6b50;
	color: #ffffff;
	text-decoration: none;
}

.stb-cta:visited {
	color: #ffffff;
}

.stb-cta:focus {
	outline: 2px solid #e8a13c;
	outline-offset: 2px;
}

/* Under 600px the cards stack into one column. */
@media (max-width: 599px) {
	.stb-board {
		padding: 1.25rem 1rem 1.5rem;
	}

	.stb-cards {
		grid-template-columns: 1fr;
	}
}