/* ------------------------------------------------------------------
 * British Bonus World — layout, offer board, footer
 * v1.5.5 — dropdown styles live INLINE in the header markup
 * (functions.php), so this sheet no longer touches .bw-nav-drop.
 * ------------------------------------------------------------------ */

/* ===== Layout: neutralise Astra flex container (CRITICAL) ===== */
#content .ast-container,
.ast-container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}
#primary,
.site-main,
#main {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	margin-inline: auto !important;
}
body { overflow-x: clip; }

.bw-page {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: 16px;
}
.bw-page .bw-board,
.bw-page .bw-tablewrap,
.bw-page .bw-calc { max-width: 1080px; margin-inline: auto; }

/* Hide Astra page title bar / sidebar chrome */
.ast-page-builder-template .entry-header,
.entry-header,
.page .ast-single-title,
.ast-no-title .entry-header,
.ast-titlebar,
.ast-breadcrumbs,
#secondary,
.ast-separate-container #secondary {
	display: none !important;
}

/* Hide Astra default footer entirely */
.site-footer,
#colophon,
.ast-footer-html,
.ast-footer-credit,
.site-footer .ast-small-footer { display: none !important; }

/* ===== Offer board (rating) ===== */
.bw-board {
	max-width: 1080px;
	margin: 28px auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-family: inherit;
}
.bw-board-title {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	color: #141a33;
}
.bw-board-note {
	margin: 0 0 6px;
	font-size: 13px;
	color: #5c6580;
}
.bw-offer {
	display: flex;
	align-items: stretch;
	gap: 16px;
	background: #fff;
	border: 1px solid #e2e6ef;
	border-top: 4px solid #2b3a67;
	border-radius: 12px;
	padding: 18px 20px;
	box-shadow: 0 4px 16px rgba(20,26,51,.06);
}
.bw-offer-logo {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: 800;
	color: #fff;
}
.bw-offer-logo-1 { background: linear-gradient(135deg, #2b3a67, #4a5da8); }
.bw-offer-logo-2 { background: linear-gradient(135deg, #1c6b54, #2f9d7a); }
.bw-offer-logo-3 { background: linear-gradient(135deg, #7a3a1f, #c2703f); }
.bw-offer-logo-4 { background: linear-gradient(135deg, #4a2070, #7d4bb5); }
.bw-offer-rank {
	flex: 0 0 34px;
	font-size: 26px;
	font-weight: 800;
	color: #b9c0d4;
	text-align: center;
	align-self: center;
}
.bw-offer-main { flex: 1 1 auto; min-width: 0; }
.bw-offer-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.bw-offer-brand {
	font-size: 19px;
	font-weight: 800;
	color: #141a33;
}
.bw-offer-score {
	font-size: 15px;
	font-weight: 700;
	color: #2b3a67;
	white-space: nowrap;
}
.bw-offer-scorebar {
	margin: 8px 0 10px;
	height: 8px;
	border-radius: 4px;
	background: #e8ebf3;
	overflow: hidden;
	max-width: 320px;
}
.bw-offer-scorebar span {
	display: block;
	height: 100%;
	border-radius: 4px;
	background: linear-gradient(90deg, #2b3a67, #4a5da8);
}
.bw-offer-line {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	color: #2a3147;
}
.bw-offer-chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.bw-chip {
	font-size: 12px;
	color: #33406b;
	background: #eef1f9;
	border: 1px solid #dbe1f0;
	border-radius: 999px;
	padding: 4px 10px;
	white-space: nowrap;
}
.bw-offer-cta {
	flex: 0 0 190px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.bw-btn {
	display: inline-block;
	background: #e0654f;
	color: #fff;
	font-weight: 700;
	font-size: 14.5px;
	text-decoration: none;
	padding: 12px 20px;
	border-radius: 8px;
	text-align: center;
	transition: background .15s ease;
}
.bw-btn:hover, .bw-btn:focus { background: #c9503b; color: #fff; }
.bw-offer-licence {
	font-size: 11px;
	color: #8b93ab;
	text-align: center;
	line-height: 1.3;
}
.bw-board-note-placeholder,
.bw-board-placeholder {
	padding: 18px;
	border: 1px dashed #c9ced9;
	border-radius: 10px;
	color: #5c6580;
	background: #f7f8fb;
}

/* ===== Footer ===== */
.bw-footer {
	background: #101528;
	color: #cdd5ea;
	margin-top: 40px;
	padding: 30px 20px 18px;
}
.bw-footer-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	max-width: 1080px;
	margin-inline: auto;
}
.bw-footer-brand { margin: 0 0 4px; font-size: 18px; font-weight: 700; color: #fff; }
.bw-footer-tag { margin: 0; font-size: 13px; color: #9aa4c4; }
.bw-footer-head {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .8px;
	color: #8f9ac0;
}
.bw-footer-list { list-style: none; margin: 0; padding: 0; }
.bw-footer-list li { margin: 0 0 6px; }
.bw-footer-list a { color: #dfe5f5; text-decoration: none; font-size: 14px; }
.bw-footer-list a:hover, .bw-footer-list a:focus { color: #fff; text-decoration: underline; }
.bw-footer-line {
	max-width: 1080px;
	margin: 22px auto 0;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,.12);
	font-size: 12.5px;
	color: #9aa4c4;
	text-align: center;
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
	.bw-offer { flex-wrap: wrap; }
	.bw-offer-cta { flex: 1 1 100%; }
	.bw-footer-grid { flex-direction: column; gap: 22px; }
}