
/* ---------------------------------
   Shared Thoughts Styling
--------------------------------- */

.thoughts-eyebrow {
    display: block;

    margin-bottom: 16px;

    font-size: 0.8rem;
    font-weight: 700;

    letter-spacing: 0.15em;

    color: var(--brand);
}


/* ---------------------------------
   Main Thoughts Page
--------------------------------- */

.thoughts-hub {
    width: min(100% - 48px, 1200px);
}

.thoughts-feature,
.thoughts-archives {
    padding: 32px;

    background-color: var(--surface);

    border: 1px solid var(--border);
    border-radius: 20px;

    margin-bottom: 32px;
}

.thoughts-feature-title {
    margin-bottom: 8px;

    font-size: clamp(1.7rem, 4vw, 2.2rem);

    color: var(--text);
}

.thoughts-feature-description {
    margin-bottom: 24px;

    font-size: 0.95rem;

    color: var(--muted-text);
}


/* ---------------------------------
   Archive Navigation Cards
--------------------------------- */

.archive-choices {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.archive-choice {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 26px;

    background-color: var(--surface);

    border: 1px solid var(--border);
    border-radius: 14px;

    color: inherit;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.archive-choice:hover,
.archive-choice:focus-visible {
    transform: translateY(-3px);

    border-color: var(--brand);

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.archive-choice-icon {
    margin-bottom: 20px;

    font-size: 2rem;

    color: var(--brand);
}

.archive-choice h3 {
    margin-bottom: 12px;

    font-size: 1.3rem;

    color: var(--text);
}

.archive-choice p {
    margin-bottom: 24px;

    line-height: 1.6;

    color: var(--muted-text);
}

.archive-choice-arrow {
    margin-top: auto;

    font-size: 0.9rem;
    font-weight: 600;

    color: var(--brand);
}


/* ---------------------------------
   Archive Page Layout
--------------------------------- */

.thoughts-archive {
    width: min(100% - 48px, 1200px);
}

.archive-back {
    display: inline-block;

    margin-bottom: 40px;

    color: var(--brand);

    text-decoration: none;
}

.archive-back:hover {
    text-decoration: underline;
}


/* ---------------------------------
   Archive Navigation
--------------------------------- */

.archive-switcher {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 32px;
}

.archive-switcher a {
    display: inline-block;

    padding: 10px 20px;

    border: 1px solid var(--brand);
    border-radius: 999px;

    color: var(--brand);

    font-weight: 600;
    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.archive-switcher a:hover,
.archive-switcher a.active {
    background-color: var(--brand);

    color: white;
}


/* ---------------------------------
   Archive Collection
--------------------------------- */

.archive-collection {
    padding: 32px;

    background-color: var(--surface);

    border: 1px solid var(--border);
    border-radius: 20px;
}

.archive-collection-header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
}

.archive-collection-header h2 {
    font-size: 1.8rem;

    color: var(--text);
}

.archive-collection-header span {
    font-size: 0.9rem;

    color: var(--muted-text);
}


/* ---------------------------------
   Three-Column Thought Grid
--------------------------------- */

.thought-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;
}

.thought-grid .thought-card {
    min-width: 0;
}

.thought-grid .thought-link {
    display: flex;
    flex-direction: column;

    height: 100%;
}

.thought-grid .thought-card-layout {
    display: flex;
    flex-direction: column;

    height: 100%;
    min-height: 0;

    gap: 16px;
}


/* ---------------------------------
   Grid Card Thumbnails
--------------------------------- */

.thought-grid .thought-thumbnail-container {
    flex: none;

    width: 100%;
    height: 170px;
}

.thought-grid .thought-card .thought-thumbnail {
    width: 100%;
    max-width: none;

    height: 100%;

    object-fit: cover;
}


/* ---------------------------------
   Grid Card Information
--------------------------------- */

.thought-grid .thought-card-info {
    flex: 1;

    min-height: 0;
}

.thought-grid .thought-card-top {
    flex-direction: column;

    gap: 8px;
}

.thought-grid .thought-title {
    font-size: 1.15rem;
}

.thought-grid .thought-preview {
    margin: 12px 0 18px;

    font-size: 0.95rem;

    line-height: 1.6;
}

.thought-grid .thought-date {
    margin-top: auto;

    text-align: left;
}

.thought-grid .no-thoughts {
    grid-column: 1 / -1;
}


/* ---------------------------------
   Pagination
--------------------------------- */

.archive-pagination {
    display: flex;

    justify-content: center;
    align-items: center;

    flex-wrap: wrap;

    gap: 20px;

    margin-top: 40px;
}

.archive-pagination a {
    display: inline-block;

    padding: 10px 18px;

    border: 1px solid var(--brand);
    border-radius: 999px;

    color: var(--brand);

    text-decoration: none;
    font-weight: 600;
}

.archive-pagination a:hover {
    background-color: var(--brand);

    color: white;
}

.archive-pagination span {
    font-size: 0.9rem;

    color: var(--muted-text);
}


/* ---------------------------------
   Tablet
--------------------------------- */

@media (max-width: 900px) {

    .archive-choices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .thought-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ---------------------------------
   Mobile
--------------------------------- */

@media (max-width: 600px) {

    .thoughts-hub,
    .thoughts-archive {
        width: min(100% - 32px, 1200px);
    }

    .thoughts-feature,
    .thoughts-archives,
    .archive-collection {
        padding: 24px 16px;
    }

    .archive-choices,
    .thought-grid {
        grid-template-columns: 1fr;
    }

    .archive-collection-header {
        align-items: flex-start;

        flex-direction: column;
    }

    .archive-choice {
        padding: 22px;
    }

}