.vk-portal {
    max-width: 1100px;
    margin: 60px auto;
    padding: 0 24px;
    background: var(--vk-cream, #f5efe2);
    min-height: 60vh;
}
.vk-portal-card {
    background: #fff;
    border: 1px solid var(--vk-border, #dfd9c8);
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 4px 16px rgba(0,0,0,.04);
}
.vk-portal--login .vk-portal-card {
    max-width: 460px;
    margin: 80px auto;
}
.vk-portal--login form {
    display: flex; flex-direction: column; gap: 12px;
    margin-top: 18px;
}
.vk-portal--login input[type=email] {
    border: 1px solid var(--vk-border, #dfd9c8);
    padding: 12px;
    border-radius: 8px;
    font-size: 15px;
}
.vk-portal-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 28px;
}
.vk-portal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
    margin-top: 28px;
}
.vk-portal--placeholder .vk-portal-card {
    text-align: center;
    color: var(--vk-muted, #5a6260);
    font-style: italic;
}

/* ─── Portal form refinements (used with forms-wizard.css) ─── */
/* type=date/time inputs render native UI uden placeholder-text — pin labelet
   altid op, ellers overlapper det med browserens dato-picker-controls. */
.ef-field input[type="date"] + label,
.ef-field input[type="time"] + label {
    top: -8px;
    font-size: 11px;
    color: var(--vk-dark);
    font-weight: 600;
}
.ef-field input[type="date"],
.ef-field input[type="time"] {
    padding-top: 18px;
    padding-bottom: 6px;
}

/* Portal-screen wrapper bruger handoff page-bg, ingen yderligere container */
.vk-portal--event-form { background: transparent; padding: 0; min-height: 0; max-width: none; margin: 0; }

/* hidden-attr vinder over .info-box{display:flex} (samme specificitet, men HTML-spec siger hidden gælder) */
.info-box[hidden] { display: none !important; }
