/**
 * Bourse Pages - Delta Styles
 *
 * Base styles come from cours-crypto.css (shared .ca-cours-* components).
 * This file contains ONLY bourse-specific additions:
 * - Analyst consensus section
 * - Company profile grid
 *
 * Exchange/broker cards use the same .ca-cours-exchange-* and .ca-cours-btn-*
 * classes as crypto pages (defined in cours-crypto.css).
 *
 * @version 5.0.0
 */

/* ==========================================================================
   Main Hub (/bourse/) specific
   ========================================================================== */

.ca-bourse-main-hub .ca-hub-h1 {
    margin: 0 0 12px;
}

.ca-bourse-hub-card-head,
.ca-bourse-hub-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ca-bourse-hub-overview-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ca-bourse-hub-card-text {
    margin: 0;
    color: var(--cs-color-contrast-600, #555);
    font-size: 14px;
    line-height: 1.6;
}

.ca-bourse-hub-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid var(--cs-color-contrast-200, #e5e7eb);
    border-radius: 999px;
    background: var(--cs-color-contrast-50, #f8fafc);
    color: var(--cs-color-contrast-700, #374151);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ca-bourse-hub-inline-link:hover {
    border-color: var(--cs-color-contrast-400, #9ca3af);
    background: #fff;
    color: var(--cs-color-contrast-900, #111827);
    text-decoration: none;
    transform: translateY(-1px);
}

.ca-bourse-hub-inline-link span[aria-hidden="true"] {
    font-size: 12px;
    line-height: 1;
}

.ca-bourse-hub-list-footer {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--cs-color-contrast-200, #e5e7eb);
}

.ca-bourse-hub-link-title {
    display: block;
    font-weight: 700;
}

.ca-bourse-hub-link-topline {
    display: block;
    color: var(--cs-color-contrast-500, #6b7280);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ca-bourse-hub-link-desc {
    display: block;
    color: var(--cs-color-contrast-600, #555);
    font-size: 14px;
    line-height: 1.5;
}

.ca-bourse-asset-classes {
    margin: 32px 0 40px;
}

.ca-bourse-asset-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ca-bourse-hub-link-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    min-height: 112px;
    padding: 14px 16px;
}

.ca-bourse-hub-link-card:hover {
    border-color: var(--cs-color-contrast-400, #9ca3af);
}

.ca-bourse-hub-link-card .ca-bourse-hub-link-desc {
    font-size: 13px;
    line-height: 1.45;
}

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

.ca-bourse-hub-cta {
    align-self: flex-start;
    gap: 6px;
    min-height: auto;
    padding: 10px 14px;
}

.ca-bourse-hub-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--cs-color-contrast-100, #f3f4f6);
    border: 1px solid var(--cs-color-contrast-200, #e5e7eb);
    color: var(--cs-color-contrast-600, #4b5563);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.ca-bourse-hub-disclaimer {
    margin: 32px 0 16px;
    padding: 16px 18px;
    color: var(--cs-color-contrast-600, #4b5563);
    font-size: 14px;
    line-height: 1.5;
}

.ca-bourse-hub-disclaimer p {
    margin: 0;
}

.page-template-template-bourse-hub .cs-sidebar__area,
.page-template-template-bourse-hub .cs-sidebar,
.page-template-template-bourse-hub #secondary {
    display: none !important;
}

.page-template-template-bourse-hub .cs-main-content,
.page-template-template-bourse-hub .cs-content-area {
    width: 100%;
    max-width: 100%;
}

.page-template-template-bourse-category-hub .cs-sidebar__area,
.page-template-template-bourse-category-hub .cs-sidebar,
.page-template-template-bourse-category-hub #secondary {
    display: none !important;
}

.page-template-template-bourse-category-hub .cs-main-content,
.page-template-template-bourse-category-hub .cs-content-area {
    width: 100%;
    max-width: 100%;
}

/* ==========================================================================
   Section wrapper (h2 outside grid) — Valorisation, Rentabilité, Dividendes
   ========================================================================== */

.ca-cours-section {
    margin: 24px 0;
}

.ca-cours-section > h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 16px;
    color: var(--cs-color-contrast-900);
}

/* ==========================================================================
   Analyst Consensus (bourse-only section)
   ========================================================================== */

.ca-bourse-analyst-section {
    margin-bottom: 32px;
    scroll-margin-top: 90px;
}

.ca-bourse-analyst-section h2 {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px;
}

.ca-bourse-analyst-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

.ca-bourse-analyst-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    border: 1px solid var(--cs-color-contrast-100, #eee);
    border-radius: 8px;
    text-align: center;
}

.ca-bourse-analyst-label {
    font-size: 12px;
    color: var(--cs-color-contrast-500, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ca-bourse-analyst-value {
    font-size: 20px;
    font-weight: 700;
}

.ca-bourse-analyst-value.rating-buy,
.ca-bourse-analyst-value.rating-strong-buy { color: #16a34a; }
.ca-bourse-analyst-value.rating-sell,
.ca-bourse-analyst-value.rating-strong-sell { color: #dc2626; }
.ca-bourse-analyst-value.rating-hold { color: #ca8a04; }

[data-scheme="dark"] .ca-bourse-analyst-card {
    border-color: #333;
}

/* ==========================================================================
   Company Profile Grid (bourse-only: CEO, employees, IPO, etc.)
   ========================================================================== */

.ca-bourse-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.ca-bourse-profile-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ca-bourse-profile-item .label {
    font-size: 12px;
    color: var(--cs-color-contrast-500, #666);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ca-bourse-profile-item .value {
    font-weight: 600;
    font-size: 14px;
}

/* ==========================================================================
   Mobile Overrides (bourse-specific only)
   ========================================================================== */

@media (max-width: 600px) {
    .ca-bourse-hub-card-head,
    .ca-bourse-hub-table-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ca-bourse-analyst-grid {
        grid-template-columns: 1fr 1fr;
    }
    .ca-bourse-profile-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ca-bourse-asset-links,
    .ca-bourse-bestof-grid {
        grid-template-columns: 1fr;
    }

    .ca-bourse-hub-link-card {
        min-height: auto;
    }
}

/* ==========================================================================
   Hub Table Overrides (bourse-specific: wider names, exchange column)
   ========================================================================== */

/* Wider name column for bourse instruments (longer names than crypto) */
.ca-hub-page .ca-hub-coin-name {
    max-width: 220px;
}

/* Exchange / Market column */
.ca-hub-td-exchange {
    font-size: 13px;
    color: var(--cs-color-contrast-500, #666);
    white-space: nowrap;
}

.ca-hub-th-exchange {
    white-space: nowrap;
}

@media (max-width: 600px) {
    .ca-hub-page .ca-hub-coin-name {
        max-width: 150px;
    }
}
