.tourshows-demo.ts-demo-hide-showname .showdesc,
.tourshows-demo.ts-demo-hide-flags .flag,
.tourshows-demo.ts-demo-hide-vip .btn-vip {
    display: none !important;
}
.tourshows-demo .ts-demo-controls[hidden] { display: none !important; }
.tourshows-demo .ts-demo-controls {
    margin: 28px 0 0;
    padding: 20px;
    border: 1px solid var(--ts-border);
    border-radius: 8px;
    color: var(--ts-text);
    text-align: left;
}
.tourshows-demo .ts-demo-controls legend {
    float: none;
    width: auto;
    padding: 0 8px;
    margin: 0;
    color: inherit;
    font-size: 18px;
    font-weight: 700;
}
.tourshows-demo .ts-demo-controls p { color: var(--ts-muted); margin: 0 0 16px; font-size: 14px; }
.tourshows-demo .ts-demo-switches { display: flex; flex-wrap: wrap; gap: 16px 28px; }
.tourshows-demo .ts-demo-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; }
.tourshows-demo .ts-demo-switch input {
    appearance: none;
    flex: 0 0 44px;
    width: 44px;
    height: 24px;
    margin: 0;
    padding: 2px;
    border: 1px solid var(--ts-muted);
    border-radius: 24px;
    background: var(--ts-button);
    cursor: pointer;
}
.tourshows-demo .ts-demo-switch input::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background: var(--ts-muted);
    border-radius: 50%;
    transition: transform .15s ease;
}
.tourshows-demo .ts-demo-switch input:checked { background: var(--ts-vip); }
.tourshows-demo .ts-demo-switch input:checked::before { transform: translateX(20px); background: #fff; }
.tourshows-demo .ts-demo-switch input:focus-visible { outline: 2px solid var(--ts-text); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .tourshows-demo .ts-demo-switch input::before { transition: none; } }
@media (forced-colors: active) { .tourshows-demo .ts-demo-switch input { appearance: auto; } .tourshows-demo .ts-demo-switch input::before { display: none; } }

.tourshows-demo .ts-demo-switches { align-items: center; }
.tourshows-demo .ts-demo-theme {
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    padding: 6px 14px;
    border: 1px solid var(--ts-muted);
    border-radius: 6px;
    background: var(--ts-button);
    color: var(--ts-button-text);
    cursor: pointer;
}
.tourshows-demo .ts-demo-theme[aria-pressed="true"] { border-color: var(--ts-vip); }
.tourshows-demo .ts-demo-theme:focus-visible { outline: 2px solid var(--ts-text); outline-offset: 4px; }
@media (forced-colors: active) {
    .tourshows-demo .ts-demo-theme[aria-pressed="true"] { border: 2px solid Highlight; }
}
