/* Minimise / expand for glass panels (changelog 10 section 2). Pairs with js/theme2/panel-min.js. */
.t2-min-wrap { display: inline-flex; align-items: center; gap: 6px; flex: none; }
.t2-min svg { transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
:is(.t2-panel, .ex-mini-card).is-min .t2-min svg { transform: rotate(180deg); }
.t2-min:focus-visible { outline: 2px solid var(--r3); outline-offset: 2px; }

/* collapsed panel keeps its row-mates at their own size */
:is(.t2-panel, .ex-mini-card).is-min { align-self: start; }
:is(.t2-panel, .ex-mini-card).is-min-fade, :is(.t2-panel, .ex-mini-card).is-min-in { overflow: hidden; transition: height 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
:is(.t2-panel, .ex-mini-card).is-min-fade .t2-min-x { opacity: 0; transition: opacity 0.25s ease; pointer-events: none; }
:is(.t2-panel, .ex-mini-card).is-min-in :is(.t2-panel-head, .ex-card-head) ~ * { animation: t2minIn 0.35s ease 0.12s both; }
@keyframes t2minIn { from { opacity: 0; } to { opacity: 1; } }

/* settled collapsed state: hidden items leave layout and the tab order */
:is(.t2-panel, .ex-mini-card).is-min-final .t2-min-x { display: none !important; }
:is(.t2-panel, .ex-mini-card).is-min-final.is-min-nobig :is(.t2-panel-head, .ex-card-head) { margin-bottom: 0; }

/* inside a horizontal carousel a collapsed panel must not stretch its neighbours */
.t2-car > :is(.t2-panel, .ex-mini-card).is-min { align-self: flex-start; }

@media (prefers-reduced-motion: reduce) {
  .t2-min svg, :is(.t2-panel, .ex-mini-card).is-min-fade, :is(.t2-panel, .ex-mini-card).is-min-in { transition: none; }
  :is(.t2-panel, .ex-mini-card).is-min-in :is(.t2-panel-head, .ex-card-head) ~ * { animation: none; }
}

/* touch: 44px targets under 900 */
@media (max-width: 899px) { .t2-min-wrap .t2-iconbtn, .ex-hb .t2-min, .t2-min { width: 44px; height: 44px; } }
