/* ── Weinhold LoL/TFT Stats (op.gg) ──────────────────────────────────────── */

/* ── Card ──────────────────────────────────────────────────────────────────── */

.weinhold-opgg-card {
	border: 1px solid rgba(123, 104, 238, .25);
	border-radius: 12px;
	overflow: hidden;
	background: rgba(0, 0, 0, .08);
	font-family: inherit;
	font-size: 0.9rem;
}

.weinhold-opgg-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(123, 104, 238, .2);
	background: rgba(123, 104, 238, .08);
}

.weinhold-opgg-card-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 1rem;
}

.opgg-icon {
	width: 18px;
	height: 18px;
	opacity: .7;
	flex-shrink: 0;
}

/* Controls: inline row on desktop */
.weinhold-opgg-card-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.opgg-ctrl-label {
	font-size: 0.78rem;
	font-weight: 600;
	opacity: .6;
	text-transform: uppercase;
	letter-spacing: .05em;
}

/* Shared input/select base */
.opgg-select,
.opgg-champ-search,
.opgg-champ-input {
	padding: 7px 10px;
	border-radius: 7px;
	border: 1px solid rgba(123, 104, 238, .35);
	background: rgba(0, 0, 0, .2);
	color: inherit;
	font-size: 0.875rem;
	cursor: pointer;
	min-height: 38px;
	box-sizing: border-box;
}

.opgg-select {
	min-width: 120px;
	cursor: pointer;
}

.opgg-champ-search {
	min-width: 130px;
	flex: 1 1 130px;
	max-width: 200px;
	cursor: text;
}

.opgg-select:focus,
.opgg-champ-search:focus,
.opgg-champ-input:focus {
	outline: 2px solid #7b68ee;
	outline-offset: 1px;
}

.opgg-row-search-hidden { display: none; }

.weinhold-opgg-card-body {
	padding: 0;
}

.weinhold-opgg-card-footer {
	padding: 8px 18px;
	font-size: 0.75rem;
	opacity: .45;
	border-top: 1px solid rgba(128, 128, 128, .15);
	text-align: right;
}

.weinhold-opgg-card-footer a {
	color: inherit;
	text-decoration: underline dotted;
}

/* ── Loading ───────────────────────────────────────────────────────────────── */

.opgg-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 32px;
	opacity: .65;
	font-size: 0.875rem;
}

.opgg-spinner {
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(123, 104, 238, .3);
	border-top-color: #7b68ee;
	border-radius: 50%;
	animation: opgg-spin .7s linear infinite;
	flex-shrink: 0;
}

@keyframes opgg-spin { to { transform: rotate(360deg); } }

.opgg-error {
	margin: 16px 18px;
	padding: 12px 14px;
	border-radius: 8px;
	background: rgba(220, 50, 50, .1);
	border: 1px solid rgba(220, 50, 50, .25);
	color: #e55;
	font-size: 0.875rem;
}

.opgg-empty {
	text-align: center;
	padding: 28px;
	opacity: .5;
}

/* ── Table ─────────────────────────────────────────────────────────────────── */

.opgg-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.opgg-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.855rem;
}

.opgg-table thead th {
	padding: 9px 11px;
	text-align: left;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	opacity: .55;
	border-bottom: 1px solid rgba(128, 128, 128, .2);
	white-space: nowrap;
	user-select: none;
}

.opgg-table thead th.sortable {
	cursor: pointer;
}

.opgg-table thead th.sortable:hover {
	opacity: .9;
}

/* Sort arrow appended via pseudo-element */
.opgg-table thead th.sortable::after {
	content: ' ⇅';
	opacity: .35;
	font-size: .7em;
}

.opgg-table thead th.sort-asc::after  { content: ' ↑'; opacity: .8; }
.opgg-table thead th.sort-desc::after { content: ' ↓'; opacity: .8; }

.opgg-table tbody tr {
	border-bottom: 1px solid rgba(128, 128, 128, .1);
	transition: background .12s;
}

.opgg-table tbody tr:last-child { border-bottom: none; }
.opgg-table tbody tr:hover { background: rgba(123, 104, 238, .06); }

.opgg-table td {
	padding: 7px 11px;
	vertical-align: middle;
}

/* Hidden rows (collapsed) */
.opgg-row-hidden { display: none; }

/* Column widths */
.opgg-table .col-rank  { width: 36px; text-align: center; font-weight: 700; opacity: .4; font-size: 0.8rem; }
.opgg-table .col-champ { min-width: 150px; }
.opgg-table .col-lane  { white-space: nowrap; font-size: 0.8rem; opacity: .7; }
.opgg-table .col-tier  { width: 46px; text-align: center; }
.opgg-table .col-trend { width: 44px; text-align: center; font-size: 0.78rem; }
.opgg-table .col-wr,
.opgg-table .col-pr,
.opgg-table .col-br,
.opgg-table .col-kda,
.opgg-table .col-kills,
.opgg-table .col-rr,
.opgg-table .col-games { width: 72px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Win-rate colours */
.opgg-wr-good { color: #4ade80; font-weight: 600; }
.opgg-wr-bad  { color: #f87171; }

/* ── Champion cell ─────────────────────────────────────────────────────────── */

.opgg-champ-cell {
	display: flex;
	align-items: center;
	gap: 9px;
}

.opgg-champ-img {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 1px solid rgba(123, 104, 238, .3);
}

.opgg-champ-placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #7b68ee 0%, #5a4fcf 100%);
	color: #fff;
	font-weight: 800;
	flex-shrink: 0;
}

.opgg-champ-name {
	display: flex;
	align-items: center;
	gap: 5px;
	font-weight: 500;
}

/* ── Tier badge ────────────────────────────────────────────────────────────── */

.opgg-tier {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 6px;
	font-weight: 900;
	font-size: 0.77rem;
}

.opgg-tier-0 { background: linear-gradient(135deg,#ffd700,#ffaa00); color:#1a0f00; }
.opgg-tier-1 { background: linear-gradient(135deg,#48d597,#1aaa6e); color:#001a0f; }
.opgg-tier-2 { background: linear-gradient(135deg,#5ba3f5,#2576d0); color:#fff;    }
.opgg-tier-3 { background: rgba(128,128,128,.22); color:inherit; opacity:.85;       }
.opgg-tier-4 { background: rgba(255,160,50,.15);  color:#ffa032;                    }
.opgg-tier-5 { background: rgba(220,50,50,.15);   color:#e55;                       }

/* ── Trend indicators ──────────────────────────────────────────────────────── */

.opgg-trend-up   { color: #4ade80; font-size: .75em; font-weight: 700; }
.opgg-trend-down { color: #f87171; font-size: .75em; font-weight: 700; }
.opgg-trend-same { opacity: .35; font-size: .8em; }

/* ── Badges ────────────────────────────────────────────────────────────────── */

.opgg-badge {
	display: inline-block;
	padding: 1px 5px;
	border-radius: 4px;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: .04em;
	vertical-align: middle;
}

.opgg-rip { background: rgba(220,50,50,.18); color:#e55; }

/* ── Expand button ─────────────────────────────────────────────────────────── */

.opgg-expand-wrap {
	padding: 0;
	border-top: 1px solid rgba(128, 128, 128, .12);
}

.opgg-expand-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 11px 18px;
	background: none;
	border: none;
	cursor: pointer;
	color: inherit;
	font-size: 0.83rem;
	font-weight: 600;
	opacity: .6;
	transition: opacity .15s, background .15s;
}

.opgg-expand-btn:hover {
	opacity: 1;
	background: rgba(123, 104, 238, .06);
}

.opgg-expand-btn svg {
	width: 16px;
	height: 16px;
	transition: transform .25s;
	flex-shrink: 0;
}

/* ── Champion analysis ─────────────────────────────────────────────────────── */

.opgg-analysis-form {
	padding: 12px 18px;
	border-bottom: 1px solid rgba(128, 128, 128, .15);
	background: rgba(0, 0, 0, .04);
}

.opgg-form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.opgg-champ-input {
	flex: 1 1 160px;
	min-width: 130px;
	cursor: text;
}

.opgg-search-btn {
	padding: 7px 18px;
	border-radius: 7px;
	border: none;
	background: #7b68ee;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
	white-space: nowrap;
	min-height: 38px;
	flex-shrink: 0;
}

.opgg-search-btn:hover { background: #6a58d6; }
.opgg-search-btn:active { background: #5a48c4; }

/* Analysis result sections */

.opgg-analysis-result {
	padding: 0 0 4px;
}

.opgg-analysis-header {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 18px 14px;
	border-bottom: 1px solid rgba(128, 128, 128, .12);
}

.opgg-analysis-champ-img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(123, 104, 238, .4);
	flex-shrink: 0;
}

.opgg-analysis-champ-info {
	flex: 1;
	min-width: 0;
}

.opgg-analysis-champ-name {
	margin: 0 0 6px;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
}

.opgg-analysis-badges {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.opgg-analysis-stats {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.opgg-stat {
	display: flex;
	align-items: baseline;
	gap: 4px;
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
}

.opgg-stat em {
	font-style: normal;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	opacity: .55;
}

/* Damage type badges */
.opgg-dmg-ad   { background: rgba(255, 160, 50, .18); color: #ffa032; }
.opgg-dmg-ap   { background: rgba(91, 163, 245, .18); color: #5ba3f5; }
.opgg-dmg-both { background: rgba(72, 213, 151, .18); color: #48d597; }

/* Sections */
.opgg-section {
	padding: 14px 18px;
	border-bottom: 1px solid rgba(128, 128, 128, .1);
}

.opgg-section:last-child { border-bottom: none; }

.opgg-section-title {
	margin: 0 0 10px;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	opacity: .55;
}

/* Build path */
.opgg-build-path {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	flex-wrap: wrap;
}

.opgg-build-arrow {
	align-self: center;
	opacity: .4;
	font-size: 1.1rem;
	padding-top: 20px;
}

.opgg-build-group {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.opgg-build-label {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	opacity: .5;
}

.opgg-items {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.opgg-item-pill {
	display: inline-block;
	padding: 4px 9px;
	border-radius: 20px;
	background: rgba(123, 104, 238, .12);
	border: 1px solid rgba(123, 104, 238, .2);
	font-size: 0.8rem;
	white-space: nowrap;
}

.opgg-item-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	cursor: default;
}

.opgg-item-tile img {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	border: 1px solid rgba(123, 104, 238, .3);
	object-fit: cover;
}

.opgg-item-name {
	font-size: 0.68rem;
	text-align: center;
	max-width: 60px;
	line-height: 1.2;
	opacity: .8;
	word-break: break-word;
	hyphens: auto;
}

/* Summoner spells */
.opgg-section-spells { }

.opgg-spells {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.opgg-spell {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.85rem;
}

.opgg-spell img {
	border-radius: 7px;
	border: 1px solid rgba(128, 128, 128, .25);
}

/* Runes */
.opgg-runes-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.opgg-rune-tree {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.opgg-rune-tree-name {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	opacity: .6;
	margin-bottom: 2px;
}

.opgg-rune-tree-name img {
	border-radius: 50%;
	flex-shrink: 0;
}

.opgg-rune-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.opgg-rune-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
	padding: 4px 10px;
	border-radius: 6px;
	background: rgba(0, 0, 0, .1);
	border-left: 3px solid rgba(123, 104, 238, .3);
}

.opgg-rune-item img {
	flex-shrink: 0;
	border-radius: 50%;
}

.opgg-rune-keystone {
	font-weight: 700;
	border-left-color: #7b68ee;
	background: rgba(123, 104, 238, .1);
}

.opgg-rune-secondary .opgg-rune-item {
	border-left-color: rgba(91, 163, 245, .4);
}

/* Skill order */
.opgg-skills {
	display: flex;
	flex-direction: column;
	gap: 4px;
	overflow-x: auto;
}

.opgg-skill-row {
	display: flex;
	align-items: center;
	gap: 6px;
}

.opgg-skill-key {
	width: 20px;
	text-align: center;
	font-weight: 800;
	font-size: 0.78rem;
	opacity: .7;
	flex-shrink: 0;
}

.opgg-skill-cells {
	display: flex;
	gap: 2px;
}

.opgg-skill-cell {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 4px;
	font-size: 0.65rem;
	font-weight: 700;
	background: rgba(128, 128, 128, .1);
	color: transparent;
	border: 1px solid rgba(128, 128, 128, .15);
}

.opgg-skill-cell.active {
	background: rgba(123, 104, 238, .3);
	color: inherit;
	border-color: rgba(123, 104, 238, .5);
}

.opgg-skill-cell.active.is-r {
	background: rgba(255, 160, 50, .25);
	border-color: rgba(255, 160, 50, .5);
}

/* Counters */
.opgg-counters-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.opgg-counter-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 8px;
}

.opgg-counter-label.bad  { color: #f87171; }
.opgg-counter-label.good { color: #4ade80; }

.opgg-counter-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.opgg-counter-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 0.85rem;
}

/* ── Summoner profile ──────────────────────────────────────────────────────── */

.opgg-sum-hint {
	text-align: center;
	padding: 28px;
	opacity: .45;
	font-size: 0.875rem;
}

/* Header */
.opgg-sum-header {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 18px 14px;
	border-bottom: 1px solid rgba(128, 128, 128, .12);
}

.opgg-sum-avatar {
	width: 72px;
	height: 72px;
	border-radius: 12px;
	object-fit: cover;
	border: 2px solid rgba(123, 104, 238, .4);
	flex-shrink: 0;
}

.opgg-sum-avatar-placeholder {
	width: 72px !important;
	height: 72px !important;
	border-radius: 12px !important;
	font-size: 32px !important;
}

.opgg-sum-header-info { flex: 1; min-width: 0; }

.opgg-sum-name {
	margin: 0 0 6px;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.2;
	word-break: break-all;
}

.opgg-sum-tag {
	font-size: 0.8em;
	opacity: .5;
	font-weight: 500;
	margin-left: 2px;
}

.opgg-sum-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.opgg-sum-level {
	font-size: 0.82rem;
	font-weight: 600;
	padding: 2px 8px;
	background: rgba(123, 104, 238, .15);
	border-radius: 20px;
}

.opgg-sum-region-badge {
	font-size: 0.75rem;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 4px;
	background: rgba(0, 0, 0, .2);
	opacity: .7;
	text-transform: uppercase;
}

.opgg-sum-ladder {
	font-size: 0.78rem;
	opacity: .55;
}

/* Rank cards */
.opgg-sum-ranks {
	display: flex;
	gap: 12px;
	padding: 14px 18px;
	flex-wrap: wrap;
	border-bottom: 1px solid rgba(128, 128, 128, .1);
}

.opgg-sum-rank-card {
	flex: 1 1 220px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 14px;
	border-radius: 10px;
	background: rgba(0, 0, 0, .12);
	border: 1px solid rgba(128, 128, 128, .12);
}

.opgg-sum-queue-label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	opacity: .5;
}

.opgg-sum-rank-body {
	display: flex;
	align-items: center;
	gap: 12px;
}

.opgg-sum-tier-img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	flex-shrink: 0;
}

.opgg-sum-tier-circle {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: 900;
	color: #fff;
	flex-shrink: 0;
}

.opgg-sum-rank-info {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.opgg-sum-tier-text {
	font-size: 1rem;
	font-weight: 800;
}

.opgg-sum-lp {
	font-size: 0.85rem;
	display: flex;
	align-items: center;
	gap: 5px;
}

.opgg-sum-wl {
	font-size: 0.82rem;
	opacity: .75;
}

.opgg-sum-wl em {
	font-style: normal;
	font-weight: 700;
}

/* Streak/status badges */
.opgg-hot-streak { background: rgba(255, 100, 0, .2); color: #ff6400; }
.opgg-veteran    { background: rgba(123, 104, 238, .2); color: #9b8ff5; }
.opgg-fresh      { background: rgba(72, 213, 151, .2); color: #48d597; }
.opgg-inactive   { background: rgba(128, 128, 128, .2); color: #999; }

/* Most played */
.opgg-sum-most-played { }

.opgg-sum-mp-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.opgg-sum-mp-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(0, 0, 0, .08);
}

.opgg-sum-mp-name {
	font-weight: 600;
	font-size: 0.875rem;
}

.opgg-sum-mp-stats {
	display: flex;
	gap: 12px;
	font-size: 0.82rem;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.opgg-sum-mp-games { opacity: .6; }
.opgg-sum-mp-kda   { font-variant-numeric: tabular-nums; }
.opgg-sum-mp-cs    { opacity: .55; }

/* Match history */
.opgg-sum-match-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.opgg-sum-match-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 0.83rem;
	border-left: 3px solid transparent;
}

.opgg-match-win  { background: rgba(74, 222, 128, .07); border-left-color: #4ade80; }
.opgg-match-lose { background: rgba(248, 113, 113, .07); border-left-color: #f87171; }

.opgg-match-result-bar {
	width: 22px;
	text-align: center;
	font-weight: 800;
	font-size: 0.75rem;
	flex-shrink: 0;
}

.opgg-match-win  .opgg-match-result-bar { color: #4ade80; }
.opgg-match-lose .opgg-match-result-bar { color: #f87171; }

.opgg-match-champ {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}

.opgg-match-pos {
	font-size: 0.62rem;
	opacity: .55;
	text-align: center;
	text-transform: uppercase;
}

.opgg-match-kda {
	display: flex;
	flex-direction: column;
	min-width: 70px;
	flex-shrink: 0;
}

.opgg-match-kda-nums {
	font-weight: 700;
	font-size: 0.9rem;
	font-variant-numeric: tabular-nums;
}

.opgg-match-kda-ratio {
	font-size: 0.75rem;
	opacity: .7;
}

.opgg-match-stats {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 0.75rem;
	opacity: .65;
	min-width: 50px;
	flex-shrink: 0;
}

.opgg-match-items {
	display: flex;
	gap: 2px;
	flex-wrap: wrap;
	flex: 1;
	min-width: 0;
}

.opgg-match-item {
	width: 28px;
	height: 28px;
	border-radius: 5px;
	object-fit: cover;
	border: 1px solid rgba(128, 128, 128, .2);
}

.opgg-match-item-placeholder {
	display: inline-block;
	background: rgba(128, 128, 128, .1);
	border: 1px dashed rgba(128, 128, 128, .2);
}

.opgg-match-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: right;
	font-size: 0.75rem;
	opacity: .6;
	flex-shrink: 0;
	min-width: 52px;
}

/* Summoner controls mobile */
.opgg-sum-controls .opgg-champ-search {
	max-width: none;
	flex: 1 1 160px;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */

/* Summoner match rows: hide items + stats column on very small screens */
@media (max-width: 480px) {
	.opgg-match-items { display: none; }
	.opgg-match-stats { display: none; }
	.opgg-sum-mp-stats .opgg-sum-mp-cs,
	.opgg-sum-mp-stats .opgg-sum-mp-kda { display: none; }
	.opgg-sum-rank-card { flex: 1 1 100%; }
}

/* Meta controls: stack on mobile */
@media (max-width: 620px) {
	/* Header becomes full-width column */
	.weinhold-opgg-card-header {
		flex-direction: column;
		align-items: stretch;
	}

	.weinhold-opgg-card-title {
		justify-content: flex-start;
	}

	/* Controls: 2-column grid — [search | lane] then [button full width] */
	.weinhold-opgg-card-controls {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-rows: auto auto;
		gap: 8px;
	}

	/* "Lane" label hidden on mobile — redundant with the select */
	.weinhold-opgg-card-controls .opgg-ctrl-label {
		display: none;
	}

	.opgg-champ-search {
		grid-column: 1;
		grid-row: 1;
		max-width: none;
		width: 100%;
	}

	.opgg-lane-select {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		width: auto;
	}

	.opgg-meta-search-btn {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		padding: 10px;
		font-size: 1rem;
	}
}

/* Table: hide less-important columns on small screens */
@media (max-width: 700px) {
	.opgg-table .col-rr,
	.opgg-table .col-games,
	.opgg-table .col-kills { display: none; }
}

@media (max-width: 500px) {
	.opgg-table .col-pr,
	.opgg-table .col-br,
	.opgg-table .col-kda  { display: none; }
}

/* Analysis form: stack controls on mobile */
@media (max-width: 560px) {
	.opgg-runes-grid,
	.opgg-counters-grid { grid-template-columns: 1fr; }

	.opgg-analysis-header { flex-wrap: wrap; }

	.opgg-form-row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.opgg-form-row .opgg-champ-input {
		grid-column: 1 / -1;
	}

	.opgg-form-row .opgg-select {
		min-width: 0;
	}

	.opgg-form-row .opgg-search-btn {
		grid-column: 1 / -1;
		width: 100%;
		padding: 10px;
		font-size: 1rem;
	}
}
