/* ═══════════════════════════════════════════════
   DFB Ezekiels Tempelsyn — Pergament & Oxblod
   ═══════════════════════════════════════════════ */

.dfb-esyn-wrap {
    max-width: 720px;
    margin: 1.5rem auto;
    font-family: var(--bb-sans, -apple-system, "Segoe UI", Roboto, sans-serif);
}

/* ── Fane-kontroller ────────────────────────── */

.dfb-esyn-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
}
.dfb-esyn-tab {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.35em 0.85em;
    border: 1px solid var(--bb-kant, #D5C9B5);
    border-radius: 20px;
    background: var(--bb-pergament-lys, #FAF6EE);
    color: #6B5842;
    cursor: pointer;
    transition: all 0.15s;
}
.dfb-esyn-tab:hover {
    background: #F0E8DA;
}
.dfb-esyn-tab-aktiv {
    background: var(--bb-oxblod, #8b1a1a);
    color: #FAF6EE;
    border-color: var(--bb-oxblod, #8b1a1a);
}

/* ── Diagram ────────────────────────────────── */

.dfb-esyn-diagram {
    background: var(--bb-pergament-lys, #FAF6EE);
    border: 1px solid var(--bb-kant, #D5C9B5);
    border-radius: 8px;
    padding: 0.5rem;
}
.dfb-esyn-svg { display: block; }

/* ── Bygning ────────────────────────────────── */

.dfb-esyn-bygning > rect:first-child,
.dfb-esyn-bygning {
    fill: #EDE4D4; stroke: #8B7355; stroke-width: 2.5;
}
.dfb-esyn-bygning[data-zone="indre_forgaard"] {
    fill: #E4DAC8; stroke: #A08060; stroke-width: 2;
}
.dfb-esyn-tempel-ydre { fill: #D4C090; stroke: #A08060; stroke-width: 1.5; }
.dfb-esyn-debir  { fill: #E8D050; stroke: #B8960A; stroke-width: 1.5; }
.dfb-esyn-hekal  { fill: #EDD868; stroke: #B8960A; stroke-width: 1; }
.dfb-esyn-ulam   { fill: #DEC86C; stroke: #B8960A; stroke-width: 1; }

.dfb-esyn-alter {
    fill: #A07040; stroke: #6B4820; stroke-width: 1.5;
}
.dfb-esyn-alter-label {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 10px; fill: #F0E8DA; font-weight: 500;
}
.dfb-esyn-rum-label-ext {
    font-family: var(--bb-serif, Georgia, serif);
    font-size: 11px; fill: #3A2200; font-weight: 600;
}
.dfb-esyn-label-linje {
    stroke: #A08060; stroke-width: 0.8; stroke-dasharray: 2 2;
}
.dfb-esyn-forgaard-label {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 11px; fill: #8B7355; font-weight: 500;
}
.dfb-esyn-kompas {
    font-family: var(--bb-serif, Georgia, serif);
    font-size: 13px; fill: #A09080; font-weight: 500;
}
.dfb-esyn-titel {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 12px; fill: #8B7355;
}

/* ── Afskyeligheds-markoerer (roede romber) ── */

.dfb-esyn-afsky rect {
    fill: var(--bb-oxblod, #8b1a1a);
    stroke: #6B1010;
    stroke-width: 1;
}
.dfb-esyn-afsky-label {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 9px; fill: var(--bb-oxblod, #8b1a1a); font-weight: 600;
}

/* ── Doms-markør (trekant) ──────────────────── */

.dfb-esyn-dom polygon {
    fill: #4A3520;
    stroke: #2A1A0A;
    stroke-width: 1;
}
.dfb-esyn-dom-label {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 9px; fill: #4A3520; font-weight: 600;
}

/* ── Herligheds-markoerer (guld cirkler) ───── */

.dfb-esyn-herlighed circle {
    fill: #D4AA20;
    stroke: #A08010;
    stroke-width: 1.5;
    filter: drop-shadow(0 0 4px rgba(212,170,32,0.5));
}
.dfb-esyn-trin-nr {
    font-family: var(--bb-serif, Georgia, serif);
    font-size: 13px; fill: #3A2800; font-weight: 700;
}
.dfb-esyn-sted-label {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 10px; fill: #8B7020; font-weight: 500; font-style: italic;
}

/* ── Rute-linjer (stiplede gyldne pile) ─────── */

.dfb-esyn-rute-linje {
    stroke: #C8A020;
    stroke-width: 2;
    stroke-dasharray: 6 4;
    stroke-opacity: 0.7;
}

/* ── Interaktivitet ─────────────────────────── */

.dfb-esyn-zone {
    cursor: pointer;
    transition: opacity 0.15s ease;
}
.dfb-esyn-zone:hover { opacity: 0.82; }
.dfb-esyn-zone.dfb-esyn-aktiv { opacity: 1; }

/* Lag-filtrering */
.dfb-esyn-lag[data-lag] {
    transition: opacity 0.3s ease;
}
.dfb-esyn-lag.dfb-esyn-skjult {
    opacity: 0.08;
    pointer-events: none;
}

/* ── Info-panel ─────────────────────────────── */

.dfb-esyn-info {
    margin-top: 0.75rem;
    padding: 1rem 1.25rem;
    background: var(--bb-pergament-lys, #FAF6EE);
    border: 1px solid var(--bb-kant, #D5C9B5);
    border-radius: 8px;
    min-height: 80px;
    line-height: 1.65;
    color: var(--bb-tekst, #3D2B1F);
    font-size: 0.92rem;
}
.dfb-esyn-info-placeholder {
    color: #A09080; text-align: center; padding: 1rem 0;
}
.dfb-esyn-info-icon {
    display: block; font-size: 1.5rem; margin-bottom: 0.35rem; opacity: 0.5;
}

.dfb-esyn-info-header {
    display: flex; align-items: baseline; gap: 0.5rem;
    flex-wrap: wrap; margin-bottom: 0.5rem;
}
.dfb-esyn-info-titel {
    font-family: var(--bb-serif, Georgia, serif);
    font-size: 1.1rem; font-weight: 600;
    color: var(--bb-oxblod, #8b1a1a); margin: 0;
}
.dfb-esyn-info-badge {
    display: inline-block; font-size: 0.72rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.04em;
    padding: 0.15em 0.55em; border-radius: 3px;
}
.dfb-esyn-badge-afskyelighed {
    background: var(--bb-oxblod, #8b1a1a); color: #FAF6EE;
}
.dfb-esyn-badge-dom {
    background: #4A3520; color: #FAF6EE;
}
.dfb-esyn-badge-herlighed {
    background: #D4AA20; color: #3A2800;
}
.dfb-esyn-badge-bygning {
    background: #A08060; color: #FAF6EE;
}

.dfb-esyn-info-hebraisk {
    font-family: "SBL Hebrew", "Frank Ruehl CLM", "Ezra SIL", serif;
    font-size: 1rem; color: #6B5842; direction: rtl;
    margin-bottom: 0.5rem;
}
.dfb-esyn-info-afsnit { margin: 0.5rem 0; }
.dfb-esyn-info-label {
    font-weight: 600; font-size: 0.8rem; text-transform: uppercase;
    letter-spacing: 0.03em; color: var(--bb-oxblod, #8b1a1a);
    margin-bottom: 0.15rem;
}
.dfb-esyn-info-trin {
    font-family: var(--bb-sans, -apple-system, sans-serif);
    font-size: 0.85rem; color: #8B7020; background: #F5EDD0;
    display: inline-block; padding: 0.2em 0.6em; border-radius: 3px;
    margin: 0.25rem 0; font-weight: 600;
}
.dfb-esyn-info-teologisk {
    border-left: 3px solid var(--bb-oxblod, #8b1a1a);
    padding-left: 0.75rem; margin: 0.65rem 0;
    font-style: italic; color: #5C4A36;
}
.dfb-esyn-info-refs { margin-top: 0.5rem; }
.dfb-esyn-info-refs a {
    display: inline-block; font-size: 0.85rem; font-weight: 500;
    color: var(--bb-oxblod, #8b1a1a); text-decoration: none;
    background: #F0E8DA; padding: 0.2em 0.6em; border-radius: 3px;
    margin: 0.15rem 0.25rem 0.15rem 0; transition: background 0.15s;
}
.dfb-esyn-info-refs a:hover {
    background: #E0D4C0; text-decoration: underline;
}

/* ── Legende ────────────────────────────────── */

.dfb-esyn-legend {
    display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem;
    margin-top: 0.5rem; font-size: 0.8rem; color: #6B5842;
}
.dfb-esyn-legend > span {
    display: flex; align-items: center; gap: 0.35rem;
}
.dfb-esyn-swatch {
    width: 12px; height: 12px; display: inline-block;
    border: 1px solid rgba(0,0,0,0.1);
}
.dfb-esyn-sw-afsky    { background: var(--bb-oxblod, #8b1a1a); border-radius: 2px; transform: rotate(45deg); }
.dfb-esyn-sw-dom      { background: #4A3520; clip-path: polygon(50% 0%, 100% 100%, 0% 100%); border: none; }
.dfb-esyn-sw-herlighed { background: #D4AA20; border-radius: 50%; }
.dfb-esyn-legend-rute {
    font-size: 0.85rem; color: #C8A020; font-weight: 600; letter-spacing: 0.1em;
}
