/* One accessible bookmark control at the trailing edge of each Atlas card.
   display: contents keeps status messages in a full-width row without widening the icon column. */
.arcade-atlas .arcade-atlas-item:has(> .samc-schedule-action) {
    grid-template-columns: 160px minmax(0, 1fr) 44px !important;
    align-items: start;
}
.arcade-atlas-item:has(> .samc-schedule-action) > .arcade-atlas-item__time { grid-column: 1; grid-row: 1; }
.arcade-atlas-item:has(> .samc-schedule-action) > .arcade-atlas-item__content { grid-column: 2; grid-row: 1; }
.samc-schedule-action { display: contents; }
.arcade-atlas .samc-schedule-action .samc-schedule-button {
    appearance: none;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 10px;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.arcade-atlas .samc-schedule-button .samc-schedule-icon { display: block; flex: none; width: 24px; height: 24px; fill: none; }
.arcade-atlas .samc-schedule-button[aria-pressed="true"] .samc-schedule-icon { fill: currentColor; }
.arcade-atlas .samc-schedule-action .samc-schedule-button:hover { background: rgb(255 255 255 / 12%); }
.arcade-atlas .samc-schedule-action .samc-schedule-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.arcade-atlas .samc-schedule-action .samc-schedule-button:disabled { opacity: .6; cursor: wait; }
.samc-schedule-status { grid-column: 1 / -1; font-size: .85rem; }
.samc-schedule-status:empty { position: absolute; width: 0; height: 0; overflow: hidden; }
@media (max-width: 640px) {
    .arcade-atlas .arcade-atlas-item:has(> .samc-schedule-action) { grid-template-columns: minmax(0, 1fr) 44px !important; }
    .arcade-atlas-item:has(> .samc-schedule-action) > .arcade-atlas-item__content { grid-column: 1; grid-row: 2; }
    .arcade-atlas .samc-schedule-action .samc-schedule-button { grid-column: 2; grid-row: 1 / span 2; }
}
.samc-my-schedule [hidden] { display: none !important; }

/* Personal schedule follows the PRO Zone palette. Important declarations only
   override the site's global festival CSS; every override stays inside My SAMC. */
.samc-my-schedule {
    --samc-schedule-ink: #282930;
    --samc-schedule-border: #C4482C;
    --samc-schedule-accent: #ffe27a;
    display: grid;
    gap: 1rem;
    min-width: 0;
    color: var(--samc-schedule-ink);
}
.samc-my-schedule__header { display: grid; gap: .375rem; }
.samc-my-schedule__heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; }
.samc-my-schedule .samc-my-schedule__heading h2 { margin: 0; font-size: 1.5rem; }
.samc-my-schedule__header p { margin: 0; font-size: .875rem; line-height: 1.5; }
.samc-my-schedule__count { font-family: var(--font-meta, inherit); font-size: .8125rem; }
.samc-my-schedule__browse { display: flex; flex-wrap: wrap; gap: .5rem; }
.samc-my-schedule__browse a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .5rem .75rem;
    border: 1px solid var(--samc-schedule-border);
    color: inherit;
    font-size: .8125rem;
    line-height: 1.35;
}
.samc-my-schedule__browse a:hover { background: var(--samc-schedule-accent); }
.samc-my-schedule [data-samc-schedule-notice] { margin: 0; font-size: .875rem; }
.samc-my-schedule [data-samc-schedule-notice]:empty { display: none; }
.samc-my-schedule [data-samc-schedule-empty] { margin: 0; padding: 1rem; border: 1px solid var(--samc-schedule-border); font-size: .9375rem; }
.samc-my-schedule > .arcade-atlas {
    --atlas-text: var(--samc-schedule-ink);
    --atlas-muted: var(--samc-schedule-ink);
    --atlas-border: var(--samc-schedule-border);
    --atlas-accent: var(--samc-schedule-border);
    --atlas-accent-soft: var(--samc-schedule-accent);
    --atlas-surface: #F98A70;
    min-width: 0;
    padding: 0;
    gap: 1rem;
    background: transparent;
    color: var(--atlas-text);
    font-family: var(--font-body);
}
.samc-my-schedule .arcade-atlas-day-tabs,
.samc-my-schedule .arcade-atlas-day { min-width: 0; gap: 1rem !important; }
.samc-my-schedule .arcade-atlas-day-tabs__nav {
    flex-wrap: wrap;
    justify-content: flex-start !important;
    gap: .5rem;
    padding: 0 !important;
    overflow: visible;
}
.samc-my-schedule .arcade-atlas .arcade-atlas-day-tabs__button {
    flex: 1 1 10rem;
    min-width: 0;
    min-height: 44px !important;
    margin: 0;
    padding: .625rem .875rem !important;
    border: 1px solid var(--atlas-border) !important;
    background: transparent !important;
    color: var(--atlas-text) !important;
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 600;
    font-style: normal;
    line-height: 1.35;
    opacity: 1;
    white-space: normal;
}
.samc-my-schedule .arcade-atlas .arcade-atlas-day-tabs__button:is(.is-active, :hover) { background: var(--atlas-accent-soft) !important; }
.samc-my-schedule .arcade-atlas-entity-label { display: inline-flex !important; gap: .375rem !important; }
.samc-my-schedule :is(.arcade-atlas-entity-label--tab, .arcade-atlas-entity-label--heading, .arcade-atlas-entity-label--group) > .arcade-atlas-entity-label__media { display: none; }
.samc-my-schedule .arcade-atlas-entity-label--tab .arcade-atlas-entity-label__text { max-width: none; font-size: inherit; line-height: inherit; overflow-wrap: anywhere; }
.samc-my-schedule .arcade-atlas-day__header { padding-bottom: .625rem; border-bottom-width: 1px; }
.samc-my-schedule .arcade-atlas-day__header :is(h2, p) { font-size: .9375rem; color: var(--atlas-text); }
.samc-my-schedule .arcade-atlas-venue-group {
    min-width: 0;
    margin: 0;
    gap: 0 !important;
    border: 1px solid var(--atlas-border);
    border-top-width: 3px;
}
.samc-my-schedule .arcade-atlas-venue-group > h3 {
    padding: .625rem .875rem;
    font-family: var(--font-body);
    font-size: .875rem !important;
    font-weight: 700;
    line-height: 1.35;
    color: var(--atlas-text) !important;
    overflow-wrap: anywhere;
}
.samc-my-schedule .arcade-atlas .arcade-atlas-item:has(> .samc-schedule-action) {
    grid-template-columns: 6.5rem minmax(0, 1fr) 44px !important;
    gap: .75rem !important;
    min-width: 0;
    padding: .75rem .875rem !important;
    border: 0 !important;
    border-top: 1px solid var(--atlas-border) !important;
    color: var(--atlas-text) !important;
    background: transparent !important;
    box-shadow: none;
}
.samc-my-schedule .arcade-atlas-item__time {
    padding-top: .125rem;
    font-family: var(--font-body);
    font-size: .8125rem !important;
    line-height: 1.5;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--atlas-text) !important;
}
.samc-my-schedule .arcade-atlas-item__content { min-width: 0; gap: .375rem; }
.samc-my-schedule .arcade-atlas .arcade-atlas-item__title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: 1.125rem !important;
    font-weight: 700;
    line-height: 1.3;
    color: var(--atlas-text) !important;
    overflow-wrap: anywhere;
}
.samc-my-schedule .arcade-atlas-item__title a { color: inherit; }
.samc-my-schedule .arcade-atlas-item__title a:hover { text-decoration: underline !important; text-underline-offset: .15em; }
.samc-my-schedule .arcade-atlas-item__badges { gap: .375rem; }
.samc-my-schedule .arcade-atlas-badge { padding: .2rem .4rem; font-size: .6875rem; font-weight: 600; line-height: 1.35; }
.samc-my-schedule .arcade-atlas-badge .arcade-atlas-entity-label__image { width: 14px; height: 14px; }
.samc-my-schedule :is(.arcade-atlas-item__meta, .arcade-atlas-item__excerpt, .arcade-atlas-item__body) { font-size: .8125rem; line-height: 1.45; color: var(--atlas-text) !important; }
.samc-my-schedule .arcade-atlas .samc-schedule-button {
    color: var(--atlas-text);
    background: transparent;
    border: 1px solid var(--atlas-border);
    border-radius: 0;
}
.samc-my-schedule .arcade-atlas .samc-schedule-button:hover { color: var(--atlas-text); background: var(--atlas-accent-soft); }
.samc-my-schedule :is(button, a):focus-visible { outline: 2px solid var(--samc-schedule-ink); outline-offset: 3px; }
@media (max-width: 640px) {
    .samc-my-schedule .arcade-atlas .arcade-atlas-item:has(> .samc-schedule-action) { grid-template-columns: minmax(0, 1fr) 44px !important; gap: .375rem .75rem !important; }
    .samc-my-schedule .arcade-atlas-item__content { grid-column: 1; grid-row: 2; }
    .samc-my-schedule .arcade-atlas .samc-schedule-button { grid-column: 2; grid-row: 1 / span 2; }
}
