/* App-inspired LEGO Sets hub; scoped to avoid changing other pages. */
.bn-sets { max-width: 1150px; margin: 20px auto 56px; font-family: inherit; }
.bn-sets__heading { text-align: center; margin-bottom: 22px; }
.bn-sets__heading h1 { margin: 0 0 8px; }
.bn-sets__heading p { max-width: 680px; margin: 0 auto; line-height: 1.5; }
.bn-sets__search { max-width: 780px; margin: 0 auto 24px; }
.bn-sets__search label { display: block; font-weight: 700; margin-bottom: 9px; }
.bn-sets__search-row { display: flex; gap: 8px; }
.bn-sets__search input { flex: 1; min-width: 0; font: inherit; font-size: 16px; border: 1px solid #ccc; border-radius: 10px; padding: 13px 15px; }
.bn-sets__search button { border: 0; border-radius: 10px; background: #009086; color: white; font: inherit; font-weight: 700; padding: 0 22px; cursor: pointer; }
.bn-sets__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.bn-sets__card { box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-height: 122px; padding: 14px 10px; border: 1px solid #ddd; border-radius: 14px; background: #fff; text-align: center; color: #222; transition: border-color .15s, transform .15s; }
.bn-sets__card:hover, .bn-sets__card:focus-visible { border-color: #009086; transform: translateY(-2px); color: #009086; }
.bn-sets__card img { width: 100%; max-width: 180px; max-height: 88px; object-fit: contain; }
.bn-sets__card--special { background: #f7f7f7; border-color: #009086; color: #009086; font-size: 18px; font-weight: 800; }
.bn-sets__theme-name { font-weight: 700; font-size: 15px; overflow-wrap: anywhere; }
.bn-sets__retired { margin: 26px 0; text-align: center; }
.bn-sets__retired a { display: inline-block; padding: 13px 24px; border-radius: 10px; background: #009086; color: white; font-weight: 700; }
.bn-sets__results-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 8px 0 18px; }
.bn-sets__results-head h2 { margin: 0; font-size: 22px; text-align: left; }
.bn-sets__results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bn-sets__result { display: flex; align-items: center; gap: 14px; padding: 15px; border: 1px solid #ddd; border-radius: 14px; color: #222; background: #fff; }
.bn-sets__result:hover { border-color: #009086; color: #222; }
.bn-sets__result img { width: 95px; height: 95px; flex: none; object-fit: contain; }
.bn-sets__result-info { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 400; }
.bn-sets__result-info strong { color: #222; font-size: 16px; }
.bn-sets__notice { margin: 18px 0; text-align: center; }
.bn-sets__extra { display: flex; justify-content: center; gap: 14px 28px; margin-top: 35px; flex-wrap: wrap; font-size: 14px; }
@media (max-width: 1000px) { .bn-sets__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) { .bn-sets__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; } .bn-sets__card { min-height: 106px; } .bn-sets__results { grid-template-columns: 1fr; } }
@media (max-width: 430px) { .bn-sets__card--special { font-size: 15px; } .bn-sets__card { min-height: 95px; padding: 10px 7px; } .bn-sets__search button { padding: 0 13px; } }
@media (prefers-reduced-motion: reduce) { .bn-sets__card { transition: none; } }
