/* Approved Figma tab-bar exception, scoped to the catalogue, not the games. */
.ll-theme [data-ll-training] [data-training-panel][hidden],
.ll-theme [data-ll-training] [data-training-card][hidden],
.ll-theme [data-ll-training] [data-training-missing][hidden] { display: none !important; }
.ll-theme .entry:has([data-ll-training]) { background: #fff7ed; border: 0; box-shadow: none; }
.ll-theme .entry-content-wrap:has([data-ll-training]) { padding-top: 0; }
.ll-theme [data-ll-training] { width: 100%; margin: 0 auto; padding-top: 0; }
.ll-theme [data-ll-training] .ll-training__tabs { display: flex; gap: 4px; margin: 0 0 10px; padding: 4px; border: 2px solid #855b3b; border-radius: 14px; background: #fff; overflow: visible; }
.ll-theme [data-ll-training] .ll-training__tab { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 10px 4px; border: 0; border-radius: 10px; background: #fff; color: #202833; font-family: 'Comic Neue', cursive; font-size: clamp(.85rem, 2vw, 1.1rem); }
.ll-theme [data-ll-training] .ll-training__tab.is-active { background: #c63e00; color: #fff; }
.ll-theme [data-ll-training] .ll-training__note { font-size: 12px; line-height: 1.4; margin: 0 0 14px; }
.ll-theme [data-ll-training] .ll-training__tools { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 0; border: 0; background: transparent; }
.ll-theme [data-ll-training] .ll-training__tools > label { flex: 1 1 180px; max-width: 600px; min-width: 0; }
.ll-theme [data-ll-training] .ll-training__home { flex: 0 0 auto; width: auto; }
.ll-theme [data-ll-training] .ll-core-button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: var(--ll-button-height, 40px); height: auto; padding: var(--ll-button-padding, 6px 16px); border-width: 1px; border-style: solid; border-radius: 8px; font-size: var(--ll-button-font-size, 14px); font-weight: 800; line-height: var(--ll-button-line-height, 1.25); text-align: center; text-decoration: none; }
.ll-theme [data-ll-training] .ll-training__grid:not([hidden]) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ll-theme [data-ll-training] .ll-training-card { display: flex; flex-direction: column; min-width: 0; padding: 10px; border: 1px solid #ead3bf; border-radius: 16px; background: #fff; box-shadow: 0 3px 6px #5a3a2210; }
.ll-theme [data-ll-training] .ll-training-card__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; margin-bottom: 10px; }
.ll-theme [data-ll-training] .ll-training-card h2 { font-size: 1rem; margin: 4px 0; }
.ll-theme [data-ll-training] .ll-training-card p { font-size: .8rem; overflow-wrap: anywhere; }
.ll-theme [data-ll-training] .ll-training-card .ll-core-button { margin-top: auto; }
.ll-theme [data-ll-training] .ll-core-button--primary { border-color: #c63e00; background: #c63e00; color: #fff; }
.ll-theme [data-ll-training] .ll-core-button--primary:is(:hover, :focus-visible) { border-color: #c63e00; background: #c63e00; color: #fff; }
.ll-theme [data-ll-training] [data-training-unlock]:disabled { background: #edf1f7; color: #526179; border: 1px dashed #9faec6; cursor: not-allowed; transform: none; }
.ll-theme [data-ll-training] .ll-training-card__missing { text-align: center; color: #c63e00; margin: 6px 0 0; }
@media (min-width: 768px) { .ll-theme [data-ll-training] .ll-training__grid:not([hidden]) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ll-theme [data-ll-training] .ll-training__grid:not([hidden]) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Dictations: compact horizontal rows, without sound control. */
.ll-theme [data-ll-training] [data-training-panel="dictations"]:not([hidden]) { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-training-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; align-content: center; column-gap: 12px; row-gap: 2px; min-height: 0; height: auto; padding: 6px 10px; }
.ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-training-card__type { display: none; }
.ll-theme [data-ll-training] .ll-training-card__dictation-image { grid-column: 1; grid-row: 1 / 3; align-self: stretch; width: 48px; height: 100%; min-height: 42px; max-height: none; object-fit: contain; margin: 0; }
.ll-theme [data-ll-training] [data-training-panel="dictations"] h2 { grid-column: 2; grid-row: 1; margin: 0; }
.ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-training-card p { grid-column: 2; grid-row: 2; margin: 2px 0 0; }
.ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-core-button { grid-column: 3; grid-row: 1 / 3; margin: 0; background: white; border-color: #855b3b; color: #202833; }
.ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-core-button:is(:hover, :focus-visible) { background: white; border-color: #855b3b; color: #202833; }
@media (max-width: 390px) {
    .ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-training-card { grid-template-columns: 36px minmax(0, 1fr) auto; column-gap: 6px; }
    .ll-theme [data-ll-training] .ll-training-card__dictation-image { width: 36px; }
    .ll-theme [data-ll-training] [data-training-panel="dictations"] .ll-core-button { padding: 10px 8px; font-size: .8rem; }
}
