/* Retraite Maurice — Maurice ou la France (gabarits/blocs/france.html), et le duel en deux barres (accueil, calculateur). */
.fr-sec{position:relative}
.fr-head{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end}
.fr-head p{font-size:17px;line-height:1.65;color:#41607f;max-width:620px}
.fr-cles{display:grid;gap:10px}
.fr-cles div{padding:16px 20px;border-radius:20px;background:#e6f6ee}
.fr-cles div+div{background:var(--ice)}
.fr-cles b{display:block;font-size:30px;letter-spacing:-.03em;color:var(--navy-d)}
.fr-cles span{font-size:14.5px;color:#41607f}
.fr-g{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;margin-top:32px}
.fr-barres{margin:0;padding:24px 26px;border-radius:28px;background:#fff;border:1px solid rgba(15,58,107,.08);box-shadow:0 30px 60px -46px rgba(15,58,107,.7)}
.fr-barres figcaption{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6d86a0;margin-bottom:12px}
.fr-l{display:grid;grid-template-columns:132px 1fr 76px;gap:12px;align-items:center;padding:4px 6px;margin:0 -6px;border-radius:10px;cursor:default;outline:0}
.fr-l:hover,.fr-l:focus-visible{background:#f2f8fd}
.fr-n{font-size:14px;color:#41607f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-mer{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:var(--ice);padding:2px 6px;border-radius:999px;margin-left:4px}
.fr-p{height:14px}
.fr-p i{display:block;height:100%;width:var(--w);border-radius:0 4px 4px 0;background:#c6d5e4;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--d))}
.fr-barres.in .fr-p i{transform:none}
.fr-l b{font-size:14px;font-weight:600;color:#41607f;text-align:right;white-space:nowrap}
.fr-mu{margin:6px -6px;padding:8px 6px;background:#eaf7f7}
.fr-mu .fr-n,.fr-mu b{font-weight:700;color:var(--navy-d);font-size:15px}
.fr-mu .fr-p{height:18px}
.fr-mu .fr-p i{background:linear-gradient(90deg,var(--lagoon),var(--blue))}
.fr-tip{position:absolute;z-index:20;width:250px;padding:12px 14px;border-radius:14px;background:var(--navy-d);color:#fff;font-size:13px;line-height:1.5;box-shadow:0 20px 40px -20px rgba(10,37,71,.8);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s}
.fr-tip.on{opacity:1;transform:none}
.fr-tip b{display:block;margin-bottom:4px;font-size:14px}
.fr-tip span{display:flex;justify-content:space-between;gap:10px;color:#cfe3f2}
.fr-tip i{font-style:normal;font-weight:600;color:#fff}
.fr-detail{padding:24px 26px;border-radius:28px;background:#fff;border:1px solid rgba(15,58,107,.08);box-shadow:0 30px 60px -46px rgba(15,58,107,.7)}
.fr-choix{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--navy-d)}
.fr-choix select{padding:10px 14px;border-radius:12px;border:1.5px solid rgba(28,125,179,.25);background:#fff;font:600 15px Outfit,sans-serif;color:var(--navy-d);cursor:pointer}
.fr-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.fr-table th,.fr-table td{padding:11px 4px;border-bottom:1px dashed rgba(15,58,107,.14);text-align:right;white-space:nowrap}
.fr-table th:first-child{text-align:left;font-weight:500;color:#41607f;white-space:normal}
.fr-table thead th{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6d86a0;border-bottom:1.5px solid rgba(15,58,107,.14)}
.fr-table td:nth-child(2){font-weight:700;color:var(--blue)}
.fr-table td:nth-child(3){color:var(--navy-d)}
.fr-table tfoot th,.fr-table tfoot td{border:0;padding-top:14px;font-size:17px;font-weight:700;color:var(--navy-d)}
.fr-ecart{margin-top:14px;padding:14px 16px;border-radius:16px;background:#e6f6ee;font-size:15px;line-height:1.55;color:#24563d}
.fr-ecart b{color:#0f6b3c}
.fr-honnete{margin-top:12px;font-size:13.5px;line-height:1.6;color:#6d86a0}
.fr-honnete b{color:#41607f}
.fr-villa{margin-top:28px}
.fr-villa-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.fr-v{padding:20px 22px;border-radius:22px;background:#fff;border:1px solid rgba(15,58,107,.08)}
.fr-v small{display:block;font-size:14px;line-height:1.45;color:#41607f;min-height:40px}
.fr-v b{display:block;margin:6px 0 2px;font-size:30px;letter-spacing:-.03em;color:var(--navy-d)}
.fr-v span{font-size:12.5px;color:#7d93aa}
.fr-v-mu{background:linear-gradient(140deg,#0a2547,#0f3a6b 60%,#1c7db3);border:0}
.fr-v-mu small,.fr-v-mu span{color:#cfe8f5}.fr-v-mu b{color:#fff}
.fr-sources{margin-top:22px;font-size:12px;line-height:1.65;color:#8aa0b5}
.fr-sources a{color:#6d86a0;text-decoration:underline;text-underline-offset:2px}
@media(max-width:980px){.fr-head,.fr-g{grid-template-columns:1fr;gap:22px}.fr-villa-g{grid-template-columns:1fr}}
@media(max-width:600px){.fr-barres,.fr-detail{padding:18px 16px}.fr-l{grid-template-columns:96px 1fr 64px;gap:8px}.fr-n,.fr-l b{font-size:13px}.fr-mer{display:none}.fr-table{font-size:14px}}
@media(prefers-reduced-motion:reduce){.fr-p i{transform:none}}

/* le duel en deux barres : Maurice face à une ville française (accueil, calculateur ; outils.js duelFrance) */
.duel{margin-top:16px;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(15,58,107,.1)}
.duel-t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;color:var(--navy-d)}
.duel-t select{padding:7px 10px;border-radius:10px;border:1.5px solid rgba(28,125,179,.25);background:#fff;font:600 14px Outfit,sans-serif;color:var(--navy-d);cursor:pointer}
.duel-l{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;margin-top:8px}
.duel-l small{font-size:13px;color:#41607f}
.duel-l b{grid-row:span 2;font-size:20px;letter-spacing:-.02em;color:var(--navy-d);white-space:nowrap}
.duel-l span{height:12px;border-radius:999px;background:#eef3f8;overflow:hidden}
.duel-l i{display:block;height:100%;width:0;border-radius:999px;background:#c6d5e4;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.duel-l.mu i{background:linear-gradient(90deg,var(--lagoon),var(--blue))}
.duel-l.mu b{color:var(--blue)}
.duel .duel-e{margin:12px 0 0;padding:11px 14px;border-radius:14px;background:#e6f6ee;font-size:14px;line-height:1.5;color:#24563d}
.duel-e b{color:#0f6b3c}
.duel.egal .duel-e{background:#fff4e2;color:#7a4a12}
.duel .duel-n{margin:8px 0 0;font-size:12px;line-height:1.5;color:#8aa0b5}
.duel-n a{color:#6d86a0;text-decoration:underline}
