/* ==========================================================
   WEB.CB06.FR — ICÔNES MINIMALISTES V4

   Objectifs :
   - aucun carré opaque ;
   - aucun dégradé ;
   - aucune grosse ombre ;
   - pictogrammes fins et transparents ;
   - dimensions adaptées à chaque composant.
   ========================================================== */

/* ==========================================================
   BASE COMMUNE
   ========================================================== */

.cb06-native-badge,
.cb06-native-icon {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 17px !important;
    padding: 0 !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #1768ff !important;
    background: transparent !important;

    box-shadow: none !important;
    filter:
        drop-shadow(
            0 5px 10px rgba(23, 104, 255, .11)
        ) !important;

    font-size: 0 !important;
    font-weight: 400 !important;
    line-height: 0 !important;
    text-indent: 0 !important;

    opacity: 1 !important;

    transform: none !important;

    transition:
        color .18s ease,
        transform .18s ease,
        filter .18s ease !important;
}

.cb06-native-badge::before,
.cb06-native-badge::after,
.cb06-native-icon::before,
.cb06-native-icon::after {
    display: none !important;
    content: none !important;
}

.cb06-native-badge svg,
.cb06-native-icon svg {
    position: static !important;
    inset: auto !important;

    display: block !important;

    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    color: inherit !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;

    opacity: 1 !important;

    transform: none !important;
    pointer-events: none !important;
}

/* ==========================================================
   FONDS SOMBRES
   ========================================================== */

.section--dark .cb06-native-badge,
.section--dark .cb06-native-icon,
.work-section .cb06-native-badge,
.work-section .cb06-native-icon,
.estimator-section .cb06-native-badge,
.estimator-section .cb06-native-icon,
.values-grid .cb06-native-badge,
.values-grid .cb06-native-icon,
.site-footer .cb06-native-badge,
.site-footer .cb06-native-icon {
    border: 0 !important;

    color: #8ff2d2 !important;
    background: transparent !important;

    box-shadow: none !important;

    filter:
        drop-shadow(
            0 5px 11px rgba(143, 242, 210, .12)
        ) !important;
}

/* ==========================================================
   CARTES DE SERVICES DE L’ACCUEIL
   ========================================================== */

.service-card__number.cb06-native-badge,
.service-card__number.cb06-native-icon {
    position: absolute !important;

    top: 23px !important;
    right: 24px !important;

    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;

    color: #1768ff !important;

    opacity: .88 !important;
}

.service-card__number.cb06-native-badge svg,
.service-card__number.cb06-native-icon svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
}

/* ==========================================================
   LISTE DES EXPERTISES
   ========================================================== */

.service-row__number.cb06-native-badge,
.service-row__number.cb06-native-icon {
    position: static !important;

    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    margin: 0 !important;

    color: #1768ff !important;
}

.service-row__number.cb06-native-badge svg,
.service-row__number.cb06-native-icon svg {
    width: 22px !important;
    height: 22px !important;
}

/* ==========================================================
   CARTES MÉTRIQUES
   ========================================================== */

.metric-card > .cb06-native-badge,
.metric-card > .cb06-native-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    margin: 0 0 10px !important;
}

.metric-card > .cb06-native-badge svg,
.metric-card > .cb06-native-icon svg {
    width: 22px !important;
    height: 22px !important;
}

/* ==========================================================
   ÉTAPES DE MÉTHODE
   ========================================================== */

.process-step > .cb06-native-badge,
.process-step > .cb06-native-icon {
    position: static !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 17px !important;

    color: #1768ff !important;
}

.process-step > .cb06-native-badge svg,
.process-step > .cb06-native-icon svg {
    width: 24px !important;
    height: 24px !important;
}

/* ==========================================================
   SECTEURS
   ========================================================== */

.sector-card > .cb06-native-badge,
.sector-card > .cb06-native-icon {
    position: static !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 24px !important;

    color: #1768ff !important;
}

.sector-feature__number.cb06-native-badge,
.sector-feature__number.cb06-native-icon {
    position: static !important;

    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;

    color: #1768ff !important;
}

/* ==========================================================
   VALEURS DE L’AGENCE
   ========================================================== */

.values-grid article > .cb06-native-badge,
.values-grid article > .cb06-native-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 0 18px !important;

    color: #8ff2d2 !important;
}

.values-grid article > .cb06-native-badge svg,
.values-grid article > .cb06-native-icon svg {
    width: 25px !important;
    height: 25px !important;
}

/* ==========================================================
   CONTACT
   ========================================================== */

.contact-layout li > .cb06-native-badge,
.contact-layout li > .cb06-native-icon,
.contact-intro li > .cb06-native-badge,
.contact-intro li > .cb06-native-icon,
.contact-card li > .cb06-native-badge,
.contact-card li > .cb06-native-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;

    color: #1768ff !important;
}

.contact-layout li > .cb06-native-badge svg,
.contact-layout li > .cb06-native-icon svg,
.contact-intro li > .cb06-native-badge svg,
.contact-intro li > .cb06-native-icon svg {
    width: 21px !important;
    height: 21px !important;
}

/* ==========================================================
   LIVRABLES ET SECTIONS NUMÉROTÉES
   ========================================================== */

.deliverables-grid article > .cb06-native-badge,
.deliverables-grid article > .cb06-native-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 17px !important;
}

.numbered-section > .cb06-native-badge,
.numbered-section > .cb06-native-icon,
.article-section-number.cb06-native-badge,
.article-section-number.cb06-native-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 !important;
}

/* ==========================================================
   PAGES JURIDIQUES
   ========================================================== */

.cb06-legal__number.cb06-native-badge,
.cb06-legal__number.cb06-native-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 0 15px !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #1768ff !important;
    background: transparent !important;

    box-shadow: none !important;
}

.cb06-legal__number.cb06-native-badge svg,
.cb06-legal__number.cb06-native-icon svg {
    width: 25px !important;
    height: 25px !important;

    stroke-width: 1.6 !important;
}

/* Petit trait éditorial sous l’icône juridique */

.cb06-legal__number.cb06-native-badge::after,
.cb06-legal__number.cb06-native-icon::after {
    content: "" !important;

    position: absolute !important;
    left: 6px !important;
    bottom: 0 !important;

    display: block !important;

    width: 23px !important;
    height: 1px !important;

    background:
        rgba(23, 104, 255, .28) !important;
}

/* ==========================================================
   SURVOLS
   ========================================================== */

article:hover > .cb06-native-badge,
article:hover > .cb06-native-icon,
.metric-card:hover > .cb06-native-badge,
.metric-card:hover > .cb06-native-icon,
.service-card:hover .cb06-native-badge,
.service-card:hover .cb06-native-icon {
    color: #075bd8 !important;

    background: transparent !important;
    border: 0 !important;

    box-shadow: none !important;

    filter:
        drop-shadow(
            0 7px 14px rgba(23, 104, 255, .17)
        ) !important;

    transform:
        translateY(-1px) !important;
}

.section--dark article:hover >
.cb06-native-badge,
.section--dark article:hover >
.cb06-native-icon,
.values-grid article:hover >
.cb06-native-badge,
.values-grid article:hover >
.cb06-native-icon {
    color: #b4ffe8 !important;

    filter:
        drop-shadow(
            0 7px 14px rgba(143, 242, 210, .18)
        ) !important;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .cb06-native-badge,
    .cb06-native-icon {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;

        margin-bottom: 14px !important;
    }

    .cb06-native-badge svg,
    .cb06-native-icon svg {
        width: 22px !important;
        height: 22px !important;
    }

    .service-card__number.cb06-native-badge,
    .service-card__number.cb06-native-icon {
        top: 20px !important;
        right: 18px !important;

        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;

        margin: 0 !important;
    }

    .cb06-legal__number.cb06-native-badge,
    .cb06-legal__number.cb06-native-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;

        margin-bottom: 13px !important;
    }

    .cb06-legal__number.cb06-native-badge svg,
    .cb06-legal__number.cb06-native-icon svg {
        width: 23px !important;
        height: 23px !important;
    }
}

@media (prefers-reduced-motion: reduce) {

    .cb06-native-badge,
    .cb06-native-icon {
        transition: none !important;
    }
}
