/* ═══ Rapport avant de signer — V2 ═══ */

.rapport {
  margin-top: 1.1rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1.8rem;
  box-shadow: var(--shadow-md);
}
.rapport[hidden] { display: none; }
.rapport .rhead {
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  flex-wrap: wrap; margin-bottom: 1.2rem;
}
.rapport .rhead h3 {
  font-family: "General Sans", system-ui, sans-serif; font-weight: 700;
  font-size: 1.5rem; letter-spacing: -.02em; margin: 0;
}
.rapport .rhead .radresse { font-size: .85rem; color: var(--ink-soft); }
.rapport .rprint {
  font: 500 .82rem "General Sans", sans-serif; color: var(--ink);
  background: none; border: 1px solid var(--line); border-radius: 8px;
  padding: .32rem .85rem; cursor: pointer; transition: border-color .2s;
}
.rapport .rprint:hover { border-color: var(--accent); }

/* Bandeau des sources en échec */
.rfail {
  border: 1px solid rgba(184, 71, 0, .35);
  background: rgba(255, 107, 26, .07);
  border-radius: 11px; padding: .75rem 1rem; margin-bottom: 1.1rem;
  font-size: .95rem; color: var(--accent-ink);
}
.rfail b { display: block; margin-bottom: .2rem; font-size: 1rem; }
.rfail ul { margin: 0; padding-inline-start: 1.1rem; }

/* Sections */
.rsec { border-top: 1px solid var(--line); padding: 1.1rem 0; }
.rsec:last-of-type { padding-bottom: .3rem; }
.rsec .rtag {
  font-family: var(--mono); font-size: .68rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase; color: var(--accent-ink);
  margin-bottom: .55rem;
}
.rsec p { font-size: 1rem; margin: .3rem 0; }
.rsec .rmuted { color: var(--ink-soft); font-size: .92rem; }
.rkv { display: flex; flex-wrap: wrap; gap: .4rem .5rem; margin: .4rem 0 .6rem; }
.rkv span {
  font-family: var(--mono); font-size: .78rem;
  border: 1px solid var(--line); border-radius: 8px; padding: .28rem .7rem; background: var(--paper);
}
.rkv span b { color: var(--accent-ink); font-weight: 600; }
.rbig {
  font-family: "General Sans", system-ui, sans-serif; font-weight: 700; font-size: 2rem;
  letter-spacing: -.02em; font-variant-numeric: tabular-nums;
}
.rbig small { font-size: .85rem; font-weight: 500; color: var(--ink-soft); letter-spacing: 0; }
.rlinks { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .55rem; }
.rlinks a {
  font-size: .82rem; font-weight: 500; text-decoration: none; color: var(--accent-ink);
  border: 1px solid var(--line); border-radius: 8px; padding: .3rem .8rem;
  transition: border-color .2s, background .2s;
}
.rlinks a:hover { border-color: var(--accent); background: rgba(255, 107, 26, .08); }

/* Tableau des ventes */
.rtablewrap { overflow-x: auto; margin-top: .5rem; }
.rtable { width: 100%; border-collapse: collapse; font-size: .92rem; }
.rtable th {
  text-align: left; font-family: var(--mono); font-size: .66rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft);
  padding: .4rem .6rem; border-bottom: 1px solid var(--line-strong);
}
.rtable td {
  padding: .42rem .6rem; border-bottom: 1px solid var(--line);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.rtable td.he { text-align: right; }
.rtable td.num { text-align: right; }
.rtable tr:last-child td { border-bottom: none; }

/* Liste des plans */
.rplans { margin: .4rem 0 0; padding: 0; list-style: none; }
.rplans li {
  display: flex; flex-wrap: wrap; gap: .3rem .7rem; align-items: baseline;
  padding: .45rem 0; border-bottom: 1px solid var(--line); font-size: .86rem;
}
.rplans li:last-child { border-bottom: none; }
.rplans .pnum { font-family: var(--mono); font-size: .76rem; color: var(--accent-ink); }
.rplans .pstat { font-family: var(--mono); font-size: .72rem; color: var(--ink-soft); }
.rplans a { font-size: .78rem; color: var(--accent-ink); }

.rfoot {
  border-top: 1px solid var(--line); margin-top: 1rem; padding-top: .8rem;
  font-family: var(--mono); font-size: .72rem; color: var(--ink-soft);
}

/* Chargement animé */
.rloading { display: flex; align-items: center; gap: .8rem; padding: 1.4rem 0; font-size: .9rem; color: var(--ink-soft); }
.rloading .dot {
  width: 9px; height: 9px; border-radius: 50%; background: var(--accent);
  animation: rpulse 1s ease-in-out infinite;
}
.rloading .dot:nth-child(2) { animation-delay: .18s; }
.rloading .dot:nth-child(3) { animation-delay: .36s; }
@keyframes rpulse { 0%, 100% { transform: scale(.7); opacity: .4; } 50% { transform: scale(1.15); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rloading .dot { animation: none; } }

/* Bouton primaire du rapport dans la barre de recherche */
.searchrow button.primary {
  background: var(--accent); color: #17181c; border-color: rgba(184, 71, 0, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), var(--shadow-sm);
}
.searchrow button.primary:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 24px rgba(255, 107, 26, .25); }
.searchrow button[disabled] { opacity: .6; cursor: wait; }

/* Mini-calculateur mashkanta (carte 05) — local, aucun appel réseau */
.mashcalc { border-top: 1px solid var(--line); margin-top: .9rem; padding-top: .8rem; }
.mashcalc .mrow { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .4rem; }
.mashcalc label { display: block; font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: .2rem; }
.mashcalc input {
  width: 100%; font: 500 .86rem "General Sans", sans-serif; color: var(--ink);
  background: var(--paper); border: 1px solid var(--line-strong); border-radius: 8px;
  padding: .4rem .55rem; outline: none;
}
.mashcalc input:focus { border-color: var(--accent); }
.mashcalc .mres { margin-top: .6rem; font-size: .86rem; }
.mashcalc .mres b { font-family: "General Sans", system-ui, sans-serif; font-size: 1.05rem; font-variant-numeric: tabular-nums; color: var(--accent-ink); }
.mashcalc .mnote { font-family: var(--mono); font-size: .66rem; color: var(--ink-soft); margin-top: .3rem; }

/* ═══ Rapport 100 % français : hébreu en petit, boutons copier, guides, manuel ═══ */

/* L'hébreu original en petit À CÔTÉ du français — jamais l'inverse */
.hesmall { font-size: .78em; color: var(--ink-soft); }
.nontrad { font-size: .74em; color: var(--ink-soft); font-style: italic; }

/* Bouton copier 📋 */
.rcopy {
  font-size: .78rem; line-height: 1; cursor: pointer;
  background: none; border: 1px solid var(--line); border-radius: 6px;
  padding: .12rem .3rem; margin-inline-start: .3rem; vertical-align: baseline;
  transition: border-color .2s;
}
.rcopy:hover { border-color: var(--accent); }

/* Encart « Relevé manuel » — ce n'est PAS un échec, pas de rouge */
.rmanual {
  border: 1px solid var(--line-strong);
  background: var(--paper);
  border-radius: 11px; padding: .8rem 1rem; font-size: .95rem;
}
.rmanual > b { display: block; margin-bottom: .25rem; }
.rmanual ol { margin: .4rem 0 .2rem; padding-inline-start: 1.2rem; }
.rmanual ol li { margin: .25rem 0; }

/* Guides français dépliables sous les liens externes */
.rguide { margin-top: .5rem; font-size: .95rem; }
.rguide summary {
  cursor: pointer; color: var(--accent-ink); font-weight: 500;
  list-style-position: inside;
}
.rguide summary:hover { text-decoration: underline; }
.rguide ol { margin: .4rem 0 .2rem; padding-inline-start: 1.4rem; }
.rguide ol li { margin: .25rem 0; color: var(--ink); }

/* Bandeau-astuce traduction navigateur */
.rastuce {
  border-top: 1px dashed var(--line); margin-top: 1rem; padding-top: .7rem;
  font-size: .8rem; color: var(--ink-soft);
}
.astuce-site {
  font-size: .8rem; color: var(--ink-soft); margin-top: .6rem;
}

/* ═══ Impression : seul le rapport sort ═══ */
@media print {
  nav, .hero, .marquee, .stats, #verifications, #littoral, #sites, .cta, footer,
  .searchrow, .search .hint, #searchresults, .sechead, .checkbar, .rprint,
  .rcopy, .rastuce, .astuce-site { display: none !important; }
  .rguide { display: none; } /* guides écran uniquement ; repliés, ils n'impriment rien d'utile */
  body { background: #fff; font-size: 12px; }
  section { padding: 0; }
  .search { border: none; box-shadow: none; padding: 0; }
  .rapport { border: none; box-shadow: none; padding: 0; }
  .rtable td, .rtable th { white-space: normal; }
  .rsec, .rtable tr { break-inside: avoid; }
}
