.ilb {
--ilb-fuchsia: #cc00c0;
--ilb-fuchsia-vif: #ff1cf3;
--ilb-fuchsia-fonce: #990099;
--ilb-lavande: #fdf4fe;
--ilb-rose: #e8b8e8;
--ilb-texte: #333333;
--ilb-gris: #5f5a60;
max-width: 760px;
margin: 2rem auto;
background: #fff;
border: 1px solid var(--ilb-rose);
border-top: 5px solid var(--ilb-fuchsia);
border-radius: 8px;
padding: 2rem;
box-shadow: 0 6px 24px rgba(204, 0, 192, .10);
color: var(--ilb-texte);
font-size: 16px;
line-height: 1.5;
box-sizing: border-box;
}
.ilb *, .ilb *::before, .ilb *::after { box-sizing: border-box; }
.ilb-entete { background: var(--ilb-lavande); border-bottom: 1px solid var(--ilb-rose); margin: -2rem -2rem 1.5rem; padding: 1.5rem 2rem 1rem; border-radius: 6px 6px 0 0; }
.ilb-surtitre {
display: inline-block;
margin: 0 0 .5rem;
padding: .2rem .7rem;
font-size: .78rem;
letter-spacing: .1em;
text-transform: uppercase;
color: #fff;
background: var(--ilb-fuchsia);
border-radius: 20px;
font-weight: 700;
}
.ilb-titre {
font-size: 1.55rem;
font-weight: 700;
margin: 0 0 .5rem;
color: var(--ilb-fuchsia-fonce);
line-height: 1.25;
}
.ilb-intro { margin: 0; color: var(--ilb-gris); }
.ilb-intro strong { color: var(--ilb-fuchsia); }
.ilb-form { margin: 0; }
.ilb-champ { border: 0; padding: 0; margin: 0 0 1.4rem; min-width: 0; }
.ilb-champ > label, .ilb-champ > legend {
display: block;
font-weight: 700;
margin-bottom: .5rem;
padding: 0;
color: var(--ilb-texte);
}
.ilb-input-euro { position: relative; max-width: 280px; }
.ilb-input-euro input {
width: 100%;
padding: .75rem 2.2rem .75rem .9rem;
font-size: 1.15rem;
border: 2px solid var(--ilb-rose);
border-radius: 6px;
color: var(--ilb-texte);
background: #fff;
-moz-appearance: textfield;
}
.ilb-input-euro input::-webkit-outer-spin-button,
.ilb-input-euro input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ilb-input-euro input:focus { outline: none; border-color: var(--ilb-fuchsia); box-shadow: 0 0 0 3px rgba(255, 28, 243, .18); }
.ilb-input-euro span { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: var(--ilb-gris); }
.ilb-aide { margin: .35rem 0 0; font-size: .85rem; color: var(--ilb-gris); }
.ilb-choix { display: flex; flex-wrap: wrap; gap: .5rem; }
.ilb-choix label { cursor: pointer; margin: 0; }
.ilb-choix input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ilb-choix span {
display: block;
border: 2px solid var(--ilb-rose);
border-radius: 6px;
padding: .6rem 1rem;
background: #fff;
transition: border-color .15s, background .15s;
}
.ilb-choix-enfants span { min-width: 3rem; text-align: center; font-weight: 700; }
.ilb-choix-dvh { display: grid; grid-template-columns: repeat(3, 1fr); }
.ilb-choix-dvh span { height: 100%; }
.ilb-choix-dvh strong { display: block; }
.ilb-choix-dvh small { display: block; font-size: .8rem; color: var(--ilb-gris); line-height: 1.35; margin-top: .2rem; }
.ilb-choix label:hover span { border-color: var(--ilb-fuchsia); background: var(--ilb-lavande); }
.ilb-choix input:checked + span { border-color: var(--ilb-fuchsia); background: var(--ilb-fuchsia); color: #fff; }
.ilb-choix input:checked + span small { color: #fbe3fa; }
.ilb-choix input:focus-visible + span { box-shadow: 0 0 0 3px rgba(255, 28, 243, .35); }
.ilb-resultat {
background: var(--ilb-fuchsia);
border: 0;
color: #fff;
border-radius: 6px;
padding: 1.5rem;
margin-top: .5rem;
}
.ilb-attente { margin: 0; color: #fff; font-style: italic; }
.ilb-montant-principal { text-align: center; margin-bottom: 1.2rem; }
.ilb-label { display: block; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: #fff; }
.ilb-valeur { display: block; font-size: 2.6rem; font-weight: 700; color: #fff; line-height: 1.2; }
.ilb-sous { color: #fff; }
.ilb-detail { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin: 0; }
.ilb-detail div { background: #fff; border: 0; border-radius: 6px; padding: .6rem; text-align: center; }
.ilb-detail dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ilb-gris); }
.ilb-detail dd { margin: .2rem 0 0; font-weight: 700; color: var(--ilb-fuchsia-fonce); }
.ilb-alerte {
margin: 1rem 0 0;
padding: .75rem 1rem;
border-left: 3px solid var(--ilb-fuchsia);
background: #fff;
color: var(--ilb-texte);
font-size: .9rem;
}
.ilb-avertissement { font-size: .85rem; color: var(--ilb-gris); margin: 1.2rem 0 0; }
.ilb-cta { text-align: center; margin: 1.2rem 0 0; }
.ilb-bouton, .ilb-bouton:visited {
display: inline-block;
background: var(--ilb-fuchsia);
color: #fff !important;
text-decoration: none !important;
padding: .75rem 1.5rem;
border-radius: 4px;
font-weight: 700;
transition: background .15s;
}
.ilb-bouton:hover, .ilb-bouton:focus { background: var(--ilb-fuchsia-fonce); }
@media (max-width: 640px) {
.ilb { padding: 1.25rem; }
.ilb-entete { margin: -1.25rem -1.25rem 1.25rem; padding: 1.25rem; }
.ilb-choix-dvh { grid-template-columns: 1fr; }
.ilb-detail { grid-template-columns: repeat(2, 1fr); }
.ilb-valeur { font-size: 2.1rem; }
} .ilb { max-width: 820px; }
.ilb-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.ilb input[type="date"], .ilb select { width: 100%; padding: .7rem .8rem; font-size: 1rem; border: 2px solid var(--ilb-rose); border-radius: 6px; color: var(--ilb-texte); background: #fff; font-family: inherit; }
.ilb input[type="date"]:focus, .ilb select:focus { outline: none; border-color: var(--ilb-fuchsia); box-shadow: 0 0 0 3px rgba(255,28,243,.18); }
.ilb-euro { position: relative; }
.ilb-euro input { width: 100%; padding: .6rem 2rem .6rem .7rem; font-size: 1rem; border: 2px solid var(--ilb-rose); border-radius: 6px; color: var(--ilb-texte); -moz-appearance: textfield; }
.ilb-euro input::-webkit-outer-spin-button, .ilb-euro input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ilb-euro input:focus { outline: none; border-color: var(--ilb-fuchsia); }
.ilb-euro span { position: absolute; right: .7rem; top: 50%; transform: translateY(-50%); color: var(--ilb-gris); font-size: .9rem; }
.ilb-salaires { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; }
.ilb-salaires label { font-size: .78rem; font-weight: 600; color: var(--ilb-gris); display: block; margin-bottom: .2rem; }
.ilb-outil { background: #fff; border: 1px solid var(--ilb-fuchsia); color: var(--ilb-fuchsia); border-radius: 4px; padding: .4rem .8rem; font-size: .85rem; font-weight: 700; cursor: pointer; margin: .2rem 0 .8rem; }
.ilb-outil:hover { background: var(--ilb-lavande); }
.ilb-motif { display: grid; grid-template-columns: repeat(3, 1fr); }
.ilb-motif span { height: 100%; }
.ilb-motif small { display: block; font-size: .78rem; color: var(--ilb-gris); margin-top: .15rem; line-height: 1.3; }
.ilb-choix input:checked + span small { color: #fbe3fa; }
.ilb-principal { text-align: center; margin-bottom: 1.2rem; }
.ilb-tableau { background: #fff; border-radius: 6px; overflow-x: auto; margin-bottom: 1rem; }
.ilb-tableau table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: .9rem; margin: 0; }
.ilb-tableau th { background: var(--ilb-fuchsia-fonce); color: #fff; padding: .5rem .7rem; text-align: left; }
.ilb-tableau td { padding: .5rem .7rem; border-bottom: 1px solid var(--ilb-rose); color: var(--ilb-texte); }
.ilb-tableau tr.ilb-retenu td { font-weight: 700; color: var(--ilb-fuchsia-fonce); }
.ilb-note { font-size: .85rem; color: #fff; margin: .6rem 0 0; }
.ilb-alerte { margin: 0 0 .8rem; padding: .75rem 1rem; border-left: 3px solid var(--ilb-fuchsia); background: #fff; font-size: .92rem; color: var(--ilb-texte); }
.ilb-avertissement p { font-size: .85rem; color: var(--ilb-gris); margin: 0 0 .6rem; }
.ilb-section { font-weight: 700; color: var(--ilb-fuchsia-fonce); margin: 1.4rem 0 .6rem; padding-bottom: .3rem; border-bottom: 1px solid var(--ilb-rose); }
.ilb-detail { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; }
@media (max-width: 640px) {
.ilb-grille, .ilb-motif { grid-template-columns: 1fr; }
.ilb-salaires { grid-template-columns: repeat(2, 1fr); }
}