:root {
  --bg: transparent;
  --card: #ffffff;
  --border: #e5e7eb;
  --border-strong: #d1d5db; /* optional */
  --text: #111827;
  --muted: #6b7280;
  --brand-soft: #eaf3ff;        /* Soft, light blue */
  --brand: #3f9cff;             /* Main brand color */
  --brand-strong: #0b3a82;      /* Strong blue for contrast */
  --brand-hover: #1e6fd0;       /* Slightly darker hover state */
  --brand-active: #1666c1;      /* Active state */
  --brand-button: #1d72d2;      /* Darker shade of the brand color */
  --shadow-form: 0 3px 8px rgba(0, 0, 0, 0.05);
}

#card-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  display: none;
  align-items: center;    /* vertical center  */
  justify-content: center;/* horizontal center */

  z-index: 1000;
}

.peppol-card {
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    color: var(--text);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 12px;
    box-shadow: var(--shadow-form);
    max-width: 720px;
    overflow: hidden;
}

.pc-head {
    display:flex;
    gap:14px;
    padding:18px 18px 14px;
    align-items:center;
    background:
    radial-gradient(900px 140px at 10% 0%, rgba(59,130,246,.10), transparent 55%),
    radial-gradient(700px 160px at 95% 0%, rgba(59,130,246,.10), transparent 55%),
    linear-gradient(180deg, rgba(2,6,23,.02), rgba(2,6,23,0));
    border-bottom: 1px solid var(--border);
}

.pc-flag {
    width:56px;height:56px;
    border-radius:8px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow: var(--shadow-form);
    display:grid; place-items:center;
    flex:0 0 auto;
}

.pc-flag-img { width:36px; height:36px; display:block; }
.pc-name {
    font-size:18px;
    font-weight:800;
    letter-spacing:.2px;
    line-height:1.15;
}

.pc-meta {
    margin-top:6px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    font-size:12.5px;
    color: var(--muted);
    align-items:center;
}

.pc-dot { opacity:.5; }
.pc-cc {
    display:inline-flex;
    align-items:center;
    padding:2px 10px;
    border-radius:999px;
    border:1px solid var(--border);
    background: #fff;
    font-weight:700;
    letter-spacing:.6px;
}

.pc-body { padding:14px 18px 18px; display:grid; gap:14px; }
.pc-section { display:grid; gap:8px; }
.pc-label {
    font-size:12px;
    font-weight:800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--muted);
}

.pc-links {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.pc-links a {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border-radius:8px;
    border:1px solid var(--border);
    background:#fff;
    color: var(--text);
    text-decoration:none;
    font-size:13px;
}

.pc-links a:hover {
    border-color: var(--border-strong);
}

.pc-additional {
    font-size:13.5px;
    line-height:1.55;
    color: var(--text);
    background: #fff;
    border:1px solid var(--border);
    border-radius:8px;
    padding:12px 12px;
}

@media (max-width: 520px) {
    .peppol-card { width: 92%; }
    .pc-head{ padding:14px; }
    .pc-body{ padding:12px 14px 14px; }
    .pc-flag{ width:48px; height:48px; border-radius:12px; }
    .pc-flag-img{ width:30px; height:30px; }
    .pc-name{ font-size:16px; }
}