/* _region_v9.css — Fanaar region page (Direction C+)
   v9 palette. RTL-aware. Scoped under .rv9 so it cannot leak into
   the category-page layouts that share archive-v8.php. */

.rv9 { --rv-navy:#07152a; --rv-navy2:#0b1f3a; --rv-gold:#c9a24b; --rv-gold2:#e0be6f;
       --rv-paper:#f3ede0; --rv-ink:#8ea0b8; --rv-red:#e8564e; }

/* ── map ── */
.rv9-map { position:relative; background:var(--rv-navy); }
.rv9-map svg { display:block; width:100%; height:auto; }
.rv9-country { fill:#132a48; stroke:#0b1f3a; stroke-width:.4; }

.rv9-thr { fill:none; stroke:var(--rv-gold); stroke-width:1; opacity:.35; }
.rv9-thr.hot { stroke:var(--rv-red); opacity:.5; }

.rv9-clu { cursor:pointer; }
.rv9-clu circle.body { fill:rgba(201,162,75,.18); stroke:var(--rv-gold); stroke-width:1; transition:.15s; }
.rv9-clu:hover circle.body { fill:rgba(201,162,75,.42); }
.rv9-clu.hot circle.body { stroke:var(--rv-red); fill:rgba(232,86,78,.2); }
.rv9-clu.gap circle.body { stroke:var(--rv-red); stroke-dasharray:3 2; stroke-width:1.6; fill:rgba(232,86,78,.1); }
.rv9-clu.sel circle.body { fill:var(--rv-gold); stroke:var(--rv-gold2); stroke-width:2.4; }
.rv9-clu text { fill:var(--rv-paper); font-family:"IBM Plex Mono",monospace; font-size:10px;
                text-anchor:middle; pointer-events:none; }
.rv9-clu .gapmark { fill:var(--rv-red); font-size:13px; font-weight:700; }

.rv9-tip { position:absolute; background:var(--rv-navy2); border:1px solid var(--rv-gold);
  border-radius:4px; padding:10px 13px; max-width:250px; pointer-events:none; opacity:0;
  transition:.12s; z-index:30; }
.rv9-tip .n { font-family:"Playfair Display",serif; font-size:16px; color:var(--rv-gold2); }
.rv9-tip .s { font-family:"IBM Plex Mono",monospace; font-size:9px; color:var(--rv-ink);
  margin:3px 0 6px; display:flex; gap:10px; }
.rv9-tip .s b { color:#f0e9d8; }
.rv9-tip .h { font-size:12.5px; color:#e8ddc8; line-height:1.35; }
.rv9-tip .warn { margin-top:7px; font-family:"IBM Plex Mono",monospace; font-size:9px;
  color:var(--rv-red); letter-spacing:.06em; }

.rv9-legend { position:absolute; bottom:12px; left:24px; display:flex; gap:16px;
  font-family:"IBM Plex Mono",monospace; font-size:9px; color:var(--rv-ink); letter-spacing:.06em; }
html[dir=rtl] .rv9-legend { left:auto; right:24px; }
.rv9-legend i { display:inline-block; width:9px; height:9px; border-radius:50%;
  margin-inline-end:5px; vertical-align:middle; }
.rv9-legend .lg-cov { background:rgba(201,162,75,.4); border:1px solid #c9a24b; }
.rv9-legend .lg-thr { background:rgba(232,86,78,.2); border:1px solid #e8564e; }
.rv9-legend .lg-gap { background:rgba(232,86,78,.1); border:1.5px dashed #e8564e; }

/* ── body ── */
.rv9-body { padding:22px 0 40px; }

.rv9-gapbar { background:rgba(232,86,78,.08); border:1px solid rgba(232,86,78,.35);
  border-radius:4px; padding:11px 15px; margin-bottom:16px;
  font-family:"IBM Plex Mono",monospace; font-size:11.5px; color:#8a2f27;
  display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.rv9-gapbar b { color:#5c1f19; }
.rv9-gapbar .gc { background:rgba(232,86,78,.18); padding:2px 8px; border-radius:2px; cursor:pointer; }
.rv9-gapbar .gc:hover { background:rgba(232,86,78,.3); }

.rv9-bar { display:flex; align-items:center; gap:12px; margin-bottom:8px; flex-wrap:wrap; }
.rv9-cats { display:flex; gap:5px; flex-wrap:wrap; }
.rv9-cats button { font-family:"IBM Plex Mono",monospace; font-size:11px; padding:6px 12px;
  border:1px solid rgba(7,21,42,.2); background:transparent; border-radius:3px;
  cursor:pointer; color:#5a5343; }
.rv9-cats button.on { background:var(--rv-navy); color:var(--rv-paper); border-color:var(--rv-navy); }
.rv9-sort { font-family:"IBM Plex Mono",monospace; font-size:11px; padding:6px 10px;
  border:1px solid rgba(7,21,42,.2); border-radius:3px; background:transparent;
  cursor:pointer; color:#5a5343; margin-inline-start:auto; }

.rv9-chips { display:flex; gap:8px; align-items:center; margin-bottom:14px;
  flex-wrap:wrap; min-height:26px; }
.rv9-count { font-family:"IBM Plex Mono",monospace; font-size:11px; color:#5a5343; }
.rv9-chip { font-family:"IBM Plex Mono",monospace; font-size:11px; color:var(--rv-navy);
  background:rgba(201,162,75,.18); border:1px solid rgba(201,162,75,.5);
  padding:4px 10px; border-radius:3px; display:flex; gap:7px; align-items:center; }
.rv9-chip .x { cursor:pointer; font-weight:700; color:#8a6d20; }

/* ── grid ── */
.rv9-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.rv9-card { background:var(--rv-paper); border:1px solid rgba(7,21,42,.12); border-radius:4px;
  overflow:hidden; text-decoration:none; color:inherit; display:block; transition:.15s; }
.rv9-card:hover { border-color:var(--rv-gold); transform:translateY(-2px); }
.rv9-card .im { height:130px; background:linear-gradient(135deg,#1c3a5a,#0b1f3a);
  background-size:cover; background-position:center; }
.rv9-card .bd { padding:14px 16px; }
.rv9-card .tags { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:8px; }
.rv9-ct { font-family:"IBM Plex Mono",monospace; font-size:8px; color:#8a6d20;
  border:1px solid rgba(201,162,75,.5); padding:1px 6px; border-radius:2px; cursor:pointer; }
.rv9-ct:hover { background:rgba(201,162,75,.2); }
.rv9-card h3 { font-family:"Playfair Display",serif; font-size:17px; font-weight:600;
  line-height:1.25; margin:6px 0; }
.rv9-card p { font-size:13px; color:#4a4436; margin-bottom:10px; }
.rv9-card .mt { font-family:"IBM Plex Mono",monospace; font-size:9px; color:#8a7f66;
  letter-spacing:.06em; }

html[dir=rtl] .rv9-card h3,
html[dir=rtl] .rv9-tip .n { font-family:"Noto Naskh Arabic",serif; }

/* ── responsive ── */
@media (max-width:760px) {
  .rv9-bar { flex-direction:column; align-items:stretch; }
  .rv9-sort { margin-inline-start:0; }
  .rv9-legend { position:static; padding:10px 16px; flex-wrap:wrap; }
  .rv9-grid { grid-template-columns:1fr; }
}

/* category kicker on cards */
.rv9-k { font-family:"IBM Plex Mono",monospace; font-size:9px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--rv-gold); display:block; margin-bottom:2px; }
.rv9-k.crit { color:var(--rv-red); }
