/* Shared XXX catalogue: wide cards, aligned content, no badge/link collision. */
#plugins { scroll-margin-top:110px; }
#plugins .v3-racks { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; align-items:stretch; }
#plugins .v3-rack { grid-column:span 2; min-width:0; border-radius:22px; display:flex; flex-direction:column; }
#plugins .v3-rack:nth-child(4):nth-last-child(2) { grid-column:2 / span 2; }
#plugins .v3-rack .v3-rack-screen { flex:0 0 220px; height:220px; box-sizing:border-box; padding:48px 24px 20px; justify-content:center; }
#plugins .v3-rack .v3-rack-screen video,#plugins .v3-rack .v3-rack-screen img { display:block; width:100% !important; height:100% !important; max-height:152px; object-fit:contain; margin:auto; box-shadow:none !important; border-radius:6px !important; }
#plugins .v3-rack .v3-rack-body { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:16px; padding:20px 24px 0; }
#plugins .v3-rack .v3-tag { display:block; min-height:32px; margin-bottom:6px; font-size:11px; line-height:1.45; letter-spacing:.12em; }
#plugins .v3-racks .v3-rack-body h3,#plugins .v3-racks .v3-rack-body h2 { font-size:clamp(18px,1.5vw,24px) !important; line-height:1.2; white-space:normal; overflow-wrap:anywhere; }
#plugins .v3-racks .v3-price-big { font-size:28px !important; line-height:1.1; text-align:left; }
#plugins .v3-racks .v3-price-big small { margin-top:7px; font:12px/1.4 Inter,sans-serif !important; white-space:normal; }
#plugins .v3-rack .v3-specs { display:flex; flex-direction:column; gap:8px; padding:0 24px; margin:20px 0 24px; }
#plugins .v3-rack .v3-specs li { border:0; border-radius:0; padding:0; background:none; font:13px/1.5 Inter,sans-serif; letter-spacing:0; color:#b9b6b0; }
#plugins .v3-rack .v3-rack-more { margin:auto 24px 24px; padding-top:16px; border-top:1px solid rgba(255,255,255,.09); width:calc(100% - 48px); justify-content:space-between; font-size:12px; }
#plugins .v3-rack .v3-badge-corner { position:absolute; inset:16px 18px auto auto; margin:0; width:auto; font-size:10px; padding:6px 11px; z-index:3; }
#plugins .v3-bundle { margin-top:24px; padding:32px; border-radius:22px; }
#plugins .v3-bundle h2,#plugins .v3-bundle h3 { font-size:clamp(22px,2.2vw,32px); line-height:1.3; }
#plugins .v3-bundle[data-owned="true"] .v3-btn { background:rgba(197,247,126,.12); color:#c5f77e; border:1px solid rgba(197,247,126,.25); box-shadow:none; }
@media(max-width:1050px) {
 #plugins .v3-racks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 #plugins .v3-rack,#plugins .v3-rack:nth-child(4):nth-last-child(2) { grid-column:auto; }
 #plugins .v3-rack:last-child:nth-child(odd) { grid-column:1/-1; width:calc(50% - 9px); justify-self:center; }
}
@media(max-width:620px) {
 #plugins .v3-racks { grid-template-columns:1fr; gap:18px; }
 #plugins .v3-rack:last-child:nth-child(odd) { width:100%; grid-column:auto; }
 #plugins .v3-rack .v3-rack-screen { flex-basis:190px; height:190px; padding:40px 20px 12px; }
 #plugins .v3-racks .v3-rack-body h3,#plugins .v3-racks .v3-rack-body h2 { font-size:22px !important; }
 #plugins .v3-rack .v3-tag { min-height:0; }
 #plugins .v3-bundle { padding:26px 20px; }
}

/* Compact title/price rows, with the release badge beside the category. */
#plugins .v3-rack .v3-rack-screen { flex-basis:178px; height:178px; padding:24px 24px 12px; }
#plugins .v3-rack .v3-rack-body { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; align-items:center; padding-top:12px; }
#plugins .v3-rack .v3-rack-body > div:first-child { display:contents; }
#plugins .v3-rack .v3-tag { grid-column:1; grid-row:1; min-height:0; margin:0; font-size:10px; }
#plugins .v3-rack .v3-badge-corner { position:static; grid-column:2; grid-row:1; justify-self:end; padding:4px 8px; font-size:9px; }
#plugins .v3-rack .v3-rack-body h2,#plugins .v3-rack .v3-rack-body h3 { grid-row:2; grid-column:1; font-size:clamp(16px,1.35vw,21px) !important; margin:0; }
#plugins .v3-racks .v3-price-big { grid-row:2; grid-column:2; align-self:center; font-size:23px !important; white-space:nowrap; text-align:right; }
#plugins .v3-racks .v3-price-big small { font-size:9px !important; margin-top:5px; }
#plugins .v3-rack .v3-specs { margin:16px 0 18px; gap:5px; }
#plugins .v3-rack .v3-rack-more { margin-bottom:18px; padding-top:12px; }
#plugins .v3-racks .v3-price-big small { display:block; }
#plugins .v3-rack .v3-rack-body .v3-badge-corner { display:inline-flex; align-items:center; justify-content:center; justify-self:end; align-self:center; width:max-content; min-width:0; max-width:max-content; height:auto; line-height:1; padding:5px 10px; text-align:center; white-space:nowrap; flex:0 0 auto; }
/* Release label sits in the bottom-right footer, away from the details link. */
#plugins .v3-rack { position:relative; }
#plugins .v3-rack .v3-rack-body .v3-badge-corner { position:absolute; inset:auto 24px 19px auto; font-size:8px; padding:5px 8px; line-height:1; }
#plugins .v3-rack .v3-tag { grid-column:1 / -1; }
#plugins .v3-rack .v3-rack-more { justify-content:flex-start; gap:12px; padding-right:90px; box-sizing:border-box; }
#plugins .v3-rack .v3-rack-body { position:static; }
/* Denser cards and a compact bundle banner. */
#plugins .v3-rack .v3-rack-screen { flex-basis:155px; height:155px; padding-top:16px; }
#plugins .v3-rack .v3-specs { margin-top:12px; margin-bottom:12px; gap:4px; }
#plugins .v3-rack .v3-rack-body { gap:7px 12px; padding-top:8px; }
#plugins .v3-bundle { padding:20px 24px; }
#plugins .v3-bundle h2,#plugins .v3-bundle h3 { font-size:clamp(14px,1.8vw,26px) !important; line-height:1.25; margin:10px 0; }
#plugins .v3-bundle p { margin:6px 0; }
#plugins .v3-bundle .v3-btn { margin-top:12px; padding:13px 25px; }
@media(min-width:1051px) { #plugins .v3-bundle h2,#plugins .v3-bundle h3 { white-space:nowrap; } }
@media(max-width:620px) { #plugins .v3-bundle { padding:18px 16px; } #plugins .v3-bundle h2,#plugins .v3-bundle h3 { font-size:18px !important; } }
#plugins .v3-rack-more::after { content:'←'; }
#plugins .v3-rack:hover .v3-rack-more::after { transform:translateX(-4px); }
/* Homepage badges are direct children; both templates share the same footer. */
#plugins .v3-rack > .v3-badge-corner { position:absolute; inset:auto 24px 19px auto; display:inline-flex; align-items:center; justify-content:center; width:max-content; min-width:0; max-width:max-content; height:auto; margin:0; font-size:8px; line-height:1; padding:5px 8px; text-align:center; white-space:nowrap; flex:0 0 auto; }

/* Deep black plugin cards (20.10.2026). */
#plugins .v3-rack { background:linear-gradient(180deg,#0e0e0e 0%,#060606 100%); }
#plugins .v3-rack::after { display:none; }
#plugins .v3-rack .v3-rack-screen { background:transparent; }
