/* =====================================================
   VIRUS WEB — Pages intérieures
===================================================== */

/* Hero page */
.page-hero {
    padding: 140px 0 72px;
    background: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(122,158,227,.15) 0%, transparent 60%), var(--dark);
    text-align: center;
    position: relative;
}
.page-hero .section-tag { margin-bottom: 16px; }
.page-hero h1 { margin-bottom: 18px; max-width: 760px; margin-left: auto; margin-right: auto; }
.page-hero p  { font-size: 1.1rem; color: var(--text-light); max-width: 620px; margin: 0 auto 32px; }
.page-hero .hero-cta { justify-content: center; }

/* Breadcrumb */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .82rem;
    color: var(--text-light);
    margin-bottom: 24px;
    justify-content: center;
    flex-wrap: wrap;
}
.breadcrumb a { color: var(--blue-light); }
.breadcrumb a:hover { color: var(--white); }
.breadcrumb i { font-size: .65rem; }

/* Content sections */
.page-content { padding: 80px 0; }
.page-content .container { max-width: 960px; }

/* Two-col layout */
.content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    margin-bottom: 80px;
}
.content-grid.reverse { direction: rtl; }
.content-grid.reverse > * { direction: ltr; }

.content-text h2 { margin-bottom: 18px; }
.content-text p   { color: var(--text-light); margin-bottom: 16px; font-size: .95rem; line-height: 1.8; }
.content-text ul  { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.content-text li  { display: flex; align-items: flex-start; gap: 10px; font-size: .92rem; color: var(--text); }
.content-text li i { color: var(--blue); margin-top: 3px; flex-shrink: 0; }

.content-visual {
    background: var(--dark2);
    border: 1px solid rgba(122,158,227,.2);
    border-radius: var(--radius);
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.content-visual .cv-icon {
    width: 64px; height: 64px;
    background: rgba(122,158,227,.12);
    border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.8rem;
    color: var(--blue-light);
    margin-bottom: 8px;
}
.content-visual h3 { color: var(--white); margin-bottom: 8px; }
.content-visual p  { font-size: .88rem; color: var(--text-light); }
.content-visual .cv-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--dark3);
    border-radius: var(--radius-sm);
    font-size: .88rem;
    color: var(--text);
}
.content-visual .cv-stat i { color: var(--blue-light); width: 18px; text-align: center; }

/* Pricing / offer cards */
.offers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 48px 0;
}
.offer-card {
    background: var(--dark2);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--radius);
    padding: 28px 24px;
    transition: var(--transition);
    position: relative;
}
.offer-card:hover { border-color: rgba(122,158,227,.3); transform: translateY(-4px); }
.offer-card.featured {
    border-color: rgba(122,158,227,.35);
    background: linear-gradient(135deg, rgba(122,158,227,.08), var(--dark2));
}
.offer-badge {
    position: absolute; top: -12px; left: 50%;
    transform: translateX(-50%);
    background: var(--blue); color: var(--dark);
    font-size: .72rem; font-weight: 700;
    padding: 3px 14px; border-radius: 50px;
    white-space: nowrap;
}
.offer-card h4 { color: var(--white); margin-bottom: 10px; }
.offer-card p  { font-size: .85rem; color: var(--text-light); margin-bottom: 16px; }
.offer-card ul { display: flex; flex-direction: column; gap: 8px; }
.offer-card li { font-size: .83rem; color: var(--text); display: flex; align-items: center; gap: 8px; }
.offer-card li i { color: var(--blue); font-size: .7rem; }

/* CTA band */
.cta-band {
    background: linear-gradient(135deg, rgba(122,158,227,.12), rgba(74,111,181,.08));
    border: 1px solid rgba(122,158,227,.2);
    border-radius: var(--radius);
    padding: 48px 40px;
    text-align: center;
    margin-top: 64px;
}
.cta-band h2 { margin-bottom: 12px; }
.cta-band p  { color: var(--text-light); margin-bottom: 28px; max-width: 540px; margin-left: auto; margin-right: auto; }
.cta-band .btn-group { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* Related pages */
.related-pages { padding: 64px 0; background: var(--dark3); }
.related-pages .section-header { margin-bottom: 36px; }
.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.related-card {
    background: var(--dark2);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--radius);
    padding: 24px;
    transition: var(--transition);
    display: flex; flex-direction: column; gap: 10px;
}
.related-card:hover { border-color: rgba(122,158,227,.3); transform: translateY(-3px); }
.related-card i { font-size: 1.3rem; color: var(--blue-light); }
.related-card h4 { color: var(--white); font-size: 1rem; }
.related-card p { font-size: .83rem; color: var(--text-light); flex: 1; }
.related-card .rlink {
    font-size: .83rem; font-weight: 600;
    color: var(--blue-light);
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 4px;
}
.related-card:hover .rlink { color: var(--white); }

@media (max-width: 900px) {
    .content-grid { grid-template-columns: 1fr; gap: 36px; }
    .content-grid.reverse { direction: ltr; }
    .offers-grid { grid-template-columns: 1fr; }
    .related-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .related-grid { grid-template-columns: 1fr; }
    .cta-band { padding: 32px 20px; }
}
