/* ==========================================
   TIMER SECTION & LAYOUT
   ========================================== */
.timer-section {
    padding: var(--padding-xl) 0;
    overflow-x: hidden;
}

/* ==========================================
   TIMER CONTENT - BASE STYLES (MOBILE FIRST)
   ========================================== */
.timer-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 var(--padding-md);
    gap: var(--gap-lg);
}

.timer-parts--left,
.timer-parts--right {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.timer-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    flex-grow: 1;
}

/* ==========================================
   SIDE PANELS (LEFT & RIGHT) - DESKTOP LAYOUT
   ========================================== */
@media (min-width: 992px) {
    .timer-content {
        display: grid;
        grid-template-columns: minmax(auto, 1fr) minmax(auto, 4fr) minmax(auto, 1fr);
        gap: var(--gap-md);
        align-items: center;
        padding: 0;
    }

    .timer-parts--left,
    .timer-parts--right {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: var(--padding-sm);
        min-height: 600px;
        opacity: 1;
        transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
    }

    .timer-parts--left {
        grid-column: 1;
        align-items: flex-start;
        gap: var(--gap-lg);
        transform: translateX(-20%);
    }

    .timer-parts--right {
        grid-column: 3;
        align-items: flex-end;
        gap: var(--gap-md);
        transform: translateX(20%);
    }

    .timer-wrap {
        grid-column: 2;
        width: auto;
        flex-grow: 0;
    }
}

/* ==========================================
   OTHER STYLES (REMAINING AS BEFORE)
========================================== */

/* Miscellaneous styles for inner timer elements */
.timer-detail {
    transform: rotate(30deg);
}

.timer-times {
    transform: rotate(20deg);
}

.timer-total-time {
    transform: rotate(-20deg);
}

.timer-timeline {
    transform: rotate(20deg);
}

/* List of times */
.timer-times__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
}

/* Timer detail icons */
.timer-detail__icons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap-sm);
    list-style: none;
    padding: var(--padding-md);
    width: 300px;
    height: 80px;
    background: var(--color-primary-600);
    border-radius: var(--radius-md);
}

/* Individual icon item in the icon list */
.timer-detail__item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Time container */
.timer-time-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
}

/* Time display field */
.timer-time {
    width: 300px;
    height: 40px;
    padding: var(--padding-sm);
    text-align: center;
    font-family: var(--font-family-sans);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-medium);
    background: var(--color-primary-600);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
}

/* Timer preview */
.timer-preview {
    padding: var(--padding-md);
    text-align: center;
}

/* Time header */
.timer-time-head {
    font-family: var(--font-family-sans);
    font-size: var(--font-size-5xl);
    line-height: 1;
    margin: 0;
}

/* Homepage timer */
.homepage-timer {
    font-family: var(--font-family-mono);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-4xl);
    color: var(--color-text-primary);
    line-height: 1;
    margin: 0;
}

/* Timer description */
.timer-description {
    margin-top: var(--margin-md);
    color: var(--color-text-primary);
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
}

/* Display of total remaining time and timeline */
.timer-total-time,
.timer-timeline {
    width: 200px;
    height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: var(--padding-sm);
    gap: var(--gap-sm);
    text-align: center;
    background: var(--color-primary-600);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

/* Label for total remaining time */
.timer-total-time__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
    opacity: 0.8;
    margin-bottom: var(--margin-xs);
}

/* Value for total remaining time */
.timer-total-time__value {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

/* Each entry in the timeline */
.timer-timeline__entry {
    margin-top: var(--margin-sm);
    font-size: var(--font-size-sm);
    color: var(--color-text-primary);
}