/* Variables */
:root {
    --lev-blue-shadow: rgba(73, 166, 237, 0.15); 
    --lev-blue-border: #49a6ed;                  
    --lev-header-bg: #f0f7fd; 
    --lev-title-color: #1a3b5c; 
    
    --lev-green: #2ecc71;                        
    --lev-green-hover: #27ae60;
    --lev-green-dark: #27ae60;
    
    --lev-border-gray: #e1e8ed;
    --lev-dark: #111;
    
    --lev-quote-color: #2ecc71; 
    --lev-header-bg-quote: #e9f7ef;
    --lev-quote-border: #d4efdf;
}

/* CONTENEUR FLEX */
.lev-flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; 
    gap: 24px; 
    margin: 40px 0;
    width: 100%;
    box-sizing: border-box;
}

/* LA CARTE STANDARD */
.lev-card {
    background: #ffffff;
    border: 1px solid var(--lev-border-gray);
    border-left: 5px solid var(--lev-blue-border); 
    border-radius: 8px;
    box-shadow: 0 10px 25px var(--lev-blue-shadow);
    
    flex: 1 1 215px; 
    min-width: 215px; 
    max-width: 380px;
    
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
    overflow: hidden;
    font-family: inherit;
}

.lev-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(73, 166, 237, 0.25);
}

/* STYLE SUR DEVIS */
.lev-card.lev-is-quote {
    border-left-color: var(--lev-green); 
}
.lev-card.lev-is-quote .lev-header {
    background: var(--lev-header-bg-quote);
    border-bottom-color: var(--lev-quote-border);
}
.lev-card.lev-is-quote .lev-title {
    color: var(--lev-green-dark) !important;
}
.lev-card.lev-is-quote .lev-accroche {
    color: var(--lev-green-dark);
    background: rgba(46, 204, 113, 0.1); 
}

/* EN-TÊTE */
.lev-header {
    background: var(--lev-header-bg); 
    padding: 2rem 1.5rem; 
    text-align: center;
    border-bottom: 1px solid #dcebf7; 
}

.lev-title {
    color: var(--lev-title-color) !important;
    font-size: 1.4rem; 
    font-weight: 800; 
    text-transform: uppercase;
    margin: 0 0 12px 0 !important;
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.lev-price-box { 
    margin: 15px 0 10px 0; 
}

.lev-price {
    font-size: 2.6rem; 
    font-weight: 800;
    color: var(--lev-dark);
    line-height: 1;
}

.lev-price-quote {
    font-size: 2rem; 
    font-weight: 800;
    color: var(--lev-quote-color);
    text-transform: uppercase;
    line-height: 1.1;
    display: block;
}

.lev-old-price {
    text-decoration: line-through;
    color: #95a5a6;
    margin-right: 10px;
    font-size: 1.2rem;
    font-weight: normal;
}

.lev-accroche {
    font-size: 0.85rem;
    color: var(--lev-blue-border); 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 1px;
    margin-top: 8px;
    display: inline-block;
    padding: 4px 10px;
    background: rgba(73, 166, 237, 0.1); 
    border-radius: 4px;
}

/* CORPS */
.lev-body {
    padding: 1.5rem;
    color: #333;
    flex-grow: 1;
    font-size: 15px; /* Base à 15px */
}

.lev-section { margin-bottom: 1rem; }

.lev-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #95a5a6;
    font-weight: 700;
    margin-bottom: 3px;
}

.lev-value {
    font-weight: 700;
    color: var(--lev-dark);
}

.lev-content {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--lev-border-gray);
}

.lev-label-main {
    font-weight: 800;
    color: var(--lev-dark);
    margin-bottom: 0.8rem;
    display: block;
}

/* --- LISTE A PUCES - FORCE BRUTE --- */
.lev-content ul {
    margin: 0 0 1rem 0 !important;
    padding-left: 1.2rem !important; /* Espacement propre */
    list-style-type: disc !important;
    list-style-position: outside !important;
}

/* Cible le texte de la liste, qu'il soit dans un li, un p ou un span */
.lev-card .lev-body .lev-content ul li,
.lev-card .lev-body .lev-content ul li p,
.lev-card .lev-body .lev-content ul li span {
    font-family: inherit !important;
    font-size: 15px !important; /* TAILLE FIXE EN PIXELS */
    line-height: 1.5 !important;
    color: #444 !important;
    margin-bottom: 6px !important;
    text-indent: 0 !important;
}

.lev-content li::before {
    content: none !important;
    display: none !important;
}
/* ----------------------------------- */

/* PIED DE PAGE */
.lev-footer {
    background: #fff;
    padding: 1.5rem;
    text-align: center;
}

.lev-punchline {
    font-weight: 600;
    color: var(--lev-dark);
    margin-bottom: 1.2rem;
    font-size: 15px; /* Idem pour la punchline */
    line-height: 1.4;
    font-style: italic;
}

.lev-cta-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* BOUTON VERT */
.lev-cta-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    height: 52px !important; 
    padding: 0 10px !important; 
    
    background: var(--lev-green);
    color: #ffffff !important;
    
    font-size: 16px !important;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    
    border-radius: 12px; 
    border: none;
    cursor: pointer;
    
    transition: background 0.2s, transform 0.2s;
    animation: lev-cta-halo 3s infinite;
}

.lev-cta-button:hover {
    background: var(--lev-green-hover);
    transform: translateY(-2px);
    animation-play-state: paused;
}

/* BOUTON BLEU */
.lev-cta-button.lev-btn-blue {
    background: var(--lev-blue-border); 
    animation: lev-cta-halo-blue 3s infinite;
}
.lev-cta-button.lev-btn-blue:hover {
    background: #3498db;
}

/* ANIMATIONS */
@keyframes lev-cta-halo {
    0% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.45); }
    70% { box-shadow: 0 0 0 10px rgba(46, 204, 113, 0); }
    100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }
}

@keyframes lev-cta-halo-blue {
    0% { box-shadow: 0 0 0 0 rgba(73, 166, 237, 0.45); }
    70% { box-shadow: 0 0 0 10px rgba(73, 166, 237, 0); }
    100% { box-shadow: 0 0 0 0 rgba(73, 166, 237, 0); }
}

@media (max-width: 768px) {
    .lev-card { max-width: 100%; }
}