:root{
  --bg: #f8fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --brand:#0ea5e9;
  --brand-weak:#e0f2fe;
  --ring:#38bdf8;
  --border:#94a3b8;
  --success:#16a34a;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
}
.wrap{max-width:940px;margin:auto;padding:24px}
header{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
h1{
  margin:0;
  font-size:clamp(28px,5.5vw,44px);
  font-weight:800;
  letter-spacing:-.01em;
}
.subtitle{color:var(--muted)}
.card{
  background:var(--card);
  border:2px solid var(--border);
  border-radius:14px;
  box-shadow:0 1px 2px rgba(2,8,23,.04);
  padding:16px;
  margin-top:16px;
}
/* space between stacked cards */
.card + .card{margin-top:16px;}
.card:first-of-type{margin-top:0;}
.tabs{
  display:flex;
  gap:10px;
  background:var(--brand-weak);
  padding:6px;
  border-radius:999px;
  width:max-content;
  margin:8px 0 16px;
  border:1px solid var(--ring);
}
.tab{
  appearance:none;border:0;background:transparent;
  padding:10px 18px;border-radius:999px;font-weight:700;cursor:pointer;
  color:#0369a1;transition:.15s;outline:none;
}
.tab[aria-selected="true"]{background:#fff;color:#0c4a6e;border:2px solid var(--ring);box-shadow:0 1px 0 rgba(0,0,0,.06);}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:720px){.grid{grid-template-columns:1fr 1fr}}
label{font-weight:600}
.field{display:flex;flex-direction:column;gap:6px}
input[type="number"]{
  width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:10px;font-size:16px;background:#fff;
  border-radius:10px;font-size:16px;background:#fff;
}
input:focus{outline:3px solid var(--ring)}
.help{font-size:12px;color:#475569}
.result{display:grid;gap:10px;padding:12px;border:2px dashed var(--border);border-radius:10px;background:#fbfdff}
.row{display:flex;justify-content:space-between;gap:8px}
.row b{font-variant-numeric:tabular-nums}
.total{font-weight:800}
.badge{
  display:inline-block;padding:2px 8px;border-radius:999px;background:#ecfeff;border:1px solid var(--ring);color:#075985;font-size:12px;margin-left:8px;
}
footer{margin-top:18px;font-size:12px;color:#475569}
.seo{margin-top:18px;font-size:14px;color:#0b3b5a;background:#f0f9ff;border:1px solid var(--ring);border-radius:10px;padding:10px 12px}
.ads{margin:10px 0}
ins.adsbygoogle:empty{display:none}
/* Bloque les formats page-level (anchor/vignette) injectés */
ins.adsbygoogle[style*="position:fixed"],
ins.adsbygoogle[data-anchor-status]{
  display:none !important;
}

/* Collapse ad slots when AdSense marks them unfilled or sets height:0 */
.ads > ins[data-ad-status="unfilled"],
.ads > ins[data-ad-status="done"][style*="height: 0px"],
.ads > ins[style*="height:0px"]{display:none!important}
.faq h3{margin:.4rem 0}
/* Lang switch */
.lang-switch{position:fixed;top:10px;right:12px;display:flex;gap:6px;z-index:50}
.lang-switch button{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-weight:600;cursor:pointer}
.lang-switch button[aria-current="true"]{background:var(--brand-weak);border-color:var(--ring)}
/* stronger table borders for visibility */
#taux-tps-tvh th, #taux-tps-tvh td{border-bottom:2px solid var(--border) !important;}
