.rpa {
--rpa-marine: #1a2e4a;
--rpa-or: #b8973b;
--rpa-or-clair: #f5efe0;
--rpa-gris: #5b6472;
--rpa-bord: #dfe3e8;
max-width: 760px;
margin: 2rem auto;
background: #fff;
border: 1px solid var(--rpa-bord);
border-top: 4px solid var(--rpa-or);
border-radius: 6px;
padding: 2rem;
box-shadow: 0 6px 24px rgba(26, 46, 74, .08);
color: var(--rpa-marine);
font-size: 16px;
line-height: 1.5;
box-sizing: border-box;
}
.rpa *, .rpa *::before, .rpa *::after { box-sizing: border-box; }
.rpa-surtitre {
margin: 0 0 .25rem;
font-size: .8rem;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--rpa-or);
font-weight: 600;
}
.rpa-titre {
font-family: Georgia, 'Times New Roman', serif;
font-size: 1.6rem;
font-weight: normal;
margin: 0 0 .5rem;
color: var(--rpa-marine);
line-height: 1.25;
}
.rpa-intro { margin: 0 0 1.5rem; color: var(--rpa-gris); }
.rpa-form { margin: 0; }
.rpa-champ { border: 0; padding: 0; margin: 0 0 1.4rem; min-width: 0; }
.rpa-champ > label, .rpa-champ > legend {
display: block;
font-weight: 600;
margin-bottom: .5rem;
padding: 0;
color: var(--rpa-marine);
}
.rpa-input-euro { position: relative; max-width: 280px; }
.rpa-input-euro input {
width: 100%;
padding: .75rem 2.2rem .75rem .9rem;
font-size: 1.15rem;
border: 1px solid var(--rpa-bord);
border-radius: 4px;
color: var(--rpa-marine);
background: #fff;
-moz-appearance: textfield;
}
.rpa-input-euro input::-webkit-outer-spin-button,
.rpa-input-euro input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rpa-input-euro input:focus { outline: none; border-color: var(--rpa-or); box-shadow: 0 0 0 3px rgba(184, 151, 59, .2); }
.rpa-input-euro span { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: var(--rpa-gris); }
.rpa-aide { margin: .35rem 0 0; font-size: .85rem; color: var(--rpa-gris); }
.rpa-choix { display: flex; flex-wrap: wrap; gap: .5rem; }
.rpa-choix label { cursor: pointer; margin: 0; }
.rpa-choix input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rpa-choix span {
display: block;
border: 1px solid var(--rpa-bord);
border-radius: 4px;
padding: .6rem 1rem;
background: #fff;
transition: border-color .15s, background .15s;
}
.rpa-choix-enfants span { min-width: 3rem; text-align: center; font-weight: 600; }
.rpa-choix-dvh { display: grid; grid-template-columns: repeat(3, 1fr); }
.rpa-choix-dvh span { height: 100%; }
.rpa-choix-dvh strong { display: block; }
.rpa-choix-dvh small { display: block; font-size: .8rem; color: var(--rpa-gris); line-height: 1.35; margin-top: .2rem; }
.rpa-choix label:hover span { border-color: var(--rpa-or); }
.rpa-choix input:checked + span { border-color: var(--rpa-marine); background: var(--rpa-marine); color: #fff; }
.rpa-choix input:checked + span small { color: #d6dbe3; }
.rpa-choix input:focus-visible + span { box-shadow: 0 0 0 3px rgba(184, 151, 59, .35); }
.rpa-resultat {
background: var(--rpa-or-clair);
border-radius: 4px;
padding: 1.5rem;
margin-top: .5rem;
}
.rpa-attente { margin: 0; color: var(--rpa-gris); font-style: italic; }
.rpa-montant-principal { text-align: center; margin-bottom: 1.2rem; }
.rpa-label { display: block; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--rpa-gris); }
.rpa-valeur { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 2.6rem; color: var(--rpa-marine); line-height: 1.2; }
.rpa-sous { color: var(--rpa-gris); }
.rpa-detail { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin: 0; }
.rpa-detail div { background: #fff; border-radius: 4px; padding: .6rem; text-align: center; }
.rpa-detail dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--rpa-gris); }
.rpa-detail dd { margin: .2rem 0 0; font-weight: 600; }
.rpa-alerte {
margin: 1rem 0 0;
padding: .75rem 1rem;
border-left: 3px solid var(--rpa-or);
background: #fff;
font-size: .9rem;
}
.rpa-avertissement { font-size: .85rem; color: var(--rpa-gris); margin: 1.2rem 0 0; }
.rpa-cta { text-align: center; margin: 1.2rem 0 0; }
.rpa-bouton, .rpa-bouton:visited {
display: inline-block;
background: var(--rpa-or);
color: #fff !important;
text-decoration: none !important;
padding: .8rem 1.6rem;
border-radius: 4px;
font-weight: 600;
transition: background .15s;
}
.rpa-bouton:hover, .rpa-bouton:focus { background: var(--rpa-marine); }
@media (max-width: 640px) {
.rpa { padding: 1.25rem; }
.rpa-choix-dvh { grid-template-columns: 1fr; }
.rpa-detail { grid-template-columns: repeat(2, 1fr); }
.rpa-valeur { font-size: 2.1rem; }
} .rpa select, .rpa input[type="date"], .rpa input[type="month"] {
width: 100%; max-width: 100%; padding: .7rem .8rem; font-size: 1rem; border: 1px solid var(--rpa-bord);
border-radius: 4px; color: var(--rpa-marine); background: #fff; font-family: inherit;
}
.rpa select:focus, .rpa input[type="date"]:focus, .rpa input[type="month"]:focus { outline: none; border-color: var(--rpa-or); box-shadow: 0 0 0 3px rgba(184,151,59,.2); }
.rpa-euro { position: relative; }
.rpa-euro input { width: 100%; padding: .7rem 2.2rem .7rem .8rem; font-size: 1.05rem; border: 1px solid var(--rpa-bord); border-radius: 4px; color: var(--rpa-marine); -moz-appearance: textfield; }
.rpa-euro input::-webkit-outer-spin-button, .rpa-euro input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rpa-euro input:focus { outline: none; border-color: var(--rpa-or); box-shadow: 0 0 0 3px rgba(184,151,59,.2); }
.rpa-euro span { position: absolute; right: .9rem; top: 50%; transform: translateY(-50%); color: var(--rpa-gris); }
.rpa-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.rpa-cas { display: grid; grid-template-columns: 1fr 1fr; }
.rpa-cas span { height: 100%; }
.rpa-cas strong { display: block; }
.rpa-cas small { display: block; font-size: .82rem; color: var(--rpa-gris); margin-top: .2rem; line-height: 1.35; }
.rpa-choix input:checked + span small { color: #d6dbe3; }
.rpa-case { display: flex !important; align-items: center; gap: .45rem; font-weight: normal !important; font-size: .88rem; margin-top: .45rem; color: var(--rpa-gris) !important; }
.rpa-principal { text-align: center; margin-bottom: 1.2rem; }
.rpa-tableau { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1rem; background: #fff; border-radius: 4px; }
.rpa-tableau table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .9rem; margin: 0; }
.rpa-tableau th { background: var(--rpa-marine); color: #fff; padding: .55rem .7rem; text-align: left; font-weight: 600; }
.rpa-tableau td { padding: .5rem .7rem; border-bottom: 1px solid var(--rpa-bord); color: var(--rpa-marine); }
.rpa-tableau tr.rpa-prescrit td { color: #9aa1ab; background: #f6f6f6; }
.rpa-note { font-size: .85rem; color: var(--rpa-gris); margin: .6rem 0 0; }
.rpa-alerte { margin: 0; padding: .75rem 1rem; border-left: 3px solid var(--rpa-or); background: #fff; font-size: .92rem; }
.rpa-avertissement { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--rpa-bord); }
.rpa-avertissement p { font-size: .85rem; color: var(--rpa-gris); margin: 0 0 .6rem; }
.rpa-avertissement strong { color: var(--rpa-marine); }
.rpa-source { font-style: italic; }
.rpa-detail { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; }
@media (max-width: 640px) {
.rpa-grille, .rpa-cas { grid-template-columns: 1fr; }
}
.rpa-mois { display: grid; grid-template-columns: 1.4fr 1fr; gap: .5rem; }
.rpa-mois select { width: 100%; padding: .7rem .6rem; font-size: 1rem; border: 1px solid var(--rpa-bord); border-radius: 4px; color: var(--rpa-marine); background: #fff; }