/* ════════════════════════════════════════════════════════════════════════
   oroi-provenance-v3.css — Provenance redesign (Στρατηγική Γ)
   ────────────────────────────────────────────────────────────────────────
   DROP-IN override. ΦΟΡΤΩΣΕ ΤΕΛΕΥΤΑΙΟ, ΜΕΤΑ το oroi-v3.css:
     <link rel="stylesheet" href="/oroi-v3.css">
     <link rel="stylesheet" href="/oroi-provenance-v3.css">   ← τελευταίο πριν </head>
   Αλλιώς το cascade των παλιών stylesheets κερδίζει (γνωστό bug του project).

   • Δεν ξαναορίζει tokens — κληρονομεί από oroi-v3.css (:root / [data-theme=dark]).
   • Προσθέτει ΜΟΝΟ ένα νέο token: --heritage (προ-1923), σε light + dark.
   • Όλα τα components είναι ΝΕΑ classes — δεν πατάνε υπάρχοντα markup.
     Εξαιρέσεις που ΕΠΕΚΤΕΙΝΟΥΝ υπάρχον: .zone-conf/.qa-conf μένουν ως έχουν·
     το νέο .conf είναι standalone confidence badge για hero/cards.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  --heritage:oklch(46% 0.09 330);
  --heritage-soft:oklch(46% 0.09 330 / 0.10);
}
html[data-theme="dark"]{
  --heritage:oklch(72% 0.10 330);
  --heritage-soft:oklch(72% 0.10 330 / 0.16);
}

/* ═══ ΦΕΚ inline ref — συμπαγής, copy-friendly (κλικ → clipboard) ═══ */
.fek-ref{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.01em;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);padding:2px 7px 2px 6px;border-radius:5px;cursor:pointer;transition:border-color .15s,color .15s;}
.fek-ref:hover{border-color:var(--border-strong);color:var(--text-1);}
.fek-ref svg{opacity:.6;flex-shrink:0;}
.fek-ref .cp{font-size:9px;color:var(--text-3);}
.fek-ref.copied{color:var(--green);border-color:color-mix(in oklch,var(--green) 40%,var(--border));}

/* ═══ SOURCE ATTRIBUTION CHIP — ο πυρήνας της στρατηγικής Γ ═══ */
.src{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px 4px 7px;border-radius:99px;border:1px solid;white-space:nowrap;}
.src svg{flex-shrink:0;}
.src.auth{background:var(--green-soft);color:var(--green);border-color:color-mix(in oklch,var(--green) 32%,var(--border));}
.src.generic{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in oklch,var(--amber) 32%,var(--border));}
.src.pointer{background:var(--info-soft);color:var(--info);border-color:color-mix(in oklch,var(--info) 30%,var(--border));}
.src.removed{background:var(--coral-soft);color:var(--coral);border-color:color-mix(in oklch,var(--coral) 32%,var(--border));}
/* προ-1923 variant: src.pointer με heritage χρώμα (inline ή .src.heritage) */
.src.heritage{background:var(--heritage-soft);color:var(--heritage);border-color:color-mix(in oklch,var(--heritage) 30%,var(--border));}

/* ═══ CONFIDENCE BADGE (standalone) ═══ */
.conf{font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;padding:4px 9px;border-radius:99px;border:1px solid;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;}
.conf .cd{width:5px;height:5px;border-radius:50%;background:currentColor;}
.conf.h{background:var(--green-soft);color:var(--green);border-color:color-mix(in oklch,var(--green) 28%,var(--border));}
.conf.m{background:var(--info-soft);color:var(--info);border-color:color-mix(in oklch,var(--info) 28%,var(--border));}
.conf.l{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in oklch,var(--amber) 28%,var(--border));}

/* ═══ REGIME STATUS BADGE (7 καθεστώτα) ═══ */
.regime{position:relative;display:flex;gap:13px;align-items:flex-start;padding:15px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);}
.regime::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--r-lg) 0 0 var(--r-lg);background:var(--c,var(--text-3));}
.regime .ri{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--cs,var(--surface-2));color:var(--c,var(--text-2));}
.regime .rbody{flex:1;min-width:0;}
.regime .rname{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.regime .rname .help{width:15px;height:15px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-3);font-family:var(--mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;cursor:help;flex-shrink:0;}
.regime .rmeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;}
.regime .rapply{font-size:12px;line-height:1.45;color:var(--text-2);margin-top:9px;}
/* color variants */
.regime.r-pre1923{--c:var(--heritage);--cs:var(--heritage-soft);border-color:color-mix(in oklch,var(--heritage) 26%,var(--border));}
.regime.r-small{--c:var(--info);--cs:var(--info-soft);}
.regime.r-big{--c:var(--accent);--cs:var(--accent-soft);}
.regime.r-trad{--c:var(--coral);--cs:var(--coral-soft);}
.regime.r-inplan{--c:var(--green);--cs:var(--green-soft);}
.regime.r-outplan{--c:var(--amber);--cs:var(--amber-soft);}
.regime.r-zoe{--c:var(--text-2);--cs:var(--surface-3);}

/* tooltip «πώς το προσδιορίσαμε» (hover desktop · tap «?» mobile) */
.tip{position:relative;}
.tip .tip-body{position:absolute;bottom:calc(100% + 9px);left:0;width:255px;max-width:80vw;background:var(--text-1);color:var(--bg);font-family:var(--sans);font-size:12px;line-height:1.5;font-weight:400;text-transform:none;letter-spacing:0;padding:11px 13px;border-radius:8px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .16s,transform .16s,visibility .16s;z-index:30;pointer-events:none;}
.tip .tip-body::after{content:"";position:absolute;top:100%;left:14px;border:6px solid transparent;border-top-color:var(--text-1);}
.tip .tip-body b{color:var(--bg);font-weight:700;}
.tip:hover .tip-body,.tip.open .tip-body{opacity:1;visibility:visible;transform:translateY(0);}

/* ═══ VALUE CARD — τέσσερις καταστάσεις (confirmed/generic/pointer/removed) ═══ */
.vcard{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:16px 16px 14px;display:flex;flex-direction:column;min-height:138px;}
.vcard .vk{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:11px;}
.vcard .vv{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text-1);}
.vcard .vv .u{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--text-3);}
.vcard .vsrc{margin-top:auto;padding-top:13px;}
.vcard .vsub{font-size:11px;line-height:1.45;color:var(--text-2);margin-top:8px;}
.vcard .vfek{margin-top:9px;}
.vcard.confirmed{border-color:color-mix(in oklch,var(--green) 24%,var(--border));}
.vcard.confirmed .vv{color:var(--text-1);}
.vcard.generic .vv{color:var(--text-2);}
.vcard.generic{background:linear-gradient(180deg,var(--amber-soft),transparent 60%);}
.vcard.pointer .vv{color:var(--text-3);font-size:34px;font-weight:400;}
.vcard.pointer .vsub{color:var(--text-2);}
.vcard.removed{border-color:color-mix(in oklch,var(--coral) 26%,var(--border));background:linear-gradient(180deg,var(--coral-soft),transparent 55%);}
.vcard.removed .vlegal{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.28;color:var(--text-1);margin-bottom:4px;}
.vcard.removed .vsub{font-size:12.5px;}
.vcard .removed-flag{position:absolute;top:13px;right:14px;font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);}
/* σε 4-col grid, η removed κάρτα πιάνει 2 στήλες */
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.vgrid .vcard.removed{grid-column:span 2;}

/* ═══ INTEL TRI-STATE CHIP (found / absent / unknown) ═══ */
.intel-row{display:flex;flex-wrap:wrap;gap:12px;}
.intel{position:relative;display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);min-width:236px;flex:1;max-width:340px;}
.intel .ii{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.intel .ibody{flex:1;min-width:0;}
.intel .iname{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--text-1);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.intel .istate{font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:99px;white-space:nowrap;flex-shrink:0;}
.intel .isub{font-size:11.5px;line-height:1.45;color:var(--text-2);margin-top:6px;}
.intel .iconf{margin-top:9px;}
/* FOUND — εντοπίστηκε περιορισμός (crit default · warn · info ανά σοβαρότητα) */
.intel.found{border-color:color-mix(in oklch,var(--coral) 30%,var(--border));}
.intel.found .ii{background:var(--coral-soft);color:var(--coral);}
.intel.found .istate{background:var(--coral-soft);color:var(--coral);}
.intel.found.warn{border-color:color-mix(in oklch,var(--amber) 30%,var(--border));}
.intel.found.warn .ii{background:var(--amber-soft);color:var(--amber);}
.intel.found.warn .istate{background:var(--amber-soft);color:var(--amber);}
.intel.found.info{border-color:color-mix(in oklch,var(--info) 28%,var(--border));}
.intel.found.info .ii{background:var(--info-soft);color:var(--info);}
.intel.found.info .istate{background:var(--info-soft);color:var(--info);}
/* ABSENT — ρωτήθηκε & κενό. ΠΟΤΕ πράσινο ✓ — διάστικτο ουδέτερο + σφραγίδα.
   ΚΡΙΣΙΜΟ: ΔΕΝ πρέπει να διαβάζεται ως «εκτός». */
.intel.absent{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);}
.intel.absent .ii{background:transparent;color:var(--text-3);box-shadow:inset 0 0 0 1.5px var(--border-strong);}
.intel.absent .iname{color:var(--text-2);}
.intel.absent .istate{background:transparent;color:var(--text-3);box-shadow:inset 0 0 0 1px var(--border-strong);}
.intel.absent .stamp{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-top:9px;border-top:1px dashed var(--border-strong);padding-top:9px;}
/* UNKNOWN — το dataset δεν καλύπτει την περιοχή */
.intel.unknown{border-color:color-mix(in oklch,var(--amber) 30%,var(--border));background:linear-gradient(180deg,var(--amber-soft),transparent 70%);}
.intel.unknown .ii{background:var(--amber-soft);color:var(--amber);}
.intel.unknown .istate{background:var(--amber-soft);color:var(--amber);}

/* ═══ DISCLAIMER — sticky banner (States 2/3) · inline footer (State 1) ═══ */
.disc-sticky{display:flex;align-items:center;gap:13px;padding:13px 18px;border-radius:var(--r-lg);background:color-mix(in oklch,var(--coral) 12%,var(--surface));border:1px solid color-mix(in oklch,var(--coral) 30%,var(--border));margin-bottom:26px;}
.disc-sticky .di{width:30px;height:30px;border-radius:7px;background:var(--coral-soft);color:var(--coral);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.disc-sticky .dt{flex:1;}
.disc-sticky .dt b{font-family:var(--serif);font-size:14px;font-weight:600;color:var(--text-1);display:block;margin-bottom:2px;}
.disc-sticky .dt span{font-size:12.5px;line-height:1.5;color:var(--text-2);}
.disc-sticky .pin-note{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--coral);white-space:nowrap;align-self:flex-start;}
/* Audit 2026-06-18 marketing: disclaimer CTA (αντικαθιστά τη wall-of-text pin-note) */
.disc-cta{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:7px 13px;border-radius:var(--r);background:var(--text-1);color:var(--bg);white-space:nowrap;text-decoration:none;flex-shrink:0;transition:opacity .15s;}
.disc-cta:hover{opacity:.85;}
.disc-inline .disc-cta{font-size:11.5px;padding:5px 11px;margin-left:6px;display:inline-flex;}
/* ΠΑΡΑΓΩΓΗ: για πραγματικά sticky, στο leaf χρησιμοποίησε
   position:sticky; top:0; z-index:90;  (εδώ είναι in-flow για το preview). */

.disc-inline{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);margin-top:26px;}
.disc-inline svg{color:var(--text-3);flex-shrink:0;margin-top:2px;}
.disc-inline p{font-size:12.5px;line-height:1.55;color:var(--text-2);}
.disc-inline p b{color:var(--text-1);font-weight:600;}

/* τοπικό banner «δεν εντοπίστηκαν συγκεκριμένοι όροι» (State 2) */
.local-banner{display:flex;gap:11px;align-items:flex-start;padding:13px 16px;border-radius:var(--r-lg);background:var(--amber-soft);border:1px solid color-mix(in oklch,var(--amber) 28%,var(--border));margin-bottom:22px;}
.local-banner svg{color:var(--amber);flex-shrink:0;margin-top:1px;}
.local-banner p{font-size:13px;line-height:1.5;color:var(--text-2);}
.local-banner p b{color:var(--text-1);font-weight:600;}
.local-banner a{color:var(--accent-ink);font-weight:600;border-bottom:1px solid color-mix(in oklch,var(--accent) 40%,transparent);}

/* ═══ TWO-LEVEL LEGISLATION (Νομοθεσία / Σημείο) ═══ */
.law-2lvl{display:flex;flex-direction:column;gap:8px;margin-top:22px;padding:15px 17px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);}
.law-2lvl .lw-row{display:flex;gap:11px;align-items:baseline;}
.law-2lvl .lw-lvl{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);width:74px;flex-shrink:0;padding-top:2px;}
.law-2lvl .lw-body{flex:1;font-size:13px;line-height:1.5;color:var(--text-2);}
.law-2lvl .lw-body b{color:var(--text-1);font-weight:600;}
.law-2lvl .lw-body .fek-ref{margin-left:2px;vertical-align:middle;}

/* ═══ SURFACE B — proximity notice (ενιαίο ≤50m pattern) ═══ */
.prox{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--info-soft);border:1px solid color-mix(in oklch,var(--info) 32%,var(--border));}
.prox.crit{background:var(--coral-soft);border-color:color-mix(in oklch,var(--coral) 34%,var(--border));}
.prox svg{flex-shrink:0;margin-top:1px;}
.prox.crit svg{color:var(--coral);}
.prox:not(.crit) svg{color:var(--info);}
.prox .pt{font-size:12px;line-height:1.45;color:var(--text-2);}
.prox .pt b{color:var(--text-1);font-weight:600;display:block;margin-bottom:2px;font-family:var(--serif);font-size:13px;}
.prox .pt a{color:var(--accent-ink);font-weight:600;border-bottom:1px solid color-mix(in oklch,var(--accent) 40%,transparent);}

/* ═══ SURFACE B — drawer dimension chip (tri-state + auto/manual) ═══ */
.bchip{display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);}
.bchip .bi{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bchip .bb{flex:1;min-width:0;}
.bchip .bn{font-size:13px;font-weight:600;color:var(--text-1);}
.bchip .bm{font-size:11px;line-height:1.4;color:var(--text-2);margin-top:2px;}
.bchip .bm .fek-ref{font-size:9.5px;padding:1px 5px;}
.bchip .bstate{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0;}
.bchip .bs-lbl{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;}
.bchip .src-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:7.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);}
.bchip .src-tag .dot{width:5px;height:5px;border-radius:50%;}
.bchip .src-tag .dot.auto{background:var(--text-3);}
.bchip .src-tag .dot.manual{background:var(--green);}
.bchip.confirmed{border-color:color-mix(in oklch,var(--green) 28%,var(--border));}
.bchip.confirmed .bi{background:var(--green-soft);color:var(--green);}
.bchip.confirmed .bs-lbl{color:var(--green);}
.bchip.detected{border-color:color-mix(in oklch,var(--coral) 30%,var(--border));}
.bchip.detected .bi{background:var(--coral-soft);color:var(--coral);}
.bchip.detected .bs-lbl{color:var(--coral);}
.bchip.review{border-color:color-mix(in oklch,var(--amber) 30%,var(--border));background:linear-gradient(180deg,var(--amber-soft),transparent 80%);}
.bchip.review .bi{background:var(--amber-soft);color:var(--amber);}
.bchip.review .bs-lbl{color:var(--amber);}
.bchip.na{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);}
.bchip.na .bi{background:transparent;color:var(--text-3);box-shadow:inset 0 0 0 1.5px var(--border-strong);}
.bchip.na .bn{color:var(--text-2);}
.bchip.na .bs-lbl{color:var(--text-3);}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1024px){
  .vgrid{grid-template-columns:repeat(2,1fr);}
  .vgrid .vcard.removed{grid-column:span 2;}
}
@media(max-width:680px){
  .vgrid{grid-template-columns:1fr;}
  .vgrid .vcard.removed{grid-column:span 1;}
  .intel{max-width:none;}
  .disc-sticky{flex-wrap:wrap;}
  .disc-sticky .pin-note{display:none;}
}

/* ═══ PRINT ═══ */
@media print{
  .tip .tip-body{display:none;}
  .regime,.vcard,.intel,.bchip,.law-2lvl,.disc-sticky,.disc-inline{break-inside:avoid;box-shadow:none;}
}
