@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css');
.list-group-custom {
    display: flex ; flex-direction: column; padding-left: 0; margin-bottom: 0; border: none;
}
.list-group-custom .list-group-item {
    position: relative;
    display: block;
    padding: 0.5rem 1rem;
    color: #212529;
    text-decoration: none;
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
}
.section-box {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}
.section-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 15px;
    border-bottom: 2px solid #0d5f7d;
    padding-bottom: 5px;
    color: #0d5f7d;
}

.section-box-form {
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

#loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    background: rgba(255, 255, 255, 0.9); /* Léger fond translucide */
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column; /* Empile le texte et le spinner */
    align-items: center; /* Centre horizontalement */
    justify-content: center; /* Centre verticalement */
    width: 200px; /* Ajustez selon vos besoins */
    height: 200px; /* Ajustez selon vos besoins */
}

.spinner {
    width: 80px; /* Taille augmentée */
    height: 80px; /* Taille augmentée */
    border: 6px solid transparent; /* Bordure plus épaisse */
    border-top: 6px solid #3498db; /* Couleur de la rotation */
    border-radius: 50%;
    animation: spin 1.5s linear infinite; /* Animation fluide */
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

#loader p {
    margin: 20px 0 0; /* Espacement entre le texte et le spinner */
    font-size: 16px; /* Taille du texte */
    color: #333; /* Couleur du texte */
}

.last-preview{
    max-height:150px;
    object-fit:cover
}
.carousel{
    padding: 48px 0;
    background-color: #cce0e8;
}
.carousel .swiper-slide a{
    display: block;
    max-width: 180px;
    margin: 0 auto;
}
.carousel .swiper-button-next, .carousel .swiper-button-prev{
    color: #0d5f7d;
}

:root {
    --wc-danger: #fe765e !important;      /* rouge principal */
    --wc-danger-100: #ffe6e0 !important;  /* rouge très clair */
    --wc-danger-200: #ffc8bb !important;  /* rouge clair */

    --wc-success: #37b24d !important;     /* vert principal */
    --wc-success-100: #eaf8f2 !important;  /* vert très clair */
    --wc-success-200: #cfe9da !important;  /* vert clair */

    --wc-radius: 1.25rem !important;
}

/* Cartes plans */
.plan-card {
    border: 0 !important;
    border-radius: var(--wc-radius) !important;
    box-shadow: 0 15px 40px rgba(16, 24, 40, 0.08) !important;
    overflow: hidden !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    height: 100% !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
}
.plan-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 50px rgba(16,24,40,.12) !important;
}

.plan-header {
    color: #fff !important;
    padding: 1.1rem 1.25rem 1rem !important;
}
.plan-header .badge-soft {
    display: inline-block !important;
    background: rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    color: #fff !important;
    padding: .25rem .6rem !important;
    border-radius: 999px !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    letter-spacing: .2px !important;
}

.plan-danger .plan-header {
    background: linear-gradient(135deg, var(--wc-danger) 0%, #d55340 100%) !important;
}
.plan-success .plan-header {
    background: linear-gradient(135deg, var(--wc-success) 0%, #2a8f46 100%) !important;
}

.plan-body {
    padding: .75rem 0 .5rem !important;
}

.plan-items .list-group-item {
    padding: .95rem 1.25rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bs-border-color) !important;
    background: transparent !important;
}
.plan-items .list-group-item:last-child {
    border-bottom: 0 !important;
}

.item-title {
    font-weight: 500 !important;
}
.item-amount {
    font-feature-settings: "tnum" on, "lnum" on !important;
    font-variant-numeric: tabular-nums lining-nums !important;
}

.item-amount.negative {
    color: var(--wc-danger) !important;
}
.item-amount.positive {
    color: var(--wc-success) !important;
}

.plan-footer {
    padding: 1.25rem !important;
    background: linear-gradient(0deg, rgba(16,24,40,.02), rgba(16,24,40,0)) !important;
}

.btn-cta {
    display: block !important;
    width: 100% !important;
    padding: .9rem 1.25rem !important;
    border-radius: .9rem !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
}
.btn-cta-danger {
    background: var(--wc-danger-100) !important;
    color: #8b1f2a !important;
    border: 1px solid var(--wc-danger-200) !important;
}
.btn-cta-danger:hover {
    background: #fbe0e4 !important;
}

.btn-cta-success {
    background: var(--wc-success-100) !important;
    color: #164c19 !important;
    border: 1px solid var(--wc-success-200) !important;
}
.btn-cta-success:hover {
    background: #e1f2e6 !important;
}

/* Petits détails */
.divider-dot {
    position: relative !important;
    height: 1px !important;
    background: var(--bs-border-color) !important;
    margin: .25rem 1.25rem 0 !important;
}
.divider-dot::after {
    content: "" !important;
    position: absolute !important;
    inset: -3px auto auto 50% !important;
    transform: translateX(-50%) !important;
    width: 6px !important;
    height: 6px !important;
    background: var(--bs-border-color) !important;
    border-radius: 999px !important;
    opacity: .8 !important;
}
