/* =================================================================
   services.css — Styles communs à toutes les pages de service
   (conception-site-web, site-web-pour-tous, curriculum-vitae,
    conseils-formations, erp, community-management,
    developpement-logiciel)
   ================================================================= */

/* ══════════════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════════════ */
.service-hero {
    position: relative;
    min-height: 440px;
    background-color: #0a1628;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right center;
    display: flex;
    align-items: center;
}
.service-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.75) 45%,
        rgba(0,20,80,.30) 75%,
        rgba(0,20,80,.05) 100%
    );
}
.service-hero .hero-content {
    position: relative;
    z-index: 2;
}

/* ══════════════════════════════════════════════════════════════════
   AVANTAGE CARDS
══════════════════════════════════════════════════════════════════ */
.avantage-card {
    border-radius: 14px;
    padding: 26px 22px;
    background: #f8faff;
    border: 1.5px solid #e4ecff;
    transition: background .2s, box-shadow .2s, transform .2s;
    height: 100%;
}
.avantage-card:hover {
    background: #fff;
    box-shadow: 0 8px 28px rgba(13,110,253,.09);
    transform: translateY(-3px);
}
.avantage-card .av-icon {
    font-size: 1.8rem;
    color: #0d6efd;
    margin-bottom: 12px;
    display: block;
}

/* ══════════════════════════════════════════════════════════════════
   SKILL BADGES
══════════════════════════════════════════════════════════════════ */
.skill-badge {
    display: inline-block;
    background: #f0f4ff;
    color: #0d6efd;
    border-radius: 20px;
    padding: 3px 11px;
    font-size: .75rem;
    font-weight: 500;
    margin: 3px 3px 0 0;
}

/* ══════════════════════════════════════════════════════════════════
   ÉTAPES / PROCESS
══════════════════════════════════════════════════════════════════ */
.etape-item { position: relative; }
.etape-num {
    font-size: 3rem;
    font-weight: 800;
    color: #0d6efd;
    opacity: .15;
    line-height: 1;
}
.etape-content {
    margin-top: -20px;
    padding-left: 8px;
}

/* ══════════════════════════════════════════════════════════════════
   CTA SECTION
══════════════════════════════════════════════════════════════════ */
.cta-service {
    background: linear-gradient(135deg, #0d6efd 0%, #0a4fcf 100%);
    border-radius: 18px;
    color: #fff;
    padding: 52px 40px;
}
@media(max-width: 576px) {
    .cta-service { padding: 36px 20px; }
}

/* ══════════════════════════════════════════════════════════════════
   TECH / PLATFORM CARDS
══════════════════════════════════════════════════════════════════ */
.tech-card {
    background: #f8faff;
    border: 1.5px solid #e4ecff;
    border-radius: 14px;
    padding: 22px 12px;
    transition: background .2s, box-shadow .2s, transform .2s;
}
.tech-card:hover {
    background: #fff;
    box-shadow: 0 8px 24px rgba(13,110,253,.10);
    transform: translateY(-3px);
}

/* ══════════════════════════════════════════════════════════════════
   OFFRE PHARE
══════════════════════════════════════════════════════════════════ */
.phare-section {
    padding: 60px 0;
    background: linear-gradient(160deg, #f0f6ff 0%, #e8f0fe 100%);
    border-bottom: 1px solid #dce8ff;
}
.phare-card {
    position: relative;
    background: #fff;
    border-radius: 20px;
    padding: 48px 44px;
    box-shadow: 0 12px 48px rgba(13,110,253,.12);
    border: 1.5px solid #c7d9ff;
    overflow: hidden;
}
.phare-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(to right, #0d6efd, #0a4fcf);
}
.phare-badge {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #0d6efd, #0a4fcf);
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 20px;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.phare-feature {
    background: #f0f6ff;
    border: 1px solid #dce8ff;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: .88rem;
    font-weight: 500;
    color: #334155;
    display: flex;
    align-items: center;
}
.phare-price-box {
    background: linear-gradient(145deg, #0d6efd 0%, #0a4fcf 100%);
    border-radius: 18px;
    padding: 36px 40px;
    color: #fff;
    text-align: center;
    min-width: 260px;
    box-shadow: 0 16px 48px rgba(13,110,253,.30);
}
.phare-price-label {
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: .8;
    margin-bottom: 4px;
}
.phare-price-amount {
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1;
}
.phare-price-currency {
    font-size: 1rem;
    opacity: .85;
    margin-top: 4px;
}
.phare-price-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}
.phare-price-list li {
    font-size: .88rem;
    padding: 5px 0;
    opacity: .9;
    display: flex;
    align-items: center;
}
.phare-price-note {
    margin-top: 14px;
    font-size: .78rem;
    background: rgba(255,255,255,.15);
    border-radius: 8px;
    padding: 8px 12px;
    opacity: .92;
}
@media(max-width: 767px) {
    .phare-card       { padding: 28px 20px; }
    .phare-price-box  { min-width: unset; width: 100%; padding: 28px 24px; }
}

/* ══════════════════════════════════════════════════════════════════
   PRICING CARDS
══════════════════════════════════════════════════════════════════ */
.pricing-card {
    position: relative;
    border: 1.5px solid #e8edf3;
    border-radius: 16px;
    background: #fff;
    padding: 32px 28px;
    transition: transform .22s ease, box-shadow .22s ease;
    overflow: hidden;
}
.pricing-card:hover {
    box-shadow: 0 16px 40px rgba(0,0,0,.10);
    transform: translateY(-4px);
}
.pricing-card--featured {
    border-color: #0d6efd;
    box-shadow: 0 12px 36px rgba(13,110,253,.14);
}
.pricing-card--featured:hover {
    box-shadow: 0 20px 50px rgba(13,110,253,.20);
}
.pricing-badge {
    position: absolute;
    top: 18px; right: 18px;
    background: #0d6efd;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    letter-spacing: .4px;
    text-transform: uppercase;
}
.pricing-price {
    padding: 16px 0;
    border-top: 1.5px solid #f0f4ff;
    border-bottom: 1.5px solid #f0f4ff;
}
.pricing-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.pricing-list li {
    padding: 7px 0;
    font-size: .9rem;
    color: #475569;
    border-bottom: 1px solid #f8faff;
    display: flex;
    align-items: flex-start;
    gap: 4px;
}
.pricing-list li:last-child { border-bottom: none; }
.pricing-list li .bi-check-circle-fill { flex-shrink: 0; margin-top: 2px; }

/* ══════════════════════════════════════════════════════════════════
   FAQ
══════════════════════════════════════════════════════════════════ */
.faq-item {
    border: 1.5px solid #e8edf3;
    border-radius: 12px !important;
    margin-bottom: 10px;
    overflow: hidden;
}
.faq-btn {
    font-weight: 600;
    font-size: .95rem;
    color: #1e293b;
    background: #fff;
    padding: 18px 22px;
    box-shadow: none !important;
}
.faq-btn:not(.collapsed) {
    color: #0d6efd;
    background: #f0f6ff;
}

/* ══════════════════════════════════════════════════════════════════
   SCROLL REVEAL (géré par services.js)
══════════════════════════════════════════════════════════════════ */
.sr-hidden {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .5s ease, transform .5s ease;
}
.sr-visible {
    opacity: 1;
    transform: translateY(0);
}
