/* Theme Budget-Famille — crème & orange/terre, distinct du thème bleu principal */
:root{--bg:#faf5ea;--card:#fffcf4;--ink:#3a2e22;--mut:#8a775e;--acc:#c2410c;--acc2:#d97706;--acc3:#92400e;--bd:#e7dcc6;--ok:#3f6212;--err:#b91c1c}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
.wrap{max-width:880px;margin:0 auto;padding:16px}
header{background:linear-gradient(135deg,#9a3412,#ea580c);color:#fff;padding:30px 16px;text-align:center}
header h1{font-size:1.55rem;margin-bottom:6px;color:#fff}
header p{opacity:.94;font-size:.95rem}
nav{background:#fffdf6;border-bottom:2px solid var(--bd);padding:8px 16px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
nav a{color:var(--acc);text-decoration:none;font-size:.88rem;padding:4px 10px;border-radius:8px;font-weight:600}
nav a:hover{background:#fdeeda}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:20px;margin:16px 0;box-shadow:0 1px 6px rgba(146,64,14,.05)}
.card h2{font-size:1.2rem;margin-bottom:10px;color:var(--acc3)}
.card h3{font-size:1.02rem;margin:14px 0 6px;color:var(--acc3)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:6px}
.tile{display:block;background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);border-top:4px solid var(--acc2)}
.tile:hover{border-color:var(--acc);box-shadow:0 3px 12px rgba(194,65,12,.12)}
.tile strong{color:var(--acc);display:block;margin-bottom:4px;font-size:1rem}
.tile span{color:var(--mut);font-size:.86rem}
label{display:block;font-size:.88rem;color:var(--mut);margin:10px 0 4px;font-weight:600}
input,select{width:100%;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;font-size:1rem;background:#fff}
input:focus,select:focus{outline:2px solid var(--acc);border-color:transparent}
button{background:linear-gradient(135deg,#c2410c,#ea580c);color:#fff;border:none;border-radius:10px;padding:12px 18px;font-size:1rem;cursor:pointer;margin-top:12px;width:100%;font-weight:700}
button:hover{filter:brightness(1.06)}
button:disabled{opacity:.6;cursor:wait}
table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.9rem}
th,td{border:1px solid var(--bd);padding:8px 10px;text-align:left}
th{background:#f3e6cf;color:var(--acc3)}
tr:nth-child(even) td{background:#fbf4e6}
.result{background:#fdeeda;border:1px solid #f3cba1;border-radius:12px;padding:16px;margin-top:14px;font-size:1.05rem;font-weight:600;display:none;line-height:1.75}
.result.show{display:block}
.result .sub{font-size:.9rem;font-weight:400;color:var(--mut);margin-top:6px}
.neg{color:var(--err)}
.pos{color:var(--ok)}
.adv{background:#fff8ec;border:1px solid var(--bd);border-radius:10px;padding:10px 12px;margin-top:10px;font-size:.88rem;font-weight:400;line-height:1.7}
.adv strong{color:var(--acc)}
.adv li{margin:4px 0 4px 18px}
.note{background:#fff8ec;border-left:4px solid var(--acc2);padding:10px 14px;border-radius:0 8px 8px 0;font-size:.88rem;color:var(--mut);margin:14px 0}
.cta{display:inline-block;background:linear-gradient(135deg,#c2410c,#ea580c);color:#fff!important;text-decoration:none;padding:9px 16px;border-radius:10px;font-weight:700;font-size:.9rem;margin:8px 6px 0 0}
.cta:hover{filter:brightness(1.06)}
.newsletter{background:linear-gradient(135deg,#92400e,#c2410c);color:#fff;border-radius:14px;padding:24px 20px;margin:20px 0}
.newsletter h2{color:#fff;font-size:1.2rem;margin-bottom:6px}
.newsletter p{font-size:.9rem;opacity:.92;margin-bottom:10px}
.newsletter input[type=email]{background:#fffdf6;border:1px solid #fffdf6}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#msg{margin-top:10px;padding:10px 12px;border-radius:8px;font-size:.88rem;display:none}
#msg.ok{display:block;background:#e6f7ef;color:#0b6e3f;border:1px solid #b7e6cd}
#msg.err{display:block;background:#fdecec;color:#b3261e;border:1px solid #f5c6c6}
footer{color:var(--mut);font-size:.8rem;text-align:center;padding:26px 16px;border-top:2px solid var(--bd);margin-top:20px;background:#fffdf6}
footer a{color:var(--acc)}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
