
/* V5.1 — User Experience Upgrade
   Additive only: does not replace style.css or change fruit image sizing. */
.v51-hub{position:relative}
.v51-hub-head{align-items:center}
.v51-build-badge{
  min-width:170px;
  padding:13px 16px;
  border:1px solid rgba(125,211,252,.22);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(14,165,233,.10),rgba(124,58,237,.08));
  text-align:right;
}
.v51-build-badge span,.v51-build-badge small{display:block;opacity:.7}
.v51-build-badge strong{display:block;font-size:26px;line-height:1.05;margin:3px 0}
.v51-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.v51-panel{
  border:1px solid rgba(148,163,184,.17);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(15,23,42,.54),rgba(15,23,42,.30));
  padding:18px;
  box-shadow:0 18px 55px rgba(0,0,0,.12);
}
.v51-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v51-panel-head h3{margin:3px 0 0;font-size:23px}
.v51-mini-kicker{font-size:11px;font-weight:900;letter-spacing:.13em;opacity:.62}
.v51-panel-copy{margin:8px 0 14px;opacity:.72;line-height:1.55}
.v51-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v51-mini-card{
  position:relative;
  border:1px solid rgba(148,163,184,.14);
  border-radius:14px;
  padding:11px;
  background:rgba(2,6,23,.24);
  text-align:center;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.v51-mini-card:hover{transform:translateY(-2px);border-color:rgba(125,211,252,.36);background:rgba(14,165,233,.06)}
.v51-mini-card:focus-visible{outline:3px solid rgba(125,211,252,.38);outline-offset:2px}
.v51-mini-card img{width:70px!important;height:70px!important;object-fit:contain!important;margin:auto}
.v51-mini-card strong{display:block;margin-top:7px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v51-mini-card span{display:block;font-size:12px;opacity:.72;margin-top:3px}
.v51-empty{
  padding:17px;
  border:1px dashed rgba(148,163,184,.22);
  border-radius:14px;
  text-align:center;
  opacity:.7;
  line-height:1.5;
}
.v51-text-btn{
  border:1px solid rgba(148,163,184,.22);
  border-radius:10px;
  padding:7px 10px;
  background:rgba(148,163,184,.08);
  color:inherit;
  cursor:pointer;
  font:inherit;
  font-weight:800;
}
.v51-text-btn:hover{background:rgba(148,163,184,.14)}
.v51-trending-panel,.v51-compare-panel{margin-top:16px}
.v51-trending-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:15px}
.v51-trend-card{
  border:1px solid rgba(148,163,184,.14);
  border-radius:15px;
  background:rgba(2,6,23,.22);
  padding:12px;
  cursor:pointer;
  text-align:center;
}
.v51-trend-card:hover{border-color:rgba(251,191,36,.34);transform:translateY(-2px)}
.v51-trend-card img{width:76px!important;height:76px!important;object-fit:contain!important;margin:auto}
.v51-trend-card strong{display:block;margin-top:7px;font-size:14px}
.v51-demand-badge{
  display:inline-flex!important;
  width:auto!important;
  margin:7px auto 0!important;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.22);
  font-size:12px!important;
  opacity:1!important;
}
.v51-explain{font-size:12px;opacity:.62;text-align:right}
.v51-compare-controls{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:14px;
  align-items:end;
  margin-top:16px;
}
.v51-compare-controls label{display:grid;gap:7px}
.v51-compare-controls label>span{font-size:13px;font-weight:800;opacity:.72}
.v51-compare-controls select{
  width:100%;
  min-height:46px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.20);
  background:rgba(2,6,23,.42);
  color:inherit;
  padding:9px 12px;
  font:inherit;
}
.v51-compare-vs{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  font-weight:1000;
  background:rgba(14,165,233,.12);
  border:1px solid rgba(125,211,252,.24);
}
.v51-compare-result{
  display:grid;
  grid-template-columns:1fr minmax(190px,.7fr) 1fr;
  gap:12px;
  margin-top:15px;
}
.v51-compare-item,.v51-compare-middle{
  border:1px solid rgba(148,163,184,.15);
  border-radius:16px;
  padding:15px;
  background:rgba(2,6,23,.22);
}
.v51-compare-item{text-align:center}
.v51-compare-item img{width:96px!important;height:96px!important;object-fit:contain!important;margin:auto}
.v51-compare-item h4{font-size:19px;margin:8px 0 10px}
.v51-stat-list{display:grid;gap:7px;text-align:left}
.v51-stat-list div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(148,163,184,.09)}
.v51-stat-list div:last-child{border-bottom:0}
.v51-stat-list span{opacity:.65}
.v51-compare-middle{display:flex;flex-direction:column;justify-content:center;text-align:center}
.v51-compare-middle strong{font-size:23px;margin:5px 0}
.v51-compare-middle small{opacity:.66;line-height:1.5}
.v51-detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.v51-favorite-btn,.v51-compare-btn{
  flex:1 1 180px;
  border-radius:12px;
  padding:11px 13px;
  border:1px solid rgba(148,163,184,.20);
  background:rgba(148,163,184,.08);
  color:inherit;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.v51-favorite-btn.is-favorite{
  border-color:rgba(250,204,21,.35);
  background:rgba(250,204,21,.10);
}
.v51-favorite-btn:hover,.v51-compare-btn:hover{transform:translateY(-1px)}
.v51-note{margin-top:12px}
@media(max-width:980px){
  .v51-trending-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v51-compare-result{grid-template-columns:1fr}
  .v51-compare-middle{order:3}
}
@media(max-width:720px){
  .v51-feature-grid{grid-template-columns:1fr}
  .v51-hub-head{align-items:flex-start}
  .v51-build-badge{text-align:left;width:100%;min-width:0}
  .v51-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v51-compare-controls{grid-template-columns:1fr}
  .v51-compare-vs{margin:auto}
  .v51-explain{text-align:left}
}
@media(max-width:460px){
  .v51-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v51-trending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
