.feature-card.feature-selected {
  border-color: #91a5f5;
  box-shadow: 0 10px 30px rgba(68, 92, 210, .09);
}

.feature-interest {
  margin-top: auto;
  padding: 18px 0 0;
  border: 0;
  background: transparent;
  color: #4665e8;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}

.feature-card p { margin-bottom: 14px; }
.feature-interest[aria-pressed="true"] { color: #245a58; }
.feature-interest:focus-visible { outline: 2px solid #4665e8; outline-offset: 4px; border-radius: 3px; }

.feature-selection-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
  padding: 16px 20px;
  border: 1px solid #dce5e6;
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}

.feature-selection-bar p { margin: 0; color: #586a73; font-size: 13px; }
.feature-selection-bar a { flex: none; color: #4665e8; font-size: 13px; font-weight: 700; text-decoration: none; }
.feature-selection-bar a:hover { text-decoration: underline; }

.shop-item-features {
  min-width: 0;
  max-width: 650px;
  margin: 16px 0 0;
  padding: 0;
  border: 0;
}

.shop-item-features legend { padding: 0; color: #596d78; font-size: 11px; font-weight: 700; }
.shop-item-features > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.shop-item-features label { position: relative; cursor: pointer; }
.shop-item-features input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.shop-item-features span {
  display: block;
  padding: 7px 10px;
  border: 1px solid #dce4ec;
  border-radius: 999px;
  background: #fff;
  color: #60727e;
  font-size: 11px;
  line-height: 1.4;
}
.shop-item-features input:checked + span { border-color: #7490ee; background: #eaf0ff; color: #3656c7; font-weight: 700; }
.shop-item-features input:focus-visible + span { outline: 2px solid #4665e8; outline-offset: 2px; }

@media (max-width: 650px) {
  .feature-selection-bar { align-items: flex-start; flex-direction: column; }
  .feature-interest { min-height: 42px; }
  .shop-item-features span { padding: 8px 10px; }
}
