/* assets/css/assuriva-theme.css */

/* Palette Assuriva */
:root{
    --assuriva-violet: #7f5da8;   /* ton violet marque */
    --assuriva-violet-2: #9b7bc1; /* plus clair */
    --assuriva-dark: #111111;
}

/* Remonte la couleur "primary" visuelle sur tes composants */
a { color: var(--assuriva-violet); }
a:hover { color: #6f4f98; }

/* Boutons */
.btn-primary{
    background-color: var(--assuriva-violet) !important;
    border-color: var(--assuriva-violet) !important;
}
.btn-outline-primary{
    color: var(--assuriva-violet) !important;
    border-color: var(--assuriva-violet) !important;
}
.btn-outline-primary:hover{
    background-color: var(--assuriva-violet) !important;
    border-color: var(--assuriva-violet) !important;
    color: #fff !important;
}

/* Badges (optionnel si tu veux aligner) */
.badge-blue{ background-color: var(--assuriva-violet) !important; }

/* Nouveau gradient Assuriva pour header/cards */
.bg-gradient-x-assuriva{
    background-image: linear-gradient(118deg, var(--assuriva-violet), #2b1f3a) !important;
}

/* Login : fond + overlay pour mieux lire */
.bg-assuriva-login{
    background: url("/assets/img/assuriva/hero-login.png") center/cover no-repeat fixed;
    position: relative;
}
.bg-assuriva-login::before{
    content:"";
    position:absolute; inset:0;
    background: rgba(10,10,10,.55);
}
.bg-assuriva-login .app-content{ position: relative; z-index: 1; }

/* Cartes explicatives */
.assuriva-info{
    border-left: 6px solid var(--assuriva-violet);
    background: #fff;
}
.assuriva-info .assuriva-info-title{
    color: var(--assuriva-dark);
    font-weight: 700;
}
.assuriva-kpi-icon{
    background: var(--assuriva-violet) !important;
}
body.menu-collapsed .navbar-brand {
    justify-content: center;
}

.logo-icon {
    transition: transform .2s ease;
}
.logo-icon:hover {
    transform: scale(1.05);
}
/* 1) Sécurise la taille des logos dans la navbar */
.navbar-header .navbar-brand img {
    height: 34px;
    width: auto;
    max-width: 180px;
    vertical-align: middle;
}

/* 2) Par défaut (menu ouvert) : on affiche le logo complet seulement */
.navbar-header .navbar-brand .logo-icon {
    display: none !important;
}
.navbar-header .navbar-brand .logo-full {
    display: inline-block !important;
}

/* 3) Menu réduit : on inverse (selon la classe que ton thème ajoute) */
body.menu-collapsed .navbar-header .navbar-brand .logo-full,
body.vertical-menu-collapsed .navbar-header .navbar-brand .logo-full {
    display: none !important;
}

body.menu-collapsed .navbar-header .navbar-brand .logo-icon,
body.vertical-menu-collapsed .navbar-header .navbar-brand .logo-icon {
    display: inline-block !important;
    max-width: 44px; /* évite qu'il devienne énorme */
}
/* Bloc étape */
.assuriva-step {
    border-radius: 14px;
    border: 1px solid #eee;
    transition: all .2s ease;
}

.assuriva-step:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

/* Icône */
.assuriva-step-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #7f5da8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}

.assuriva-step-icon i {
    font-size: 28px;
}

/* Titre */
.assuriva-step-title {
    font-weight: 600;
    margin-bottom: 6px;
    color: #2c2c2c;
}
.assuriva-ceo-block{
    border:none;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 8px 26px rgba(0,0,0,.08);
    background:#fff;
    position:relative;
}

/* bande violette */
.assuriva-ceo-block::before{
    content:"";
    position:absolute;
    left:0; top:0;
    width:6px; height:100%;
    background:#7f5da8;
    z-index:2;
}

.assuriva-ceo-wrap{
    display:flex;
    min-height:190px;
}

/* zone image */
.assuriva-ceo-media{
    width:280px;
    background-color:#2b1f3a; /* fallback si pas d’image */
    background-size:cover;
    background-position:center;
    position:relative;
}

/* overlay violet pour cohérence charte */
.assuriva-ceo-media::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(135deg, rgba(127,93,168,.55), rgba(0,0,0,.15));
}

/* badge sur l’image */
.assuriva-ceo-badge{
    position:absolute;
    left:16px; bottom:16px;
    z-index:3;
    background:rgba(255,255,255,.92);
    color:#2b2b2b;
    font-weight:700;
    font-size:12px;
    padding:8px 10px;
    border-radius:12px;
}

/* contenu texte */
.assuriva-ceo-content{
    padding:22px 26px;
    background:linear-gradient(90deg, #f4f1f8 0%, #ffffff 55%);
    flex:1;
}

.assuriva-ceo-header h4{
    margin:0;
    font-weight:800;
    color:#2b2b2b;
}
.assuriva-ceo-header span{
    font-size:13px;
    color:#7f5da8;
    font-weight:700;
}

.assuriva-ceo-quote {
    margin: 18px 0 18px;
    padding-left: 18px;
    border-left: 4px solid #7f5da8;

    font-style: italic;
    font-size: 18px;          /* ⬅️ plus grand */
    line-height: 1.7;
    color: #4f3c66;           /* violet grisé plus premium */
    font-weight: 500;
}


.assuriva-ceo-text{
    max-width:90%;
}
.assuriva-ceo-text p{
    margin:0 0 10px 0;
    color:#555;
    line-height:1.6;
}

/* responsive */
@media (max-width: 768px){
    .assuriva-ceo-wrap{ flex-direction:column; }
    .assuriva-ceo-media{ width:100%; height:200px; }
    .assuriva-ceo-content{ padding:18px 18px; }
}
.assuriva-hc-logo{ height:40px; width:auto; }

.assuriva-encart{
    border:none;
    border-radius:16px;
    box-shadow:0 8px 26px rgba(0,0,0,.08);
}

/* Images en “background cover” pour obtenir le rendu site (pas d’étirement) */
.assuriva-encart-img{
    height: 420px;              /* gros visuel gauche comme sur le site */
    border-radius: 12px;
    background-size: cover;
    background-position: center;
}
.assuriva-encart-img-sm{
    height: 180px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
}

.assuriva-encart-title{
    font-weight:800;
    text-transform:uppercase;
    color:#7f5da8;
    letter-spacing:.5px;
    font-size: 22px;
}
.assuriva-encart-subtitle{
    color:#7f5da8;
    font-weight:600;
    margin-bottom: 14px;
    opacity:.85;
}

.assuriva-encart-punch{
    font-weight:800;
    font-size: 22px;
    color:#6b5a86;
    line-height:1.2;
}

.assuriva-right-list {
    border-left: 2px solid rgba(127,93,168,.4);
    padding-left: 18px;
    margin-bottom: 14px;
}

.assuriva-right-item {
    font-size: 22px;
    font-weight: 700;
    color: #7f5da8;
    margin-bottom: 14px;
    line-height: 1.2;
}

.assuriva-encart .btn-primary {
    padding: 14px 26px;
    font-size: 18px;
    font-weight: 700;
    border-radius: 10px;
    background-color: #7f5da8;
    border: none;
    box-shadow: 0 6px 16px rgba(127,93,168,.35);
    transition: all .2s ease;
}

.assuriva-encart .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(127,93,168,.45);
}
/* Variante Dérogations */
.assuriva-derogation {
    border-left: 6px solid #7f5da8;
}

/* Icône */
.assuriva-derogation-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(127,93,168,.12);
    color: #7f5da8;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}
.assuriva-derogation-icon i {
    font-size: 32px;
}

/* Titres */
.assuriva-derogation-title {
    font-weight: 800;
    margin-bottom: 4px;
    color: #2b2b2b;
}
.assuriva-derogation-subtitle {
    font-size: 15px;
    color: #7f5da8;
    font-weight: 600;
    margin-bottom: 12px;
}

/* Listes */
.assuriva-inline-list {
    padding-left: 0;
    list-style: none;
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
}
.assuriva-inline-list li {
    font-weight: 700;
    color: #7f5da8;
}

.assuriva-check-list {
    padding-left: 0;
    list-style: none;
}
.assuriva-check-list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 6px;
    color: #555;
}
.assuriva-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #7f5da8;
    font-weight: 700;
}
/* Image */
.assuriva-derog-img{
    height: 260px;
    border-radius: 14px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

/* Titre parcours */
.assuriva-derog-parcours-title{
    font-weight: 800;
    color: #7f5da8;
    margin-bottom: 12px;
    font-size: 18px;
}

/* Ajustement desktop */
@media (min-width: 992px){
    .assuriva-derogation .card-body{
        padding: 28px 34px;
    }
}
.assuriva-guide {
    border: none;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.assuriva-guide-title {
    font-weight: 800;
    color: #2b2b2b;
}
.assuriva-guide-title span {
    color: #7f5da8;
}



.assuriva-bullet {
    padding-left: 18px;
}
.assuriva-bullet li {
    margin-bottom: 6px;
}

.assuriva-emphasis {
    font-weight: 700;
    color: #7f5da8;
}
/* Évite que les 2 cartes soient “collées” au bord et donne de l’air */
.assuriva-guide { height: 100%; }

/* Aligne les cartes en hauteur quand elles sont côte à côte */
@media (min-width: 992px){
    .assuriva-guide { min-height: 240px; }
}
.assuriva-guide .card-body::after{
    content:"";
    display:block;
    clear:both;
}
.assuriva-guide .col-md-3,
.assuriva-guide .col-md-9{
    padding-left:0;
    padding-right:0;
}
/* Scoped à la section Assuriva uniquement */
.assuriva-section .card {
    border-radius: 20px;
    overflow: hidden;
}

.assuriva-section .card-header {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.assuriva-section .card-footer {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}


.assuriva-page-brand {
    /*padding: 20px 0 30px;*/
}

/* Logo Assuriva */
.assuriva-page-logo {
    max-height: 200px;
}

/* Texte "Une marque de" */
.assuriva-page-link {
    margin-top: 12px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #7f5da8;
}

/* Logo Help Courtage */
.assuriva-page-hc {
    margin-top: 10px;
    height: 150px;
    opacity: 1;
}
/* ================================
   BRANDING 3 COLONNES – PAGE
   ================================ */

.assuriva-brand-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px; /* espace entre colonnes */
    text-align: center;
}

/* Colonnes */
.assuriva-brand-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Colonne texte */
.assuriva-brand-col--link {
    white-space: nowrap;
}

/* Mobile : on repasse en vertical */
@media (max-width: 768px) {
    .assuriva-brand-row {
        flex-direction: column;
        gap: 14px;
    }
}
/* ================================
   ENCAP "ASSURIVA fait la différence"
   Scope: .assuriva-card-difference
   ================================ */

.assuriva-card-difference {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(127,93,168,0.14);
    background: linear-gradient(135deg, rgba(127,93,168,0.07), rgba(255,255,255,1) 55%);
}

.assuriva-diff-title {
    font-weight: 800;
    font-size: 2.45rem;
    color: #2b2b2b;
}

.assuriva-diff-title span {
    color: #7f5da8;
}

.assuriva-diff-list {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.assuriva-diff-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    color: #4b4b4b;
    line-height: 1.55;
}

/* puce "check" */
.assuriva-diff-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(127,93,168,0.14);
    color: #7f5da8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 12px;
}

/* Illustration */
.assuriva-diff-illu {
    max-height: 320px;
    border-radius: 18px;
}

/* Bouton (si tu as déjà ton style, supprime cette partie) */
.btn-assuriva-primary {
    background: #7f5da8;
    border-color: #7f5da8;
    color: #fff;
    padding: 10px 16px;
    border-radius: 12px;
    font-weight: 700;
}
.btn-assuriva-primary:hover {
    filter: brightness(0.95);
    color: #fff;
}
 .assuriva-cta{
     border: 1px solid rgba(127, 93, 168, 0.25);
     border-left: 6px solid #7f5da8;
     box-shadow: 0 6px 18px rgba(0,0,0,0.06);
 }
.assuriva-cta-illu{
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.assuriva-cta-title{
    font-size: 1.25rem;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: .35rem;
}
.assuriva-cta-text{
    color: #6b6f82;
    line-height: 1.35;
}
@media (max-width: 575px){
    .assuriva-cta-illu{ margin-right: 0 !important; }
}
/* CTA Nouvelle demande */
.assuriva-cta {
    border-left: 5px solid #7f5da8;
}

.assuriva-cta-illu {
    max-height: 260px;
}

/* Titre CTA */
.assuriva-cta-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #7f5da8;
    margin-bottom: 10px;
}

/* Texte CTA */
.assuriva-cta-text {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.5;
}
.assuriva-cta-title {
    font-size: 1.4rem;
    font-weight: 700;
}

.assuriva-cta-text {
    font-size: 0.95rem;
    color: #4b5563;
}

.assuriva-cta-list {
    padding-left: 1rem;
    margin-bottom: 0;
}

.assuriva-cta-list li {
    margin-bottom: 4px;
    font-size: 0.9rem;
}

.assuriva-cta-hint {
    font-size: 0.8rem;
    color: #6b7280;
}
