/* ============================================
   EXPLORE PAGE
   Styles pour la page d'exploration publique Scriverse
   ============================================ */

/* === Layout global === */
.explore {
    width: 100%;
    overflow-x: hidden;
}

/* ============================================
   HERO — En-tête d'exploration
   ============================================ */
.explore-hero {
    max-width: 900px;
    margin: 0 auto;
    padding: calc(var(--topbar-height) + var(--spacing-2xl)) var(--spacing-xl) var(--spacing-2xl);
    text-align: center;
}



/* ============================================
   NAVIGATION RAPIDE — Chips de catégories
   ============================================ */
.explore-nav {
    background: var(--color-gray-100);
    padding: var(--spacing-xl) var(--spacing-xl);
    position: sticky;
    top: var(--topbar-height);
    z-index: 10;
    border-bottom: 1px solid var(--color-border);
}

.explore-nav__container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    align-items: center;
}

.explore-nav__title {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-secondary);
    margin: 0;
}

.explore-nav__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    justify-content: center;
}

/* === Chip individuel === */
.explore-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-md);
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--chip-color, var(--color-text-primary));
    background: var(--color-surface);
    border: 1px solid color-mix(in srgb, var(--chip-color, var(--color-border)) 30%, transparent);
    text-decoration: none;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
    white-space: nowrap;
}

.explore-chip i {
    font-size: 0.85em;
}

.explore-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--chip-color, var(--color-primary)) 20%, transparent);
    background: color-mix(in srgb, var(--chip-color, var(--color-primary)) 8%, var(--color-surface));
    text-decoration: none;
    color: var(--chip-color, var(--color-text-primary));
}

/* ============================================
   SECTIONS CATÉGORIES
   ============================================ */
.explore-categories {
    max-width: 100%;
    margin: 0 auto;
}

/* === Section individuelle === */
.explore-category {
    padding: var(--spacing-2xl) 0;
    background: var(--color-surface);
}

/* Fond alterné sur les sections paires (géré côté PHP) */
.explore-category--alt {
    background: var(--color-bg);
}

.explore-category__container {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 var(--spacing-xl);
}

/* === En-tête catégorie (badge + intro + actions) === */
.explore-category__header {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-lg);
    flex-wrap: wrap;
}

.explore-category__actions {
    flex-shrink: 0;
    margin-left: auto;
    padding-top: var(--spacing-xs);
}

.explore-category__badge {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--color-white);
    background: var(--category-color, var(--color-primary));
    box-shadow: 0 4px 12px color-mix(in srgb, var(--category-color, var(--color-primary)) 30%, transparent);
}

.explore-category__intro {
    flex: 1;
    min-width: 0;
}



/* === CTA catégorie (dans le header) === */
.explore-category__cta {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    border-color: var(--category-color, var(--color-primary));
    color: var(--category-color, var(--color-primary));
    white-space: nowrap;
}

.explore-category__cta:hover {
    background: color-mix(in srgb, var(--category-color, var(--color-primary)) 8%, transparent);
    border-color: var(--category-color, var(--color-primary));
    color: var(--category-color, var(--color-primary));
}

/* ============================================
   CTA FINAL
   ============================================ */
.explore-cta {
    text-align: center;
    padding: var(--spacing-2xl) var(--spacing-xl);
    background: var(--color-gray-100);
}

.explore-cta__container {
    max-width: 700px;
    margin: 0 auto;
}



/* ============================================
   EXPLORE CATEGORY PAGE — Page dédiée à une catégorie
   ============================================ */

/* === Breadcrumb container (wraps shared .breadcrumb) === */
.explore-breadcrumb {
    background: var(--color-gray-100);
    border-bottom: 1px solid var(--color-border);
}

.explore-breadcrumb__container {
    max-width: 1100px;
    margin: 0 auto;
}

/* === Hero catégorie === */
.explore-cat-hero {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: var(--category-image);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.explore-cat-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        color-mix(in srgb, var(--category-color, #1a1a2e) 55%, black) 0%,
        rgba(0, 0, 0, 0.72) 100%
    );
}

.explore-cat-hero__content {
    position: relative;
    z-index: 1;
    text-align: center;
    color: white;
    max-width: 720px;
    padding: var(--spacing-3xl) var(--spacing-xl);
    margin: 0 auto;
    width: 100%;
}

.explore-cat-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.3);
    margin-bottom: var(--spacing-md);
    backdrop-filter: blur(8px);
}

.explore-cat-hero__icon i {
    font-size: 1.75rem;
    color: color-mix(in srgb, var(--category-color, white) 50%, white);
}

.explore-cat-hero__title {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: var(--font-weight-bold);
    color: white;
    margin: 0 0 var(--spacing-sm);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    letter-spacing: -0.02em;
}

.explore-cat-hero__subtitle {
    font-size: var(--font-size-lg);
    color: rgba(255, 255, 255, 0.88);
    margin: 0 auto;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
    max-width: 580px;
    line-height: 1.6;
}



/* === Sections dans la page catégorie === */
.explore-section {
    margin-top: var(--spacing-lg);
}

.explore-section--muted {
    background: var(--color-gray-100);
}

.explore-section--alt {
    background: var(--color-bg);
}

.explore-section__container {
    max-width: 1100px;
    margin: 0 auto;
}



/* === Commentaires récents === */
.explore-comments-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.explore-comment {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    background: var(--color-surface);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    transition: box-shadow var(--transition-fast);
}

.explore-comment:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.explore-comment__avatar {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    object-fit: cover;
    flex-shrink: 0;
}

.explore-comment__avatar--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-gray-200);
    color: var(--color-text-tertiary);
    font-size: var(--font-size-sm);
}

.explore-comment__body {
    flex: 1;
    min-width: 0;
}

.explore-comment__meta {
    display: flex;
    align-items: baseline;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-xs);
}

.explore-comment__author {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.explore-comment__date {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
}

.explore-comment__context {
    display: block;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    margin-bottom: var(--spacing-xs);
}

.explore-comment__sep {
    color: var(--color-text-tertiary);
}

.explore-comment__text {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-relaxed);
    color: var(--color-text-secondary);
    margin: 0;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
    .explore-hero {
        padding-top: calc(var(--topbar-height) + var(--spacing-xl));
    }

    .explore-nav {
        padding: var(--spacing-md);
    }

    .explore-nav__chips {
        gap: var(--spacing-xs);
    }
}

@media (max-width: 768px) {
    .explore-hero {
        padding: calc(var(--topbar-height) + var(--spacing-lg)) var(--spacing-md) var(--spacing-xl);
    }

    .explore-category__header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .explore-category__actions {
        margin-left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .explore-category {
        padding: var(--spacing-xl) 0;
    }

    .explore-category__container {
        padding: 0 var(--spacing-md);
    }

    .explore-section {
        padding: var(--spacing-xl) var(--spacing-md);
    }

    .explore-breadcrumb {
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md);
    }

    .explore-cat-hero {
        min-height: 260px;
    }

    .explore-cat-hero__content {
        padding: var(--spacing-xl) var(--spacing-md);
    }

    .explore-nav {
        position: relative;
        top: auto;
    }

    .explore-chip {
        padding: var(--spacing-xs) var(--spacing-sm);
        font-size: var(--font-size-xs);
    }
}


