/* Brand Campaign Manager — frontend list styles */
.bcm-campaign-wrapper{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1a1a1a;margin:24px auto;width:100%;max-width:1100px;padding:0 12px;box-sizing:border-box}
.bcm-campaign-list{display:grid;grid-template-columns:1fr;gap:16px}
.bcm-campaign-wrapper.bcm-load-error::before{content:"Showing default picks (live offers unavailable)";display:block;font-size:12px;color:#64748b;margin-bottom:6px}

.bcm-offer-card{position:relative;border:2px solid #cbd5e1;border-radius:14px;padding:16px;background:#fff;box-shadow:0 4px 14px rgba(10,45,107,.08);display:grid;grid-template-columns:180px 1fr 170px;gap:18px;align-items:center;transition:transform .15s,box-shadow .2s,border-color .2s;overflow:hidden}
.bcm-offer-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(10,45,107,.18);border-color:#94a3b8}

.bcm-offer-logo-link{display:flex;align-items:center;justify-content:center;width:180px;height:104px;padding:12px;box-sizing:border-box;background:#000;border-radius:10px;overflow:hidden;text-decoration:none;transition:transform .15s,filter .2s}
.bcm-offer-logo-link:hover{transform:scale(1.04);filter:brightness(1.08)}
.bcm-offer-logo-link img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.bcm-logo-fallback{color:#fff;font-weight:800;font-size:18px;letter-spacing:1px;text-transform:uppercase;text-align:center}

.bcm-offer-info{min-width:0}
.bcm-offer-name{margin:0 0 4px;font-size:19px;font-weight:800;line-height:1.2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#0A2D6B}
.bcm-rank{display:inline-flex;align-items:center;justify-content:center;background:#0A2D6B;color:#fff;min-width:28px;height:28px;padding:0 8px;border-radius:14px;font-size:12px;font-weight:800;letter-spacing:.3px}
.bcm-offer-name-link{color:#0A2D6B;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .15s,color .15s}
.bcm-offer-name-link:hover{color:#C8102E;border-bottom-color:#C8102E}
.bcm-offer-rating{color:#C8102E;font-weight:700;font-size:14px;margin-top:2px}
.bcm-offer-rating .bcm-stars{color:#FFD200;margin-right:5px;letter-spacing:1px}
.bcm-offer-title{color:#0A2D6B;font-weight:700;margin-top:6px;font-size:14px;line-height:1.4}
.bcm-offer-subtitle{color:#334155;font-size:14px;margin-top:4px}
.bcm-offer-terms{color:#64748b;font-size:12px;margin-top:8px;font-style:italic}

.bcm-offer-cta{display:block;width:100%;background:linear-gradient(135deg,#C8102E,#A30B22);color:#fff;padding:16px 18px;border-radius:10px;text-decoration:none;font-weight:800;letter-spacing:.6px;text-transform:uppercase;font-size:14px;box-shadow:0 4px 14px rgba(200,16,46,.32);box-sizing:border-box;text-align:center;border:none;transition:transform .15s,box-shadow .2s,background .2s}
.bcm-offer-cta:hover{background:linear-gradient(135deg,#0A2D6B,#0A1F4D);transform:translateY(-1px);box-shadow:0 6px 18px rgba(10,45,107,.32);color:#fff}
.bcm-offer-cta:active{transform:translateY(0);box-shadow:0 2px 8px rgba(200,16,46,.25)}

.bcm-empty{padding:24px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;text-align:center;color:#475569;font-size:14px}
.bcm-empty a{color:#0A2D6B;font-weight:600}

/* Show-more support */
.bcm-campaign-wrapper:not(.bcm-expanded) .bcm-offer-card.bcm-extra{display:none}
.bcm-show-more{display:block;margin:14px auto 0;padding:10px 22px;background:#fff;border:2px solid #0A2D6B;color:#0A2D6B;border-radius:8px;font-weight:700;cursor:pointer;font-size:14px}
.bcm-show-more:hover{background:#0A2D6B;color:#fff}

@media(max-width:900px){
	.bcm-offer-card{grid-template-columns:150px 1fr 150px;gap:14px;padding:14px}
	.bcm-offer-logo-link{width:150px;height:88px;padding:10px}
	.bcm-offer-name{font-size:17px}
	.bcm-offer-cta{padding:14px 16px;font-size:13px}
}

@media(max-width:680px){
	.bcm-campaign-list{gap:14px}
	.bcm-offer-card{grid-template-columns:1fr;gap:12px;padding:16px;text-align:left;box-shadow:0 6px 20px rgba(10,45,107,.12)}
	.bcm-offer-logo-link{width:100%;height:120px;padding:14px}
	.bcm-offer-name{font-size:18px}
	.bcm-offer-cta{width:100%;padding:15px 16px;font-size:14px}
}

@media(max-width:380px){
	.bcm-offer-card{padding:14px}
	.bcm-offer-name{font-size:16px}
	.bcm-offer-cta{padding:14px;font-size:13px}
}
