/* ═══════════════════════════════════════════════════════════════
   Articles V2 — Charte « Force & Précision »
   Actualités + pages article
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero liste actualités ───────────────────────────────────── */
.blog-hero-v2 {
    position: relative;
    padding: clamp(56px, 8vw, 88px) 0 clamp(40px, 6vw, 64px);
    background:
        radial-gradient(ellipse 70% 55% at 100% 0%, rgba(255, 107, 0, 0.12) 0%, transparent 55%),
        radial-gradient(ellipse 45% 40% at 0% 100%, rgba(13, 74, 150, 0.35) 0%, transparent 60%),
        linear-gradient(165deg, #020f22 0%, #041e42 28%, #062c59 54%, #0a3d7a 100%);
    overflow: hidden;
}

.blog-hero-v2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 5%, rgba(255, 107, 0, 0.45) 50%, transparent 95%);
}

.blog-hero-v2 .section-title {
    color: #fff;
    margin-bottom: 14px;
}

.blog-hero-v2 .section-title span {
    color: #ff8c42;
}

.blog-hero-v2 .blog-hero-lead {
    text-align: center;
    color: rgba(255, 255, 255, 0.72);
    max-width: 560px;
    margin: 0 auto;
    font-size: 1.05rem;
    line-height: 1.65;
}

/* ─── Grille cartes blog ──────────────────────────────────────── */
.blog-list-section {
    background: var(--bg-sec);
    padding: clamp(40px, 6vw, 64px) 0 clamp(64px, 8vw, 96px);
}

.blog-grid {
    gap: 28px;
}

.blog-card {
    border: 1px solid rgba(6, 44, 89, 0.08);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    overflow: hidden;
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(255, 107, 0, 0.25);
}

.blog-card-content h3 a {
    color: var(--primary);
    transition: color 0.2s ease;
}

.blog-card-content h3 a:hover {
    color: var(--accent-dark);
}

.blog-category {
    background: rgba(6, 44, 89, 0.08);
    color: var(--primary);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.blog-category--comparatif {
    background: rgba(255, 107, 0, 0.12) !important;
    color: #c45a12 !important;
}

.blog-read-more {
    color: var(--accent-dark);
    font-weight: 700;
}

.blog-read-more:hover {
    color: var(--primary);
}

.blog-date {
    background: linear-gradient(135deg, #062c59, #0d4a96);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* ─── Hero page article ───────────────────────────────────────── */
.article-hero-banner {
    background:
        radial-gradient(ellipse 60% 50% at 90% 10%, rgba(255, 107, 0, 0.14) 0%, transparent 55%),
        linear-gradient(165deg, #020f22 0%, #041e42 30%, #062c59 60%, #0a3d7a 100%);
    min-height: clamp(320px, 42vw, 440px);
}

.article-hero-overlay {
    background: linear-gradient(
        105deg,
        rgba(2, 15, 34, 0.92) 0%,
        rgba(6, 44, 89, 0.78) 45%,
        rgba(6, 44, 89, 0.35) 100%
    ) !important;
}

.article-hero-breadcrumb a {
    color: rgba(255, 255, 255, 0.75);
}

.article-hero-breadcrumb a:hover {
    color: #ff8c42;
}

.article-hero-breadcrumb span {
    color: rgba(255, 255, 255, 0.55);
}

.article-hero-title {
    color: #fff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
    line-height: 1.15;
}

.article-hero-meta {
    color: rgba(255, 255, 255, 0.7);
}

.article-hero-category {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    backdrop-filter: blur(8px);
}

.article-hero-category.category-comparatif {
    background: rgba(255, 107, 0, 0.15);
    border-color: rgba(255, 107, 0, 0.45);
    color: #ffc299;
}

.article-hero-cta.btn-secondary {
    background: linear-gradient(135deg, #ff6b00, #e85d00);
    border: none;
    color: #fff;
    box-shadow: var(--shadow-accent);
}

.article-hero-cta.btn-secondary:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.article-hero-product-img {
    border: 3px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

/* ─── Corps article ───────────────────────────────────────────── */
.blog-article-section {
    background: var(--bg-main);
    padding: clamp(40px, 6vw, 56px) 0 clamp(64px, 8vw, 80px);
}

.article-intro {
    font-size: 1.12rem;
    color: var(--text-main);
    border-left: 4px solid var(--accent);
    padding-left: 20px;
    margin-bottom: 32px;
    line-height: 1.75;
}

.article-section-heading {
    color: var(--primary);
}

.section-icon {
    background: linear-gradient(135deg, rgba(6, 44, 89, 0.08), rgba(13, 74, 150, 0.06));
    color: var(--primary);
}

.article-conclusion {
    background: linear-gradient(135deg, #f0f4f8, #fff);
    border: 1px solid #e3e9f2;
    border-radius: var(--r-md);
    padding: 24px 28px;
    margin-top: 32px;
}

.article-cta-block {
    background: linear-gradient(135deg, #062c59, #0d4a96);
    border-radius: var(--r-lg);
    overflow: hidden;
    margin-top: 40px;
    box-shadow: var(--shadow-md);
}

.article-cta-text h3 {
    color: #fff;
}

.article-cta-text p {
    color: rgba(255, 255, 255, 0.85);
}

.article-cta-img {
    background: rgba(255, 255, 255, 0.08);
}

.article-cta-price {
    color: #ff8c42;
    font-family: var(--font-heading);
    font-weight: 800;
}

/* ─── Tableaux comparatifs ────────────────────────────────────── */
.compare-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 0.92rem;
    border-radius: var(--r-sm);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.compare-table th,
.compare-table td {
    border: 1px solid #e3e9f2;
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
}

.compare-table th {
    background: linear-gradient(135deg, #f0f4f8, #e8eef5);
    color: var(--primary);
    font-weight: 700;
}

.compare-table tr:nth-child(even) td {
    background: #fafbfd;
}

.compare-verdict {
    background: linear-gradient(135deg, #062c59, #0d4a96);
    color: #fff;
    border-radius: var(--r-md);
    padding: 22px 24px;
    margin-top: 24px;
    box-shadow: var(--shadow-md);
}

.compare-verdict h3 {
    margin: 0 0 10px;
    font-size: 1.1rem;
    color: #ff8c42;
}

.compare-verdict p {
    margin: 0;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.92);
}

.compare-verdict a {
    color: #ffc299;
    font-weight: 700;
}

.compare-verdict a:hover {
    color: #fff;
}

/* ─── Sidebar comparatif ──────────────────────────────────────── */
.sidebar-compare-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-compare-links a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--bg-sec);
    border: 1px solid #e3e9f2;
    border-radius: var(--r-sm);
    text-decoration: none;
    color: var(--primary);
    font-weight: 600;
    font-size: 0.88rem;
    transition: var(--transition-fast);
}

.sidebar-compare-links a:hover {
    border-color: var(--accent);
    background: #fff;
}

.sidebar-compare-links a i {
    color: var(--accent);
}

/* ─── Liens internes (déplacés depuis inline) ─────────────────── */
.internal-links-section {
    padding: 36px 0;
    background: #f4f7fb;
    border-top: 1px solid #e3e9f2;
    margin-top: 32px;
    border-radius: var(--r-md);
}

.internal-links-title {
    font-size: 1.15rem;
    color: var(--primary);
    margin: 0 0 14px;
    font-family: var(--font-heading);
}

.internal-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.internal-links-list a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #e3e9f2;
    border-radius: 8px;
    text-decoration: none;
    color: var(--primary);
    font-size: 0.9rem;
    font-weight: 600;
    transition: var(--transition-fast);
}

.internal-links-list a:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-sm);
}

@media (max-width: 768px) {
    .article-hero-banner {
        min-height: auto;
        padding-bottom: 32px;
    }

    .compare-table {
        font-size: 0.82rem;
    }

    .compare-table th,
    .compare-table td {
        padding: 10px;
    }
}
