/* Stage 10: canonical shared motion. Course-signup scene choreography is excluded. */
:root {
    --motion-ease: cubic-bezier(.2, .8, .2, 1);
    /* Compatibility alias while older components migrate to the canonical name. */
    --motion-ease-standard: var(--motion-ease);
}

/* Shared shell: also wins over the temporary inline gesture snap-back easing. */
.bottom-sheet {
    transition-timing-function: var(--motion-ease) !important;
}

/* Shared micro feedback. */
.c-media-viewer__close,
.c-media-viewer__nav,
.c-record-card {
    transition-duration: var(--motion-micro, 160ms);
    transition-timing-function: var(--motion-ease);
}

.absence-makeup-summary-arrow i,
.absence-makeup-card__expand i,
.c-section-disclosure__icon {
    transition: transform var(--motion-small, 240ms) var(--motion-ease);
}

/* Active makeup disclosure keeps its DOM hook but renders the shared SVG chevron. */
.absence-makeup-card__expand i {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background-color: currentColor;
    font-size: 0 !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5 5 5-5'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

/* Shared disclosure/card-stack movement. */
.c-card-stack > .c-card-stack__item {
    transition: transform var(--motion-small, 240ms) var(--motion-ease);
}

/* Peer/main tab content enters subtly; the persistent tab control stays anchored. */
#panel-courses.is-active,
#panel-makeups.is-active {
    animation: stage10-peer-view-enter var(--motion-view, 280ms) var(--motion-ease) both;
}

@keyframes stage10-peer-view-enter {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Activity Detail only. Do not target signup step/scene/question selectors here. */
.p-schedule-activity-detail-track {
    transition: transform var(--motion-view, 280ms) var(--motion-ease);
}

.p-schedule-activity-detail-close,
.p-schedule-activity-detail-nav,
.p-schedule-activity-detail-favorite,
.p-schedule-activity-detail-form-icon {
    transition:
        transform var(--motion-micro, 160ms) var(--motion-ease),
        background var(--motion-micro, 160ms) var(--motion-ease),
        opacity var(--motion-micro, 160ms) var(--motion-ease);
}

.p-schedule-activity-detail-dot {
    transition:
        width var(--motion-small, 240ms) var(--motion-ease),
        background var(--motion-small, 240ms) var(--motion-ease);
}

.p-schedule-activity-detail-section-toggle i {
    transition:
        color var(--motion-micro, 160ms) var(--motion-ease),
        transform var(--motion-small, 240ms) var(--motion-ease);
}

.p-schedule-activity-detail-section:not(.is-collapsed) .p-schedule-activity-detail-section-content {
    animation-duration: var(--motion-small, 240ms);
    animation-timing-function: var(--motion-ease);
}

/* Zajęcia disclosure icons; JS layout motion is guarded separately. */
.myactivities-section-disclosure-icon,
.makeups-history-title-icon {
    transition: transform var(--motion-small, 240ms) var(--motion-ease);
}

/* Home calendar movement is a microinteraction; attendance control is intentionally excluded. */
.p-home-calendar-shift {
    transition: transform 180ms var(--motion-ease);
}

@media (prefers-reduced-motion: reduce) {
    .c-media-viewer__close,
    .c-media-viewer__nav,
    .c-record-card,
    .absence-makeup-summary-arrow i,
    .absence-makeup-card__expand i,
    .c-section-disclosure__icon,
    .c-card-stack > .c-card-stack__item,
    .p-schedule-activity-detail-track,
    .p-schedule-activity-detail-close,
    .p-schedule-activity-detail-nav,
    .p-schedule-activity-detail-favorite,
    .p-schedule-activity-detail-form-icon,
    .p-schedule-activity-detail-dot,
    .p-schedule-activity-detail-section-toggle i,
    .myactivities-section-disclosure-icon,
    .makeups-history-title-icon,
    .p-home-calendar-shift {
        transition: none !important;
    }

    #panel-courses.is-active,
    #panel-makeups.is-active,
    .p-schedule-activity-detail-section:not(.is-collapsed) .p-schedule-activity-detail-section-content {
        animation: none !important;
    }
}
