/* BestLaddersReview Pro — components */

/* Product box */
.blr-product-box {
	position: relative;
	background: #fff;
	border: 1px solid var(--blr-grid);
	border-radius: 16px;
	padding: 1rem;
	box-shadow: var(--blr-shadow);
	display: flex; flex-direction: column; gap: .9rem;
}
.blr-pbx-badge {
	position: absolute; top: .9rem; right: .9rem;
	background: var(--blr-yellow); color: var(--blr-graphite);
	font-size: .75rem; font-weight: 700;
	padding: .25rem .55rem; border-radius: 999px;
	letter-spacing: .04em; text-transform: uppercase;
}
.blr-pbx-head { display: flex; gap: .85rem; align-items: flex-start; }
.blr-pbx-media {
	flex: 0 0 96px; width: 96px; height: 96px;
	border-radius: 12px; background: #f1f5fb;
	display: flex; align-items: center; justify-content: center;
}
.blr-pbx-media img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; }
.blr-pbx-svg svg { width: 64px; height: 64px; color: var(--blr-navy); }
.blr-pbx-title { margin: 0 0 .25rem; font-size: 1.1rem; }
.blr-pbx-bestfor { color: var(--blr-steel); margin: 0; font-size: .9rem; }
.blr-pbx-chips { list-style: none; padding: 0; margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.blr-pbx-chips .chip {
	background: #f1f5fb; color: var(--blr-navy);
	border-radius: 999px; padding: .15rem .55rem; font-size: .75rem; font-weight: 600;
}
.chip-duty { background: rgba(250, 204, 21, .25); color: #6b4f06; }
.chip-reach { background: rgba(59, 130, 246, .15); color: #1d4ed8; }
.chip-mat { background: rgba(107, 114, 128, .18); color: #374151; }

.blr-pbx-pc { display: grid; gap: .5rem; grid-template-columns: 1fr; }
@media (min-width: 600px) { .blr-pbx-pc { grid-template-columns: 1fr 1fr; } }
.blr-pros, .blr-cons {
	list-style: none; padding: 0; margin: 0; display: grid; gap: .25rem; font-size: .9rem;
}
.blr-pros li::before { content: '✓ '; color: #16a34a; font-weight: 700; }
.blr-cons li::before { content: '✗ '; color: #dc2626; font-weight: 700; }

.blr-pbx-safety {
	background: #fff8eb; border-left: 3px solid var(--blr-yellow);
	padding: .55rem .75rem; border-radius: 8px; font-size: .85rem; color: #5b4c1a;
}

.blr-pbx-cta { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.blr-amazon-btn {
	display: inline-flex; align-items: center; gap: .4rem;
	background: var(--blr-orange); color: #fff !important; font-weight: 700;
	padding: .65rem 1rem; border-radius: 10px;
	text-decoration: none;
}
.blr-amazon-btn:hover { background: #ea6a14; }
.blr-amazon-btn.big { padding: .85rem 1.25rem; font-size: 1rem; border-radius: 12px; }
.blr-amazon-btn .blr-arrow { transition: transform .15s; }
.blr-amazon-btn:hover .blr-arrow { transform: translateX(3px); }

.blr-compare-add {
	background: #fff; border: 1px solid var(--blr-grid); color: var(--blr-navy);
	border-radius: 10px; padding: .55rem .85rem; cursor: pointer; font-weight: 600;
}
.blr-compare-add.small { padding: .35rem .65rem; font-size: .85rem; }
.blr-compare-add[aria-pressed="true"] { background: #ecfdf5; border-color: #16a34a; color: #166534; }

.blr-pbx-disc { color: var(--blr-steel); font-size: .8rem; margin: 0; }

/* Variants */
.blr-pbx-hero {
	background: linear-gradient(180deg, #fff, #fff6ea);
	border-color: rgba(249, 115, 22, .25);
}
.blr-pbx-inline { padding: .85rem; gap: .5rem; }
.blr-pbx-inline .blr-pbx-media { width: 72px; height: 72px; flex: 0 0 72px; }
.blr-pbx-bundle { border-top: 4px solid var(--blr-yellow); }
.blr-pbx-comparison { border-top: 4px solid var(--blr-navy); }
.blr-pbx-safety .blr-amazon-btn { background: var(--blr-navy); }
.blr-pbx-sticky { position: sticky; top: 6rem; }

/* Comparison table */
.blr-compare-table-wrap { width: 100%; overflow-x: auto; }
.blr-compare-table {
	width: 100%; border-collapse: collapse; min-width: 720px;
	background: #fff; border: 1px solid var(--blr-grid); border-radius: 14px; overflow: hidden;
}
.blr-compare-table th, .blr-compare-table td {
	padding: .85rem .9rem; text-align: left; border-bottom: 1px solid var(--blr-grid);
	font-size: .95rem;
}
.blr-compare-table thead th {
	background: #f1f5fb; color: var(--blr-navy);
	font-weight: 700; text-transform: uppercase; font-size: .75rem; letter-spacing: .04em;
}
.blr-duty-chip {
	display: inline-block; background: rgba(250, 204, 21, .25); color: #6b4f06;
	border-radius: 999px; padding: .15rem .55rem; font-size: .8rem; font-weight: 700;
}
@media (max-width: 800px) {
	.blr-compare-table, .blr-compare-table thead, .blr-compare-table tbody,
	.blr-compare-table tr, .blr-compare-table th, .blr-compare-table td {
		display: block; min-width: 0;
	}
	.blr-compare-table thead { display: none; }
	.blr-compare-table tr { background: #fff; border-radius: 14px; border: 1px solid var(--blr-grid); margin-bottom: .75rem; padding: .5rem; }
	.blr-compare-table td { border: 0; padding: .35rem .5rem; display: flex; justify-content: space-between; gap: 1rem; }
	.blr-compare-table td::before { content: attr(data-label); color: var(--blr-steel); font-weight: 700; font-size: .8rem; }
}

/* Pros / cons block */
.blr-proscons { display: grid; gap: 1rem; grid-template-columns: 1fr; background: #fff; padding: 1rem; border: 1px solid var(--blr-grid); border-radius: 14px; }
@media (min-width: 600px) { .blr-proscons { grid-template-columns: 1fr 1fr; } }
.blr-pcol h4 { margin: 0 0 .35rem; color: var(--blr-navy); }
.blr-pcol ul { padding: 0; margin: 0; list-style: none; display: grid; gap: .35rem; }
.blr-pcol-pros li::before { content: '✓ '; color: #16a34a; font-weight: 700; }
.blr-pcol-cons li::before { content: '✗ '; color: #dc2626; font-weight: 700; }

/* CTA block */
.blr-cta-block { text-align: center; margin: 1.5rem 0; }
.blr-cta-disc { color: var(--blr-steel); font-size: .85rem; margin: .5rem 0 0; }

/* Compare drawer */
.blr-compare-drawer {
	position: fixed; top: 0; right: -480px; bottom: 0; width: min(480px, 96vw);
	background: #fff; box-shadow: -20px 0 50px rgba(15,40,69,.18);
	transition: right .25s; z-index: 200; display: flex; flex-direction: column;
}
.blr-compare-drawer[aria-hidden="false"] { right: 0; }
.blr-compare-drawer-inner { display: flex; flex-direction: column; height: 100%; }
.blr-compare-drawer header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 1rem 1.25rem; border-bottom: 1px solid var(--blr-grid);
}
.blr-compare-drawer header h3 { margin: 0; }
.blr-compare-close {
	background: none; border: 0; font-size: 1.5rem; cursor: pointer; color: var(--blr-steel);
}
.blr-compare-list { flex: 1; overflow: auto; padding: 1rem 1.25rem; display: grid; gap: .75rem; }
.blr-compare-drawer footer { padding: 1rem 1.25rem; border-top: 1px solid var(--blr-grid); }

.blr-compare-row {
	background: #f8fafc; border: 1px solid var(--blr-grid); border-radius: 12px;
	padding: .85rem 1rem; display: flex; justify-content: space-between; gap: .5rem; align-items: center;
}
.blr-compare-row .blr-amazon-btn { padding: .45rem .8rem; }
.blr-compare-row-remove {
	background: none; border: 0; color: #dc2626; cursor: pointer; font-weight: 700;
}

/* Related grid */
.blr-related-grid {
	display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 600px) { .blr-related-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .blr-related-grid { grid-template-columns: 1fr 1fr 1fr 1fr; } }

/* Bundle */
.blr-bundle { margin: 1rem 0; }
.blr-bundle-title { color: var(--blr-navy); }
.blr-bundle-grid {
	display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 600px) { .blr-bundle-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .blr-bundle-grid { grid-template-columns: 1fr 1fr 1fr 1fr; } }

/* Quick answer */
.blr-quick-answer {
	background: linear-gradient(180deg, #f1f5fb, #fff);
	border: 1px solid var(--blr-grid); border-radius: 14px;
	padding: 1.25rem; margin: 1.5rem 0;
}
.blr-quick-answer h3 { margin: 0 0 .25rem; color: var(--blr-navy); }

/* Inline amazon */
a.blr-inline-amazon {
	background: linear-gradient(transparent 60%, rgba(250, 204, 21, .4) 60%);
	padding: 0 .15rem; border-radius: 2px;
	color: inherit; text-decoration: none;
}
a.blr-inline-amazon:hover { text-decoration: underline; }

/* Search form */
.blr-search-form {
	display: grid; grid-template-columns: 1fr auto; gap: .5rem;
	margin: 1rem 0;
}
.blr-search-form input {
	padding: .7rem .9rem; border-radius: 10px;
	border: 1px solid var(--blr-grid); background: #fff;
}

/* Widget */
.blr-widget { background: #fff; border: 1px solid var(--blr-grid); border-radius: 14px; padding: 1rem; }
.blr-widget-title { margin: 0 0 .5rem; font-size: 1rem; }

/* Legal / EEAT page typography */
.blr-legal-meta { color: var(--blr-steel); font-size: .9rem; margin: 0 0 1.5rem; }
.blr-legal-internal { background: #f1f5fb; border: 1px solid var(--blr-grid); border-radius: 12px; padding: 1rem 1.25rem; margin: 2rem 0 0; }
.blr-legal-internal h3 { margin: 0 0 .5rem; font-size: 1rem; color: var(--blr-navy); }
.blr-legal-internal ul { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 1.5rem; }
@media (max-width: 700px) { .blr-legal-internal ul { columns: 1; } }
.blr-page-body code { background: #f1f5fb; border-radius: 4px; padding: .05rem .35rem; font-size: .9em; }
